59 lines
1.7 KiB
Plaintext
59 lines
1.7 KiB
Plaintext
$appName = File.basename(Dir['../*.xcworkspace'].first, '.*')
|
|
|
|
before_all do |lane, options|
|
|
cocoapods(
|
|
clean: true,
|
|
repo_update: true
|
|
)
|
|
|
|
set_info_plist_value(
|
|
path: "./#{$appName}/Info.plist",
|
|
key: "CFBundleVersion",
|
|
value: options[:buildNumber] || 10000
|
|
)
|
|
end
|
|
|
|
after_all do |lane, options|
|
|
if options[:uploadToFabric]
|
|
token = sh("cat ../#{$appName}.xcodeproj/project.pbxproj | grep 'Fabric/run' | awk '{print $4}' | tr -d '\n'")
|
|
secret = sh("cat ../#{$appName}.xcodeproj/project.pbxproj | grep 'Fabric/run' | awk '{print $5}' | sed 's/..$//' | tr -d '\n'")
|
|
releaseNotesFile = "release-notes.txt"
|
|
sh("touch ../#{releaseNotesFile}")
|
|
|
|
crashlytics(
|
|
ipa_path: "./#{$appName}.ipa",
|
|
crashlytics_path: "./Pods/Crashlytics/",
|
|
api_token: token,
|
|
build_secret: secret,
|
|
notes_path: releaseNotesFile,
|
|
groups: "touch-instinct"
|
|
)
|
|
|
|
upload_symbols_to_crashlytics(
|
|
dsym_path: "./#{$appName}.app.dSYM.zip",
|
|
api_token: token
|
|
)
|
|
end
|
|
end
|
|
|
|
private_lane :buildConfiguration do |options|
|
|
configuration = lane_context[SharedValues::LANE_NAME]
|
|
method = configuration.start_with?("Enterprise") ? "enterprise" : "development"
|
|
uploadToFabric = options[:uploadToFabric]
|
|
icloudEnvironment = options[:iCloudContainerEnvironment] || ""
|
|
exportOptions = icloudEnvironment.to_s.empty? ? {} : {iCloudContainerEnvironment: icloudEnvironment}
|
|
|
|
gym(
|
|
clean: true,
|
|
scheme: $appName,
|
|
archive_path: "./",
|
|
output_directory: "./",
|
|
output_name: "#{$appName}.ipa",
|
|
configuration: configuration,
|
|
export_method: method,
|
|
export_options: exportOptions,
|
|
skip_package_ipa: !uploadToFabric,
|
|
include_bitcode: false
|
|
)
|
|
end
|