diff --git a/Gemfile b/Gemfile index d36ce1ec0f9..10357856f7c 100644 --- a/Gemfile +++ b/Gemfile @@ -10,6 +10,10 @@ gem "ox", "2.13.2" gem "google-apis-core", "< 0.3.0" gem "google-apis-iamcredentials_v1", "< 0.2.0" gem "google-apis-storage_v1", "< 0.3.0" +gem "google-cloud-core", "< 1.6.0" +gem "google-cloud-env", "< 1.5.0" +gem "google-cloud-errors", "< 1.1.0" +gem "google-cloud-storage", "< 1.31.0" gem "googleauth", "< 0.16.0" gem "signet", "< 0.15.0" diff --git a/Gemfile.lock b/Gemfile.lock index 38a2bf3ac9f..94d2b8c192e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - fastlane (2.178.0) + fastlane (2.179.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.3, < 3.0.0) artifactory (~> 3.0) @@ -50,16 +50,16 @@ GEM ast (2.4.2) atomos (0.1.3) aws-eventstream (1.1.1) - aws-partitions (1.431.1) - aws-sdk-core (3.112.1) + aws-partitions (1.434.0) + aws-sdk-core (3.113.0) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.239.0) aws-sigv4 (~> 1.1) jmespath (~> 1.0) - aws-sdk-kms (1.42.0) + aws-sdk-kms (1.43.0) aws-sdk-core (~> 3, >= 3.112.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.89.0) + aws-sdk-s3 (1.93.0) aws-sdk-core (~> 3, >= 3.112.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.1) @@ -201,7 +201,7 @@ GEM mime-types-data (~> 3.2015) mime-types-data (3.2021.0225) mini_magick (4.11.0) - mini_mime (1.0.2) + mini_mime (1.0.3) multi_json (1.15.0) multipart-post (2.0.0) mustermann (1.1.1) @@ -367,6 +367,10 @@ DEPENDENCIES google-apis-core (< 0.3.0) google-apis-iamcredentials_v1 (< 0.2.0) google-apis-storage_v1 (< 0.3.0) + google-cloud-core (< 1.6.0) + google-cloud-env (< 1.5.0) + google-cloud-errors (< 1.1.0) + google-cloud-storage (< 1.31.0) googleauth (< 0.16.0) ox (= 2.13.2) pry diff --git a/README.md b/README.md index b47432b44c9..1b536679223 100644 --- a/README.md +++ b/README.md @@ -35,49 +35,43 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/ - - - - - - - + + + + - - + - - - - - - - - - - + +
- - - -

Kohki Miki

-

Joshua Liebowitz

- - - -

Jimmy Dee

-
- - - -

Jan Piotrowski

-
- - + + + -

Jérôme Lacoste

+

Manu Wallner

Josh Holtz

- - + + + -

Danielle Tomlinson

+

Stefan Natchev

+
+ + + +

Satoshi Namai

+
+ + + +

Jérôme Lacoste

@@ -85,31 +79,37 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/

Matthew Ellis

- - + + + -

Max Ott

+

Aaron Brager

- - + + + -

Manu Wallner

+

Iulian Onofrei

+
+ + + +

Jimmy Dee

- - + + + -

Luka Mirosevic

+

Jan Piotrowski

- - + + + -

Stefan Natchev

+

Helmut Januschka

@@ -117,43 +117,43 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/

Maksym Grebenets

- - + + + -

Felix Krause

+

Danielle Tomlinson

- - + + + -

Helmut Januschka

+

Fumiya Nakamura

- - + + + -

Aaron Brager

+

Jorge Revuelta H

- - + + + -

Andrew McBurney

+

Felix Krause

- - + + + -

Iulian Onofrei

+

Roger Oba

- - + + + -

Jorge Revuelta H

+

Daniel Jankowski

@@ -163,17 +163,29 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
- - + + + -

Daniel Jankowski

+

Kohki Miki

- - + + + -

Fumiya Nakamura

+

Max Ott

+
+ + + +

Luka Mirosevic

+
+ + + +

Andrew McBurney

diff --git a/fastlane.gemspec b/fastlane.gemspec index 0316ad760c0..9fb44e8977b 100644 --- a/fastlane.gemspec +++ b/fastlane.gemspec @@ -15,28 +15,30 @@ Gem::Specification.new do |spec| spec.name = "fastlane" spec.version = Fastlane::VERSION # list of authors is regenerated and resorted on each release - spec.authors = ["Joshua Liebowitz", - "Jorge Revuelta H", - "Iulian Onofrei", - "Kohki Miki", - "Fumiya Nakamura", + spec.authors = ["Luka Mirosevic", + "Max Ott", + "Joshua Liebowitz", + "Jérôme Lacoste", "Manu Wallner", "Stefan Natchev", - "Olivier Halligon", + "Andrew McBurney", + "Roger Oba", "Daniel Jankowski", + "Satoshi Namai", + "Jimmy Dee", + "Kohki Miki", + "Iulian Onofrei", + "Fumiya Nakamura", + "Josh Holtz", "Helmut Januschka", - "Jan Piotrowski", "Felix Krause", - "Jimmy Dee", - "Maksym Grebenets", - "Andrew McBurney", - "Max Ott", - "Matthew Ellis", + "Jan Piotrowski", "Aaron Brager", - "Jérôme Lacoste", - "Luka Mirosevic", + "Maksym Grebenets", + "Jorge Revuelta H", "Danielle Tomlinson", - "Josh Holtz"] + "Matthew Ellis", + "Olivier Halligon"] spec.email = ["fastlane@krausefx.com"] spec.summary = Fastlane::DESCRIPTION diff --git a/fastlane/lib/fastlane/version.rb b/fastlane/lib/fastlane/version.rb index 225970ecdec..d9489f61d6a 100644 --- a/fastlane/lib/fastlane/version.rb +++ b/fastlane/lib/fastlane/version.rb @@ -1,5 +1,5 @@ module Fastlane - VERSION = '2.178.0'.freeze + VERSION = '2.179.0'.freeze DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze MINIMUM_XCODE_RELEASE = "7.0".freeze RUBOCOP_REQUIREMENT = '0.49.1'.freeze diff --git a/fastlane/swift/Deliverfile.swift b/fastlane/swift/Deliverfile.swift index a2d668a511b..bf97c58327c 100644 --- a/fastlane/swift/Deliverfile.swift +++ b/fastlane/swift/Deliverfile.swift @@ -17,4 +17,4 @@ public class Deliverfile: DeliverfileProtocol { // during the `init` process, and you won't see this message } -// Generated with fastlane 2.178.0 +// Generated with fastlane 2.179.0 diff --git a/fastlane/swift/DeliverfileProtocol.swift b/fastlane/swift/DeliverfileProtocol.swift index 5641cde0582..002bdf45db4 100644 --- a/fastlane/swift/DeliverfileProtocol.swift +++ b/fastlane/swift/DeliverfileProtocol.swift @@ -9,7 +9,7 @@ public protocol DeliverfileProtocol: class { var apiKey: [String: Any]? { get } /// Your Apple ID Username - var username: String { get } + var username: String? { get } /// The bundle identifier of your app var appIdentifier: String? { get } @@ -192,7 +192,7 @@ public protocol DeliverfileProtocol: class { public extension DeliverfileProtocol { var apiKeyPath: String? { return nil } var apiKey: [String: Any]? { return nil } - var username: String { return "" } + var username: String? { return nil } var appIdentifier: String? { return nil } var appVersion: String? { return nil } var ipa: String? { return nil } @@ -256,4 +256,4 @@ public extension DeliverfileProtocol { // Please don't remove the lines below // They are used to detect outdated files -// FastlaneRunnerAPIVersion [0.9.61] +// FastlaneRunnerAPIVersion [0.9.62] diff --git a/fastlane/swift/Fastlane.swift b/fastlane/swift/Fastlane.swift index 361661ec795..ad2185be4ea 100644 --- a/fastlane/swift/Fastlane.swift +++ b/fastlane/swift/Fastlane.swift @@ -119,7 +119,7 @@ public func appStoreBuildNumber(apiKeyPath: String? = nil, apiKey: [String: Any]? = nil, initialBuildNumber: Any, appIdentifier: String, - username: String, + username: String? = nil, teamId: Any? = nil, live: Bool = true, version: String? = nil, @@ -552,7 +552,7 @@ public func appledoc(input: Any, */ public func appstore(apiKeyPath: String? = nil, apiKey: [String: Any]? = nil, - username: String, + username: String? = nil, appIdentifier: String? = nil, appVersion: String? = nil, ipa: String? = nil, @@ -1006,53 +1006,53 @@ public func buildAndroidApp(task: String? = nil, More information: https://fastlane.tools/gym */ -public func buildApp(workspace: String? = nil, - project: String? = nil, - scheme: String? = nil, - clean: Bool = false, - outputDirectory: String = ".", - outputName: String? = nil, - configuration: String? = nil, - silent: Bool = false, - codesigningIdentity: String? = nil, - skipPackageIpa: Bool = false, - skipPackagePkg: Bool = false, - includeSymbols: Bool? = nil, - includeBitcode: Bool? = nil, - exportMethod: String? = nil, - exportOptions: [String: Any]? = nil, - exportXcargs: String? = nil, - skipBuildArchive: Bool? = nil, - skipArchive: Bool? = nil, - skipCodesigning: Bool? = nil, - catalystPlatform: String? = nil, - installerCertName: String? = nil, - buildPath: String? = nil, - archivePath: String? = nil, - derivedDataPath: String? = nil, - resultBundle: Bool = false, - resultBundlePath: String? = nil, - buildlogPath: String = "~/Library/Logs/gym", - sdk: String? = nil, - toolchain: String? = nil, - destination: String? = nil, - exportTeamId: String? = nil, - xcargs: String? = nil, - xcconfig: String? = nil, - suppressXcodeOutput: Bool? = nil, - disableXcpretty: Bool? = nil, - xcprettyTestFormat: Bool? = nil, - xcprettyFormatter: String? = nil, - xcprettyReportJunit: String? = nil, - xcprettyReportHtml: String? = nil, - xcprettyReportJson: String? = nil, - analyzeBuildTime: Bool? = nil, - xcprettyUtf: Bool? = nil, - skipProfileDetection: Bool = false, - clonedSourcePackagesPath: String? = nil, - skipPackageDependenciesResolution: Bool = false, - disablePackageAutomaticUpdates: Bool = false, - useSystemScm: Bool = false) +@discardableResult public func buildApp(workspace: String? = nil, + project: String? = nil, + scheme: String? = nil, + clean: Bool = false, + outputDirectory: String = ".", + outputName: String? = nil, + configuration: String? = nil, + silent: Bool = false, + codesigningIdentity: String? = nil, + skipPackageIpa: Bool = false, + skipPackagePkg: Bool = false, + includeSymbols: Bool? = nil, + includeBitcode: Bool? = nil, + exportMethod: String? = nil, + exportOptions: [String: Any]? = nil, + exportXcargs: String? = nil, + skipBuildArchive: Bool? = nil, + skipArchive: Bool? = nil, + skipCodesigning: Bool? = nil, + catalystPlatform: String? = nil, + installerCertName: String? = nil, + buildPath: String? = nil, + archivePath: String? = nil, + derivedDataPath: String? = nil, + resultBundle: Bool = false, + resultBundlePath: String? = nil, + buildlogPath: String = "~/Library/Logs/gym", + sdk: String? = nil, + toolchain: String? = nil, + destination: String? = nil, + exportTeamId: String? = nil, + xcargs: String? = nil, + xcconfig: String? = nil, + suppressXcodeOutput: Bool? = nil, + disableXcpretty: Bool? = nil, + xcprettyTestFormat: Bool? = nil, + xcprettyFormatter: String? = nil, + xcprettyReportJunit: String? = nil, + xcprettyReportHtml: String? = nil, + xcprettyReportJson: String? = nil, + analyzeBuildTime: Bool? = nil, + xcprettyUtf: Bool? = nil, + skipProfileDetection: Bool = false, + clonedSourcePackagesPath: String? = nil, + skipPackageDependenciesResolution: Bool = false, + disablePackageAutomaticUpdates: Bool = false, + useSystemScm: Bool = false) -> String { let command = RubyCommand(commandID: "", methodName: "build_app", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace), RubyCommand.Argument(name: "project", value: project), @@ -1101,7 +1101,7 @@ public func buildApp(workspace: String? = nil, RubyCommand.Argument(name: "skip_package_dependencies_resolution", value: skipPackageDependenciesResolution), RubyCommand.Argument(name: "disable_package_automatic_updates", value: disablePackageAutomaticUpdates), RubyCommand.Argument(name: "use_system_scm", value: useSystemScm)]) - _ = runner.executeCommand(command) + return runner.executeCommand(command) } /** @@ -1157,50 +1157,50 @@ public func buildApp(workspace: String? = nil, More information: https://fastlane.tools/gym */ -public func buildIosApp(workspace: String? = nil, - project: String? = nil, - scheme: String? = nil, - clean: Bool = false, - outputDirectory: String = ".", - outputName: String? = nil, - configuration: String? = nil, - silent: Bool = false, - codesigningIdentity: String? = nil, - skipPackageIpa: Bool = false, - includeSymbols: Bool? = nil, - includeBitcode: Bool? = nil, - exportMethod: String? = nil, - exportOptions: [String: Any]? = nil, - exportXcargs: String? = nil, - skipBuildArchive: Bool? = nil, - skipArchive: Bool? = nil, - skipCodesigning: Bool? = nil, - buildPath: String? = nil, - archivePath: String? = nil, - derivedDataPath: String? = nil, - resultBundle: Bool = false, - resultBundlePath: String? = nil, - buildlogPath: String = "~/Library/Logs/gym", - sdk: String? = nil, - toolchain: String? = nil, - destination: String? = nil, - exportTeamId: String? = nil, - xcargs: String? = nil, - xcconfig: String? = nil, - suppressXcodeOutput: Bool? = nil, - disableXcpretty: Bool? = nil, - xcprettyTestFormat: Bool? = nil, - xcprettyFormatter: String? = nil, - xcprettyReportJunit: String? = nil, - xcprettyReportHtml: String? = nil, - xcprettyReportJson: String? = nil, - analyzeBuildTime: Bool? = nil, - xcprettyUtf: Bool? = nil, - skipProfileDetection: Bool = false, - clonedSourcePackagesPath: String? = nil, - skipPackageDependenciesResolution: Bool = false, - disablePackageAutomaticUpdates: Bool = false, - useSystemScm: Bool = false) +@discardableResult public func buildIosApp(workspace: String? = nil, + project: String? = nil, + scheme: String? = nil, + clean: Bool = false, + outputDirectory: String = ".", + outputName: String? = nil, + configuration: String? = nil, + silent: Bool = false, + codesigningIdentity: String? = nil, + skipPackageIpa: Bool = false, + includeSymbols: Bool? = nil, + includeBitcode: Bool? = nil, + exportMethod: String? = nil, + exportOptions: [String: Any]? = nil, + exportXcargs: String? = nil, + skipBuildArchive: Bool? = nil, + skipArchive: Bool? = nil, + skipCodesigning: Bool? = nil, + buildPath: String? = nil, + archivePath: String? = nil, + derivedDataPath: String? = nil, + resultBundle: Bool = false, + resultBundlePath: String? = nil, + buildlogPath: String = "~/Library/Logs/gym", + sdk: String? = nil, + toolchain: String? = nil, + destination: String? = nil, + exportTeamId: String? = nil, + xcargs: String? = nil, + xcconfig: String? = nil, + suppressXcodeOutput: Bool? = nil, + disableXcpretty: Bool? = nil, + xcprettyTestFormat: Bool? = nil, + xcprettyFormatter: String? = nil, + xcprettyReportJunit: String? = nil, + xcprettyReportHtml: String? = nil, + xcprettyReportJson: String? = nil, + analyzeBuildTime: Bool? = nil, + xcprettyUtf: Bool? = nil, + skipProfileDetection: Bool = false, + clonedSourcePackagesPath: String? = nil, + skipPackageDependenciesResolution: Bool = false, + disablePackageAutomaticUpdates: Bool = false, + useSystemScm: Bool = false) -> String { let command = RubyCommand(commandID: "", methodName: "build_ios_app", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace), RubyCommand.Argument(name: "project", value: project), @@ -1246,7 +1246,7 @@ public func buildIosApp(workspace: String? = nil, RubyCommand.Argument(name: "skip_package_dependencies_resolution", value: skipPackageDependenciesResolution), RubyCommand.Argument(name: "disable_package_automatic_updates", value: disablePackageAutomaticUpdates), RubyCommand.Argument(name: "use_system_scm", value: useSystemScm)]) - _ = runner.executeCommand(command) + return runner.executeCommand(command) } /** @@ -1303,51 +1303,51 @@ public func buildIosApp(workspace: String? = nil, More information: https://fastlane.tools/gym */ -public func buildMacApp(workspace: String? = nil, - project: String? = nil, - scheme: String? = nil, - clean: Bool = false, - outputDirectory: String = ".", - outputName: String? = nil, - configuration: String? = nil, - silent: Bool = false, - codesigningIdentity: String? = nil, - skipPackagePkg: Bool = false, - includeSymbols: Bool? = nil, - includeBitcode: Bool? = nil, - exportMethod: String? = nil, - exportOptions: [String: Any]? = nil, - exportXcargs: String? = nil, - skipBuildArchive: Bool? = nil, - skipArchive: Bool? = nil, - skipCodesigning: Bool? = nil, - installerCertName: String? = nil, - buildPath: String? = nil, - archivePath: String? = nil, - derivedDataPath: String? = nil, - resultBundle: Bool = false, - resultBundlePath: String? = nil, - buildlogPath: String = "~/Library/Logs/gym", - sdk: String? = nil, - toolchain: String? = nil, - destination: String? = nil, - exportTeamId: String? = nil, - xcargs: String? = nil, - xcconfig: String? = nil, - suppressXcodeOutput: Bool? = nil, - disableXcpretty: Bool? = nil, - xcprettyTestFormat: Bool? = nil, - xcprettyFormatter: String? = nil, - xcprettyReportJunit: String? = nil, - xcprettyReportHtml: String? = nil, - xcprettyReportJson: String? = nil, - analyzeBuildTime: Bool? = nil, - xcprettyUtf: Bool? = nil, - skipProfileDetection: Bool = false, - clonedSourcePackagesPath: String? = nil, - skipPackageDependenciesResolution: Bool = false, - disablePackageAutomaticUpdates: Bool = false, - useSystemScm: Bool = false) +@discardableResult public func buildMacApp(workspace: String? = nil, + project: String? = nil, + scheme: String? = nil, + clean: Bool = false, + outputDirectory: String = ".", + outputName: String? = nil, + configuration: String? = nil, + silent: Bool = false, + codesigningIdentity: String? = nil, + skipPackagePkg: Bool = false, + includeSymbols: Bool? = nil, + includeBitcode: Bool? = nil, + exportMethod: String? = nil, + exportOptions: [String: Any]? = nil, + exportXcargs: String? = nil, + skipBuildArchive: Bool? = nil, + skipArchive: Bool? = nil, + skipCodesigning: Bool? = nil, + installerCertName: String? = nil, + buildPath: String? = nil, + archivePath: String? = nil, + derivedDataPath: String? = nil, + resultBundle: Bool = false, + resultBundlePath: String? = nil, + buildlogPath: String = "~/Library/Logs/gym", + sdk: String? = nil, + toolchain: String? = nil, + destination: String? = nil, + exportTeamId: String? = nil, + xcargs: String? = nil, + xcconfig: String? = nil, + suppressXcodeOutput: Bool? = nil, + disableXcpretty: Bool? = nil, + xcprettyTestFormat: Bool? = nil, + xcprettyFormatter: String? = nil, + xcprettyReportJunit: String? = nil, + xcprettyReportHtml: String? = nil, + xcprettyReportJson: String? = nil, + analyzeBuildTime: Bool? = nil, + xcprettyUtf: Bool? = nil, + skipProfileDetection: Bool = false, + clonedSourcePackagesPath: String? = nil, + skipPackageDependenciesResolution: Bool = false, + disablePackageAutomaticUpdates: Bool = false, + useSystemScm: Bool = false) -> String { let command = RubyCommand(commandID: "", methodName: "build_mac_app", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace), RubyCommand.Argument(name: "project", value: project), @@ -1394,7 +1394,7 @@ public func buildMacApp(workspace: String? = nil, RubyCommand.Argument(name: "skip_package_dependencies_resolution", value: skipPackageDependenciesResolution), RubyCommand.Argument(name: "disable_package_automatic_updates", value: disablePackageAutomaticUpdates), RubyCommand.Argument(name: "use_system_scm", value: useSystemScm)]) - _ = runner.executeCommand(command) + return runner.executeCommand(command) } /** @@ -1942,7 +1942,7 @@ public func cert(development: Bool = false, generateAppleCerts: Bool = true, apiKeyPath: String? = nil, apiKey: [String: Any]? = nil, - username: String, + username: String? = nil, teamId: String? = nil, teamName: String? = nil, filename: String? = nil, @@ -2068,26 +2068,26 @@ public func chatwork(apiToken: String, More information: https://fastlane.tools/precheck */ -public func checkAppStoreMetadata(apiKeyPath: String? = nil, - apiKey: [String: Any]? = nil, - appIdentifier: String, - username: String, - teamId: String? = nil, - teamName: String? = nil, - platform: String = "ios", - defaultRuleLevel: Any = "error", - includeInAppPurchases: Bool = true, - useLive: Bool = false, - negativeAppleSentiment: Any? = nil, - placeholderText: Any? = nil, - otherPlatforms: Any? = nil, - futureFunctionality: Any? = nil, - testWords: Any? = nil, - curseWords: Any? = nil, - freeStuffInIap: Any? = nil, - customText: Any? = nil, - copyrightDate: Any? = nil, - unreachableUrls: Any? = nil) +@discardableResult public func checkAppStoreMetadata(apiKeyPath: String? = nil, + apiKey: [String: Any]? = nil, + appIdentifier: String, + username: String? = nil, + teamId: String? = nil, + teamName: String? = nil, + platform: String = "ios", + defaultRuleLevel: Any = "error", + includeInAppPurchases: Bool = true, + useLive: Bool = false, + negativeAppleSentiment: Any? = nil, + placeholderText: Any? = nil, + otherPlatforms: Any? = nil, + futureFunctionality: Any? = nil, + testWords: Any? = nil, + curseWords: Any? = nil, + freeStuffInIap: Any? = nil, + customText: Any? = nil, + copyrightDate: Any? = nil, + unreachableUrls: Any? = nil) -> Bool { let command = RubyCommand(commandID: "", methodName: "check_app_store_metadata", className: nil, args: [RubyCommand.Argument(name: "api_key_path", value: apiKeyPath), RubyCommand.Argument(name: "api_key", value: apiKey), @@ -2109,7 +2109,7 @@ public func checkAppStoreMetadata(apiKeyPath: String? = nil, RubyCommand.Argument(name: "custom_text", value: customText), RubyCommand.Argument(name: "copyright_date", value: copyrightDate), RubyCommand.Argument(name: "unreachable_urls", value: unreachableUrls)]) - _ = runner.executeCommand(command) + return parseBool(fromString: runner.executeCommand(command)) } /** @@ -2780,7 +2780,7 @@ public func deleteKeychain(name: String? = nil, */ public func deliver(apiKeyPath: Any? = deliverfile.apiKeyPath, apiKey: [String: Any]? = deliverfile.apiKey, - username: Any = deliverfile.username, + username: Any? = deliverfile.username, appIdentifier: Any? = deliverfile.appIdentifier, appVersion: Any? = deliverfile.appVersion, ipa: Any? = deliverfile.ipa, @@ -3504,7 +3504,7 @@ public func getCertificates(development: Bool = false, generateAppleCerts: Bool = true, apiKeyPath: String? = nil, apiKey: [String: Any]? = nil, - username: String, + username: String? = nil, teamId: String? = nil, teamName: String? = nil, filename: String? = nil, @@ -3689,29 +3689,29 @@ public func getManagedPlayStorePublishingRights(jsonKey: String? = nil, **Note**: It is recommended to use [match](https://docs.fastlane.tools/actions/match/) according to the [codesigning.guide](https://codesigning.guide) for generating and maintaining your provisioning profiles. Use _sigh_ directly only if you want full control over what's going on and know more about codesigning. */ -public func getProvisioningProfile(adhoc: Bool = false, - developerId: Bool = false, - development: Bool = false, - skipInstall: Bool = false, - force: Bool = false, - appIdentifier: String, - apiKeyPath: String? = nil, - apiKey: [String: Any]? = nil, - username: String, - teamId: String? = nil, - teamName: String? = nil, - provisioningName: String? = nil, - ignoreProfilesWithDifferentName: Bool = false, - outputPath: String = ".", - certId: String? = nil, - certOwnerName: String? = nil, - filename: String? = nil, - skipFetchProfiles: Bool = false, - skipCertificateVerification: Bool = false, - platform: Any = "ios", - readonly: Bool = false, - templateName: String? = nil, - failOnNameTaken: Bool = false) +@discardableResult public func getProvisioningProfile(adhoc: Bool = false, + developerId: Bool = false, + development: Bool = false, + skipInstall: Bool = false, + force: Bool = false, + appIdentifier: String, + apiKeyPath: String? = nil, + apiKey: [String: Any]? = nil, + username: String? = nil, + teamId: String? = nil, + teamName: String? = nil, + provisioningName: String? = nil, + ignoreProfilesWithDifferentName: Bool = false, + outputPath: String = ".", + certId: String? = nil, + certOwnerName: String? = nil, + filename: String? = nil, + skipFetchProfiles: Bool = false, + skipCertificateVerification: Bool = false, + platform: Any = "ios", + readonly: Bool = false, + templateName: String? = nil, + failOnNameTaken: Bool = false) -> String { let command = RubyCommand(commandID: "", methodName: "get_provisioning_profile", className: nil, args: [RubyCommand.Argument(name: "adhoc", value: adhoc), RubyCommand.Argument(name: "developer_id", value: developerId), @@ -3736,7 +3736,7 @@ public func getProvisioningProfile(adhoc: Bool = false, RubyCommand.Argument(name: "readonly", value: readonly), RubyCommand.Argument(name: "template_name", value: templateName), RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken)]) - _ = runner.executeCommand(command) + return runner.executeCommand(command) } /** @@ -3806,7 +3806,7 @@ public func getPushCertificate(development: Bool = false, Get the version number of your project - parameters: - - xcodeproj: Path to the main Xcode project to read version number from, optional. By default will use the first Xcode project found within the project root directory + - xcodeproj: Path to the Xcode project to read version number from, or its containing directory, optional. If ommitted, or if a directory is passed instead, it will use the first Xcode project found within the given directory, or the project root directory if none is passed - target: Target name, optional. Will be needed if you have more than one non-test target to avoid being prompted to select one - configuration: Configuration name, optional. Will be needed if you have altered the configurations from the default or your version number depends on the configuration selected @@ -3843,7 +3843,7 @@ public func gitAdd(path: Any? = nil, /** Returns the name of the current git branch, possibly as managed by CI ENV vars - If no branch could be found, this action will return an empty string + If no branch could be found, this action will return an empty string. This is a wrapper for the internal action Actions.git_branch */ @discardableResult public func gitBranch() -> String { let command = RubyCommand(commandID: "", methodName: "git_branch", className: nil, args: []) @@ -3911,14 +3911,14 @@ public func gitSubmoduleUpdate(recursive: Bool = false, - returns: Boolean value whether the tag exists or not */ -public func gitTagExists(tag: String, - remote: Bool = false, - remoteName: String = "origin") +@discardableResult public func gitTagExists(tag: String, + remote: Bool = false, + remoteName: String = "origin") -> Bool { let command = RubyCommand(commandID: "", methodName: "git_tag_exists", className: nil, args: [RubyCommand.Argument(name: "tag", value: tag), RubyCommand.Argument(name: "remote", value: remote), RubyCommand.Argument(name: "remote_name", value: remoteName)]) - _ = runner.executeCommand(command) + return parseBool(fromString: runner.executeCommand(command)) } /** @@ -4148,53 +4148,53 @@ public func gradle(task: String? = nil, More information: https://fastlane.tools/gym */ -public func gym(workspace: Any? = gymfile.workspace, - project: Any? = gymfile.project, - scheme: Any? = gymfile.scheme, - clean: Bool = gymfile.clean, - outputDirectory: Any = gymfile.outputDirectory, - outputName: Any? = gymfile.outputName, - configuration: Any? = gymfile.configuration, - silent: Bool = gymfile.silent, - codesigningIdentity: Any? = gymfile.codesigningIdentity, - skipPackageIpa: Bool = gymfile.skipPackageIpa, - skipPackagePkg: Bool = gymfile.skipPackagePkg, - includeSymbols: Bool? = gymfile.includeSymbols, - includeBitcode: Bool? = gymfile.includeBitcode, - exportMethod: Any? = gymfile.exportMethod, - exportOptions: [String: Any]? = gymfile.exportOptions, - exportXcargs: Any? = gymfile.exportXcargs, - skipBuildArchive: Bool? = gymfile.skipBuildArchive, - skipArchive: Bool? = gymfile.skipArchive, - skipCodesigning: Bool? = gymfile.skipCodesigning, - catalystPlatform: Any? = gymfile.catalystPlatform, - installerCertName: Any? = gymfile.installerCertName, - buildPath: Any? = gymfile.buildPath, - archivePath: Any? = gymfile.archivePath, - derivedDataPath: Any? = gymfile.derivedDataPath, - resultBundle: Bool = gymfile.resultBundle, - resultBundlePath: Any? = gymfile.resultBundlePath, - buildlogPath: Any = gymfile.buildlogPath, - sdk: Any? = gymfile.sdk, - toolchain: Any? = gymfile.toolchain, - destination: Any? = gymfile.destination, - exportTeamId: Any? = gymfile.exportTeamId, - xcargs: Any? = gymfile.xcargs, - xcconfig: Any? = gymfile.xcconfig, - suppressXcodeOutput: Bool? = gymfile.suppressXcodeOutput, - disableXcpretty: Bool? = gymfile.disableXcpretty, - xcprettyTestFormat: Bool? = gymfile.xcprettyTestFormat, - xcprettyFormatter: Any? = gymfile.xcprettyFormatter, - xcprettyReportJunit: Any? = gymfile.xcprettyReportJunit, - xcprettyReportHtml: Any? = gymfile.xcprettyReportHtml, - xcprettyReportJson: Any? = gymfile.xcprettyReportJson, - analyzeBuildTime: Bool? = gymfile.analyzeBuildTime, - xcprettyUtf: Bool? = gymfile.xcprettyUtf, - skipProfileDetection: Bool = gymfile.skipProfileDetection, - clonedSourcePackagesPath: Any? = gymfile.clonedSourcePackagesPath, - skipPackageDependenciesResolution: Bool = gymfile.skipPackageDependenciesResolution, - disablePackageAutomaticUpdates: Bool = gymfile.disablePackageAutomaticUpdates, - useSystemScm: Bool = gymfile.useSystemScm) +@discardableResult public func gym(workspace: Any? = gymfile.workspace, + project: Any? = gymfile.project, + scheme: Any? = gymfile.scheme, + clean: Bool = gymfile.clean, + outputDirectory: Any = gymfile.outputDirectory, + outputName: Any? = gymfile.outputName, + configuration: Any? = gymfile.configuration, + silent: Bool = gymfile.silent, + codesigningIdentity: Any? = gymfile.codesigningIdentity, + skipPackageIpa: Bool = gymfile.skipPackageIpa, + skipPackagePkg: Bool = gymfile.skipPackagePkg, + includeSymbols: Bool? = gymfile.includeSymbols, + includeBitcode: Bool? = gymfile.includeBitcode, + exportMethod: Any? = gymfile.exportMethod, + exportOptions: [String: Any]? = gymfile.exportOptions, + exportXcargs: Any? = gymfile.exportXcargs, + skipBuildArchive: Bool? = gymfile.skipBuildArchive, + skipArchive: Bool? = gymfile.skipArchive, + skipCodesigning: Bool? = gymfile.skipCodesigning, + catalystPlatform: Any? = gymfile.catalystPlatform, + installerCertName: Any? = gymfile.installerCertName, + buildPath: Any? = gymfile.buildPath, + archivePath: Any? = gymfile.archivePath, + derivedDataPath: Any? = gymfile.derivedDataPath, + resultBundle: Bool = gymfile.resultBundle, + resultBundlePath: Any? = gymfile.resultBundlePath, + buildlogPath: Any = gymfile.buildlogPath, + sdk: Any? = gymfile.sdk, + toolchain: Any? = gymfile.toolchain, + destination: Any? = gymfile.destination, + exportTeamId: Any? = gymfile.exportTeamId, + xcargs: Any? = gymfile.xcargs, + xcconfig: Any? = gymfile.xcconfig, + suppressXcodeOutput: Bool? = gymfile.suppressXcodeOutput, + disableXcpretty: Bool? = gymfile.disableXcpretty, + xcprettyTestFormat: Bool? = gymfile.xcprettyTestFormat, + xcprettyFormatter: Any? = gymfile.xcprettyFormatter, + xcprettyReportJunit: Any? = gymfile.xcprettyReportJunit, + xcprettyReportHtml: Any? = gymfile.xcprettyReportHtml, + xcprettyReportJson: Any? = gymfile.xcprettyReportJson, + analyzeBuildTime: Bool? = gymfile.analyzeBuildTime, + xcprettyUtf: Bool? = gymfile.xcprettyUtf, + skipProfileDetection: Bool = gymfile.skipProfileDetection, + clonedSourcePackagesPath: Any? = gymfile.clonedSourcePackagesPath, + skipPackageDependenciesResolution: Bool = gymfile.skipPackageDependenciesResolution, + disablePackageAutomaticUpdates: Bool = gymfile.disablePackageAutomaticUpdates, + useSystemScm: Bool = gymfile.useSystemScm) -> String { let command = RubyCommand(commandID: "", methodName: "gym", className: nil, args: [RubyCommand.Argument(name: "workspace", value: workspace), RubyCommand.Argument(name: "project", value: project), @@ -4243,7 +4243,7 @@ public func gym(workspace: Any? = gymfile.workspace, RubyCommand.Argument(name: "skip_package_dependencies_resolution", value: skipPackageDependenciesResolution), RubyCommand.Argument(name: "disable_package_automatic_updates", value: disablePackageAutomaticUpdates), RubyCommand.Argument(name: "use_system_scm", value: useSystemScm)]) - _ = runner.executeCommand(command) + return runner.executeCommand(command) } /** @@ -4587,9 +4587,9 @@ public func installOnDevice(extra: String? = nil, Install provisioning profile from path for current user */ -public func installProvisioningProfile(path: String) { +@discardableResult public func installProvisioningProfile(path: String) -> String { let command = RubyCommand(commandID: "", methodName: "install_provisioning_profile", className: nil, args: [RubyCommand.Argument(name: "path", value: path)]) - _ = runner.executeCommand(command) + return runner.executeCommand(command) } /** @@ -4789,7 +4789,7 @@ public func jira(url: String, apiKey: [String: Any]? = nil, live: Bool = false, appIdentifier: String, - username: String, + username: String? = nil, version: String? = nil, platform: String = "ios", initialBuildNumber: Int = 1, @@ -5047,6 +5047,153 @@ public func match(type: Any = matchfile.type, _ = runner.executeCommand(command) } +/** + Easily nuke your certificate and provisioning profiles (via _match_) + + - parameters: + - type: Define the profile type, can be appstore, adhoc, development, enterprise, developer_id, mac_installer_distribution + - additionalCertTypes: Create additional cert types needed for macOS installers (valid values: mac_installer_distribution, developer_id_installer) + - readonly: Only fetch existing certificates and profiles, don't generate new ones + - generateAppleCerts: Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution) + - skipProvisioningProfiles: Skip syncing provisioning profiles + - appIdentifier: The bundle identifier(s) of your app (comma-separated string or array of strings) + - apiKeyPath: Path to your App Store Connect API Key JSON file (https://docs.fastlane.tools/app-store-connect-api/#using-fastlane-api-key-json-file) + - apiKey: Your App Store Connect API Key information (https://docs.fastlane.tools/app-store-connect-api/#use-return-value-and-pass-in-as-an-option) + - username: Your Apple ID Username + - teamId: The ID of your Developer Portal team if you're in multiple teams + - teamName: The name of your Developer Portal team if you're in multiple teams + - storageMode: Define where you want to store your certificates + - gitUrl: URL to the git repo containing all the certificates + - gitBranch: Specific git branch to use + - gitFullName: git user full name to commit + - gitUserEmail: git user email to commit + - shallowClone: Make a shallow clone of the repository (truncate the history to 1 revision) + - cloneBranchDirectly: Clone just the branch specified, instead of the whole repo. This requires that the branch already exists. Otherwise the command will fail + - gitBasicAuthorization: Use a basic authorization header to access the git repo (e.g.: access via HTTPS, GitHub Actions, etc), usually a string in Base64 + - gitBearerAuthorization: Use a bearer authorization header to access the git repo (e.g.: access to an Azure DevOps repository), usually a string in Base64 + - gitPrivateKey: Use a private key to access the git repo (e.g.: access to GitHub repository via Deploy keys), usually a id_rsa named file or the contents hereof + - googleCloudBucketName: Name of the Google Cloud Storage bucket to use + - googleCloudKeysFile: Path to the gc_keys.json file + - googleCloudProjectId: ID of the Google Cloud project to use for authentication + - s3Region: Name of the S3 region + - s3AccessKey: S3 access key + - s3SecretAccessKey: S3 secret access key + - s3Bucket: Name of the S3 bucket + - s3ObjectPrefix: Prefix to be used on all objects uploaded to S3 + - keychainName: Keychain the items should be imported to + - keychainPassword: This might be required the first time you access certificates on a new mac. For the login/default keychain this is your macOS account password + - force: Renew the provisioning profiles every time you run match + - forceForNewDevices: Renew the provisioning profiles if the device count on the developer portal has changed. Ignored for profile type 'appstore' + - skipConfirmation: Disables confirmation prompts during nuke, answering them with yes + - skipDocs: Skip generation of a README.md for the created git repository + - platform: Set the provisioning profile's platform to work with (i.e. ios, tvos, macos, catalyst) + - deriveCatalystAppIdentifier: Enable this if you have the Mac Catalyst capability enabled and your project was created with Xcode 11.3 or earlier. Prepends 'maccatalyst.' to the app identifier for the provisioning profile mapping + - templateName: The name of provisioning profile template. If the developer account has provisioning profile templates (aka: custom entitlements), the template name can be found by inspecting the Entitlements drop-down while creating/editing a provisioning profile (e.g. "Apple Pay Pass Suppression Development") + - profileName: A custom name for the provisioning profile. This will replace the default provisioning profile name if specified + - failOnNameTaken: Should the command fail if it was about to create a duplicate of an existing provisioning profile. It can happen due to issues on Apple Developer Portal, when profile to be recreated was not properly deleted first + - skipCertificateMatching: Set to true if there is no access to Apple developer portal but there are certificates, keys and profiles provided. Only works with match import action + - outputPath: Path in which to export certificates, key and profile + - skipSetPartitionList: Skips setting the partition list (which can sometimes take a long time). Setting the partition list is usually needed to prevent Xcode from prompting to allow a cert to be used for signing + - verbose: Print out extra information and all commands + + Use the match_nuke action to revoke your certificates and provisioning profiles. + Don't worry, apps that are already available in the App Store / TestFlight will still work. + Builds distributed via Ad Hoc or Enterprise will be disabled after nuking your account, so you'll have to re-upload a new build. + After clearing your account you'll start from a clean state, and you can run match to generate your certificates and profiles again. + More information: https://docs.fastlane.tools/actions/match/ + */ +public func matchNuke(type: String = "development", + additionalCertTypes: [String]? = nil, + readonly: Bool = false, + generateAppleCerts: Bool = true, + skipProvisioningProfiles: Bool = false, + appIdentifier: [String], + apiKeyPath: String? = nil, + apiKey: [String: Any]? = nil, + username: String? = nil, + teamId: String? = nil, + teamName: String? = nil, + storageMode: String = "git", + gitUrl: String, + gitBranch: String = "master", + gitFullName: String? = nil, + gitUserEmail: String? = nil, + shallowClone: Bool = false, + cloneBranchDirectly: Bool = false, + gitBasicAuthorization: String? = nil, + gitBearerAuthorization: String? = nil, + gitPrivateKey: String? = nil, + googleCloudBucketName: String? = nil, + googleCloudKeysFile: String? = nil, + googleCloudProjectId: String? = nil, + s3Region: String? = nil, + s3AccessKey: String? = nil, + s3SecretAccessKey: String? = nil, + s3Bucket: String? = nil, + s3ObjectPrefix: String? = nil, + keychainName: String = "login.keychain", + keychainPassword: String? = nil, + force: Bool = false, + forceForNewDevices: Bool = false, + skipConfirmation: Bool = false, + skipDocs: Bool = false, + platform: String = "ios", + deriveCatalystAppIdentifier: Bool = false, + templateName: String? = nil, + profileName: String? = nil, + failOnNameTaken: Bool = false, + skipCertificateMatching: Bool = false, + outputPath: String? = nil, + skipSetPartitionList: Bool = false, + verbose: Bool = false) +{ + let command = RubyCommand(commandID: "", methodName: "match_nuke", className: nil, args: [RubyCommand.Argument(name: "type", value: type), + RubyCommand.Argument(name: "additional_cert_types", value: additionalCertTypes), + RubyCommand.Argument(name: "readonly", value: readonly), + RubyCommand.Argument(name: "generate_apple_certs", value: generateAppleCerts), + RubyCommand.Argument(name: "skip_provisioning_profiles", value: skipProvisioningProfiles), + RubyCommand.Argument(name: "app_identifier", value: appIdentifier), + RubyCommand.Argument(name: "api_key_path", value: apiKeyPath), + RubyCommand.Argument(name: "api_key", value: apiKey), + RubyCommand.Argument(name: "username", value: username), + RubyCommand.Argument(name: "team_id", value: teamId), + RubyCommand.Argument(name: "team_name", value: teamName), + RubyCommand.Argument(name: "storage_mode", value: storageMode), + RubyCommand.Argument(name: "git_url", value: gitUrl), + RubyCommand.Argument(name: "git_branch", value: gitBranch), + RubyCommand.Argument(name: "git_full_name", value: gitFullName), + RubyCommand.Argument(name: "git_user_email", value: gitUserEmail), + RubyCommand.Argument(name: "shallow_clone", value: shallowClone), + RubyCommand.Argument(name: "clone_branch_directly", value: cloneBranchDirectly), + RubyCommand.Argument(name: "git_basic_authorization", value: gitBasicAuthorization), + RubyCommand.Argument(name: "git_bearer_authorization", value: gitBearerAuthorization), + RubyCommand.Argument(name: "git_private_key", value: gitPrivateKey), + RubyCommand.Argument(name: "google_cloud_bucket_name", value: googleCloudBucketName), + RubyCommand.Argument(name: "google_cloud_keys_file", value: googleCloudKeysFile), + RubyCommand.Argument(name: "google_cloud_project_id", value: googleCloudProjectId), + RubyCommand.Argument(name: "s3_region", value: s3Region), + RubyCommand.Argument(name: "s3_access_key", value: s3AccessKey), + RubyCommand.Argument(name: "s3_secret_access_key", value: s3SecretAccessKey), + RubyCommand.Argument(name: "s3_bucket", value: s3Bucket), + RubyCommand.Argument(name: "s3_object_prefix", value: s3ObjectPrefix), + RubyCommand.Argument(name: "keychain_name", value: keychainName), + RubyCommand.Argument(name: "keychain_password", value: keychainPassword), + RubyCommand.Argument(name: "force", value: force), + RubyCommand.Argument(name: "force_for_new_devices", value: forceForNewDevices), + RubyCommand.Argument(name: "skip_confirmation", value: skipConfirmation), + RubyCommand.Argument(name: "skip_docs", value: skipDocs), + RubyCommand.Argument(name: "platform", value: platform), + RubyCommand.Argument(name: "derive_catalyst_app_identifier", value: deriveCatalystAppIdentifier), + RubyCommand.Argument(name: "template_name", value: templateName), + RubyCommand.Argument(name: "profile_name", value: profileName), + RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken), + RubyCommand.Argument(name: "skip_certificate_matching", value: skipCertificateMatching), + RubyCommand.Argument(name: "output_path", value: outputPath), + RubyCommand.Argument(name: "skip_set_partition_list", value: skipSetPartitionList), + RubyCommand.Argument(name: "verbose", value: verbose)]) + _ = runner.executeCommand(command) +} + /** Verifies the minimum fastlane version required @@ -5469,7 +5616,7 @@ public func pem(development: Bool = false, */ public func pilot(apiKeyPath: String? = nil, apiKey: [String: Any]? = nil, - username: String, + username: String? = nil, appIdentifier: String? = nil, appPlatform: String = "ios", appleId: String? = nil, @@ -5734,17 +5881,17 @@ public func podioItem(clientId: String, More information: https://fastlane.tools/precheck */ -public func precheck(apiKeyPath: Any? = precheckfile.apiKeyPath, - apiKey: [String: Any]? = precheckfile.apiKey, - appIdentifier: Any = precheckfile.appIdentifier, - username: Any = precheckfile.username, - teamId: Any? = precheckfile.teamId, - teamName: Any? = precheckfile.teamName, - platform: Any = precheckfile.platform, - defaultRuleLevel: Any = precheckfile.defaultRuleLevel, - includeInAppPurchases: Bool = precheckfile.includeInAppPurchases, - useLive: Bool = precheckfile.useLive, - freeStuffInIap: Any? = precheckfile.freeStuffInIap) +@discardableResult public func precheck(apiKeyPath: Any? = precheckfile.apiKeyPath, + apiKey: [String: Any]? = precheckfile.apiKey, + appIdentifier: Any = precheckfile.appIdentifier, + username: Any? = precheckfile.username, + teamId: Any? = precheckfile.teamId, + teamName: Any? = precheckfile.teamName, + platform: Any = precheckfile.platform, + defaultRuleLevel: Any = precheckfile.defaultRuleLevel, + includeInAppPurchases: Bool = precheckfile.includeInAppPurchases, + useLive: Bool = precheckfile.useLive, + freeStuffInIap: Any? = precheckfile.freeStuffInIap) -> Bool { let command = RubyCommand(commandID: "", methodName: "precheck", className: nil, args: [RubyCommand.Argument(name: "api_key_path", value: apiKeyPath), RubyCommand.Argument(name: "api_key", value: apiKey), @@ -5757,7 +5904,7 @@ public func precheck(apiKeyPath: Any? = precheckfile.apiKeyPath, RubyCommand.Argument(name: "include_in_app_purchases", value: includeInAppPurchases), RubyCommand.Argument(name: "use_live", value: useLive), RubyCommand.Argument(name: "free_stuff_in_iap", value: freeStuffInIap)]) - _ = runner.executeCommand(command) + return parseBool(fromString: runner.executeCommand(command)) } /** @@ -7127,29 +7274,29 @@ public func setupTravis(force: Bool = false) { **Note**: It is recommended to use [match](https://docs.fastlane.tools/actions/match/) according to the [codesigning.guide](https://codesigning.guide) for generating and maintaining your provisioning profiles. Use _sigh_ directly only if you want full control over what's going on and know more about codesigning. */ -public func sigh(adhoc: Bool = false, - developerId: Bool = false, - development: Bool = false, - skipInstall: Bool = false, - force: Bool = false, - appIdentifier: String, - apiKeyPath: String? = nil, - apiKey: [String: Any]? = nil, - username: String, - teamId: String? = nil, - teamName: String? = nil, - provisioningName: String? = nil, - ignoreProfilesWithDifferentName: Bool = false, - outputPath: String = ".", - certId: String? = nil, - certOwnerName: String? = nil, - filename: String? = nil, - skipFetchProfiles: Bool = false, - skipCertificateVerification: Bool = false, - platform: Any = "ios", - readonly: Bool = false, - templateName: String? = nil, - failOnNameTaken: Bool = false) +@discardableResult public func sigh(adhoc: Bool = false, + developerId: Bool = false, + development: Bool = false, + skipInstall: Bool = false, + force: Bool = false, + appIdentifier: String, + apiKeyPath: String? = nil, + apiKey: [String: Any]? = nil, + username: String? = nil, + teamId: String? = nil, + teamName: String? = nil, + provisioningName: String? = nil, + ignoreProfilesWithDifferentName: Bool = false, + outputPath: String = ".", + certId: String? = nil, + certOwnerName: String? = nil, + filename: String? = nil, + skipFetchProfiles: Bool = false, + skipCertificateVerification: Bool = false, + platform: Any = "ios", + readonly: Bool = false, + templateName: String? = nil, + failOnNameTaken: Bool = false) -> String { let command = RubyCommand(commandID: "", methodName: "sigh", className: nil, args: [RubyCommand.Argument(name: "adhoc", value: adhoc), RubyCommand.Argument(name: "developer_id", value: developerId), @@ -7174,7 +7321,7 @@ public func sigh(adhoc: Bool = false, RubyCommand.Argument(name: "readonly", value: readonly), RubyCommand.Argument(name: "template_name", value: templateName), RubyCommand.Argument(name: "fail_on_name_taken", value: failOnNameTaken)]) - _ = runner.executeCommand(command) + return runner.executeCommand(command) } /** @@ -7605,18 +7752,18 @@ public func sonar(projectConfigurationPath: String? = nil, - returns: The array of Spaceship logs */ -public func spaceshipLogs(latest: Bool = true, - printContents: Bool = false, - printPaths: Bool = false, - copyToPath: String? = nil, - copyToClipboard: Bool = false) +@discardableResult public func spaceshipLogs(latest: Bool = true, + printContents: Bool = false, + printPaths: Bool = false, + copyToPath: String? = nil, + copyToClipboard: Bool = false) -> [String] { let command = RubyCommand(commandID: "", methodName: "spaceship_logs", className: nil, args: [RubyCommand.Argument(name: "latest", value: latest), RubyCommand.Argument(name: "print_contents", value: printContents), RubyCommand.Argument(name: "print_paths", value: printPaths), RubyCommand.Argument(name: "copy_to_path", value: copyToPath), RubyCommand.Argument(name: "copy_to_clipboard", value: copyToClipboard)]) - _ = runner.executeCommand(command) + return parseArray(fromString: runner.executeCommand(command)) } /** @@ -8158,7 +8305,7 @@ public func testfairy(apiKey: String, */ public func testflight(apiKeyPath: String? = nil, apiKey: [String: Any]? = nil, - username: String, + username: String? = nil, appIdentifier: String? = nil, appPlatform: String = "ios", appleId: String? = nil, @@ -8820,7 +8967,7 @@ public func uploadSymbolsToSentry(apiHost: String = "https://app.getsentry.com/a */ public func uploadToAppStore(apiKeyPath: String? = nil, apiKey: [String: Any]? = nil, - username: String, + username: String? = nil, appIdentifier: String? = nil, appVersion: String? = nil, ipa: String? = nil, @@ -9151,7 +9298,7 @@ public func uploadToPlayStoreInternalAppSharing(packageName: String, */ public func uploadToTestflight(apiKeyPath: String? = nil, apiKey: [String: Any]? = nil, - username: String, + username: String? = nil, appIdentifier: String? = nil, appPlatform: String = "ios", appleId: String? = nil, @@ -9512,7 +9659,7 @@ public func xcov(workspace: String? = nil, htmlReport: Bool = true, markdownReport: Bool = false, jsonReport: Bool = false, - minimumCoveragePercentage: Float = 0, + minimumCoveragePercentage: Float = 0.0, slackUrl: String? = nil, slackChannel: String? = nil, skipSlack: Bool = false, @@ -9674,4 +9821,4 @@ public let snapshotfile = Snapshotfile() // Please don't remove the lines below // They are used to detect outdated files -// FastlaneRunnerAPIVersion [0.9.114] +// FastlaneRunnerAPIVersion [0.9.115] diff --git a/fastlane/swift/Gymfile.swift b/fastlane/swift/Gymfile.swift index 4b7ab3fc112..36d21695084 100644 --- a/fastlane/swift/Gymfile.swift +++ b/fastlane/swift/Gymfile.swift @@ -17,4 +17,4 @@ public class Gymfile: GymfileProtocol { // during the `init` process, and you won't see this message } -// Generated with fastlane 2.178.0 +// Generated with fastlane 2.179.0 diff --git a/fastlane/swift/GymfileProtocol.swift b/fastlane/swift/GymfileProtocol.swift index f8cfa7c2a07..f1cd75cf3d5 100644 --- a/fastlane/swift/GymfileProtocol.swift +++ b/fastlane/swift/GymfileProtocol.swift @@ -196,4 +196,4 @@ public extension GymfileProtocol { // Please don't remove the lines below // They are used to detect outdated files -// FastlaneRunnerAPIVersion [0.9.64] +// FastlaneRunnerAPIVersion [0.9.65] diff --git a/fastlane/swift/Matchfile.swift b/fastlane/swift/Matchfile.swift index 105f32733db..dab9e1b7d06 100644 --- a/fastlane/swift/Matchfile.swift +++ b/fastlane/swift/Matchfile.swift @@ -17,4 +17,4 @@ public class Matchfile: MatchfileProtocol { // during the `init` process, and you won't see this message } -// Generated with fastlane 2.178.0 +// Generated with fastlane 2.179.0 diff --git a/fastlane/swift/MatchfileProtocol.swift b/fastlane/swift/MatchfileProtocol.swift index 3e8138b3fa2..47788fdae67 100644 --- a/fastlane/swift/MatchfileProtocol.swift +++ b/fastlane/swift/MatchfileProtocol.swift @@ -184,4 +184,4 @@ public extension MatchfileProtocol { // Please don't remove the lines below // They are used to detect outdated files -// FastlaneRunnerAPIVersion [0.9.58] +// FastlaneRunnerAPIVersion [0.9.59] diff --git a/fastlane/swift/Precheckfile.swift b/fastlane/swift/Precheckfile.swift index 1a8683b3111..b45f123d224 100644 --- a/fastlane/swift/Precheckfile.swift +++ b/fastlane/swift/Precheckfile.swift @@ -17,4 +17,4 @@ public class Precheckfile: PrecheckfileProtocol { // during the `init` process, and you won't see this message } -// Generated with fastlane 2.178.0 +// Generated with fastlane 2.179.0 diff --git a/fastlane/swift/PrecheckfileProtocol.swift b/fastlane/swift/PrecheckfileProtocol.swift index 198049d2e97..fcd1b0636d1 100644 --- a/fastlane/swift/PrecheckfileProtocol.swift +++ b/fastlane/swift/PrecheckfileProtocol.swift @@ -12,7 +12,7 @@ public protocol PrecheckfileProtocol: class { var appIdentifier: String { get } /// Your Apple ID Username - var username: String { get } + var username: String? { get } /// The ID of your App Store Connect team if you're in multiple teams var teamId: String? { get } @@ -40,7 +40,7 @@ public extension PrecheckfileProtocol { var apiKeyPath: String? { return nil } var apiKey: [String: Any]? { return nil } var appIdentifier: String { return "" } - var username: String { return "" } + var username: String? { return nil } var teamId: String? { return nil } var teamName: String? { return nil } var platform: String { return "ios" } @@ -52,4 +52,4 @@ public extension PrecheckfileProtocol { // Please don't remove the lines below // They are used to detect outdated files -// FastlaneRunnerAPIVersion [0.9.57] +// FastlaneRunnerAPIVersion [0.9.58] diff --git a/fastlane/swift/Scanfile.swift b/fastlane/swift/Scanfile.swift index fd15c595133..9d0039717d7 100644 --- a/fastlane/swift/Scanfile.swift +++ b/fastlane/swift/Scanfile.swift @@ -17,4 +17,4 @@ public class Scanfile: ScanfileProtocol { // during the `init` process, and you won't see this message } -// Generated with fastlane 2.178.0 +// Generated with fastlane 2.179.0 diff --git a/fastlane/swift/ScanfileProtocol.swift b/fastlane/swift/ScanfileProtocol.swift index 5eff2f22a79..fed8206c011 100644 --- a/fastlane/swift/ScanfileProtocol.swift +++ b/fastlane/swift/ScanfileProtocol.swift @@ -288,4 +288,4 @@ public extension ScanfileProtocol { // Please don't remove the lines below // They are used to detect outdated files -// FastlaneRunnerAPIVersion [0.9.69] +// FastlaneRunnerAPIVersion [0.9.70] diff --git a/fastlane/swift/Screengrabfile.swift b/fastlane/swift/Screengrabfile.swift index 163a5dc0d91..a1a3647404f 100644 --- a/fastlane/swift/Screengrabfile.swift +++ b/fastlane/swift/Screengrabfile.swift @@ -17,4 +17,4 @@ public class Screengrabfile: ScreengrabfileProtocol { // during the `init` process, and you won't see this message } -// Generated with fastlane 2.178.0 +// Generated with fastlane 2.179.0 diff --git a/fastlane/swift/ScreengrabfileProtocol.swift b/fastlane/swift/ScreengrabfileProtocol.swift index 519dbbefb65..ebdfb17f579 100644 --- a/fastlane/swift/ScreengrabfileProtocol.swift +++ b/fastlane/swift/ScreengrabfileProtocol.swift @@ -96,4 +96,4 @@ public extension ScreengrabfileProtocol { // Please don't remove the lines below // They are used to detect outdated files -// FastlaneRunnerAPIVersion [0.9.59] +// FastlaneRunnerAPIVersion [0.9.60] diff --git a/fastlane/swift/Snapshotfile.swift b/fastlane/swift/Snapshotfile.swift index 1a74bb460b8..86c9c837661 100644 --- a/fastlane/swift/Snapshotfile.swift +++ b/fastlane/swift/Snapshotfile.swift @@ -17,4 +17,4 @@ public class Snapshotfile: SnapshotfileProtocol { // during the `init` process, and you won't see this message } -// Generated with fastlane 2.178.0 +// Generated with fastlane 2.179.0 diff --git a/fastlane/swift/SnapshotfileProtocol.swift b/fastlane/swift/SnapshotfileProtocol.swift index 22210075e45..080b848ff3a 100644 --- a/fastlane/swift/SnapshotfileProtocol.swift +++ b/fastlane/swift/SnapshotfileProtocol.swift @@ -196,4 +196,4 @@ public extension SnapshotfileProtocol { // Please don't remove the lines below // They are used to detect outdated files -// FastlaneRunnerAPIVersion [0.9.53] +// FastlaneRunnerAPIVersion [0.9.54] diff --git a/fastlane/swift/formatting/Brewfile.lock.json b/fastlane/swift/formatting/Brewfile.lock.json index 904d2b1b21b..684530bd3eb 100644 --- a/fastlane/swift/formatting/Brewfile.lock.json +++ b/fastlane/swift/formatting/Brewfile.lock.json @@ -2,7 +2,7 @@ "entries": { "brew": { "swiftformat": { - "version": "0.47.12", + "version": "0.47.13", "bottle": { "rebuild": 0, "cellar": ":any_skip_relocation", @@ -10,20 +10,20 @@ "root_url": "https://homebrew.bintray.com/bottles", "files": { "arm64_big_sur": { - "url": "https://homebrew.bintray.com/bottles/swiftformat-0.47.12.arm64_big_sur.bottle.tar.gz", - "sha256": "334b736f7c78b1bc48882f55558e79571be591281462bc91dedea6dac10034be" + "url": "https://homebrew.bintray.com/bottles/swiftformat-0.47.13.arm64_big_sur.bottle.tar.gz", + "sha256": "fdcdb5e94b9c4d66a32d4515ba3d2db4057865f96aefab0e41fdeaf2879f4f89" }, "big_sur": { - "url": "https://homebrew.bintray.com/bottles/swiftformat-0.47.12.big_sur.bottle.tar.gz", - "sha256": "b7ba5043f29c548dd05374125faa61dd07690bffe373890cb608609e4a7e2413" + "url": "https://homebrew.bintray.com/bottles/swiftformat-0.47.13.big_sur.bottle.tar.gz", + "sha256": "cbb7a9803926d8bfaacf5c1a7d4cd07d8fe2255b1885be3ae2ffd8414e4c5292" }, "catalina": { - "url": "https://homebrew.bintray.com/bottles/swiftformat-0.47.12.catalina.bottle.tar.gz", - "sha256": "030b2e18168f5680c4ee387812b14057c4cb148b6f6800b983b1b298f4af15b1" + "url": "https://homebrew.bintray.com/bottles/swiftformat-0.47.13.catalina.bottle.tar.gz", + "sha256": "3a13e9b1f4a63bc03601897944f71dd4e6942788531dc060322d20fc6b36d2fd" }, "mojave": { - "url": "https://homebrew.bintray.com/bottles/swiftformat-0.47.12.mojave.bottle.tar.gz", - "sha256": "b3e35821d3094d08eb9f8423ce7d18cb5462bb5b1d02a3156ed1a10f6539709a" + "url": "https://homebrew.bintray.com/bottles/swiftformat-0.47.13.mojave.bottle.tar.gz", + "sha256": "4e0691f12a5ef3b01eba9f41091b8f3457bc65151bfad057a45e8de9525074cd" } } } @@ -33,9 +33,9 @@ "system": { "macos": { "catalina": { - "HOMEBREW_VERSION": "3.0.4-64-g31a4989", + "HOMEBREW_VERSION": "3.0.9-4-g9308a25", "HOMEBREW_PREFIX": "/usr/local", - "Homebrew/homebrew-core": "443ddf805144323198a5b37b071516534243377b", + "Homebrew/homebrew-core": "2e6c683b1705308ab02e71f996733b1ad05942d0", "CLT": "11.0.33.12", "Xcode": "12.2", "macOS": "10.15.7"