fastlane 2.129.0 → 2.134.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +66 -66
- data/cert/lib/cert/module.rb +2 -0
- data/cert/lib/cert/options.rb +6 -0
- data/cert/lib/cert/runner.rb +17 -11
- data/fastlane/lib/fastlane.rb +4 -1
- data/fastlane/lib/fastlane/actions/.download_dsyms.rb.swp +0 -0
- data/fastlane/lib/fastlane/actions/.hockey.rb.swp +0 -0
- data/fastlane/lib/fastlane/actions/actions_helper.rb +4 -0
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +11 -3
- data/fastlane/lib/fastlane/actions/carthage.rb +11 -3
- data/fastlane/lib/fastlane/actions/cocoapods.rb +24 -2
- data/fastlane/lib/fastlane/actions/copy_artifacts.rb +1 -1
- data/fastlane/lib/fastlane/actions/danger.rb +7 -0
- data/fastlane/lib/fastlane/actions/deploygate.rb +1 -1
- data/fastlane/lib/fastlane/actions/docs/sync_code_signing.md +23 -4
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +59 -10
- data/fastlane/lib/fastlane/actions/ensure_env_vars.rb +58 -0
- data/fastlane/lib/fastlane/actions/get_version_number.rb +12 -3
- data/fastlane/lib/fastlane/actions/gradle.rb +11 -1
- data/fastlane/lib/fastlane/actions/onesignal.rb +59 -29
- data/fastlane/lib/fastlane/actions/pod_push.rb +10 -1
- data/fastlane/lib/fastlane/actions/register_devices.rb +38 -22
- data/fastlane/lib/fastlane/actions/resign.rb +2 -2
- data/fastlane/lib/fastlane/actions/slather.rb +1 -0
- data/fastlane/lib/fastlane/actions/sonar.rb +16 -0
- data/fastlane/lib/fastlane/actions/testfairy.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_fastlane.rb +9 -49
- data/fastlane/lib/fastlane/actions/update_keychain_access_groups.rb +94 -0
- data/fastlane/lib/fastlane/commands_generator.rb +16 -0
- data/fastlane/lib/fastlane/environment_printer.rb +7 -1
- data/fastlane/lib/fastlane/fast_file.rb +10 -4
- data/fastlane/lib/fastlane/helper/crashlytics_helper.rb +1 -1
- data/fastlane/lib/fastlane/plugins/plugin_manager.rb +2 -0
- data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +3 -0
- data/fastlane/lib/fastlane/setup/setup_android.rb +1 -1
- data/fastlane/lib/fastlane/swift_fastlane_api_generator.rb +122 -34
- data/fastlane/lib/fastlane/swift_fastlane_function.rb +72 -3
- data/fastlane/lib/fastlane/swift_runner_upgrader.rb +4 -0
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane/swift/Actions.swift +15 -0
- data/fastlane/swift/Deliverfile.swift +1 -1
- data/fastlane/swift/DeliverfileProtocol.swift +121 -1
- data/fastlane/swift/Fastlane.swift +3925 -30
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.pbxproj +9 -0
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- data/fastlane/swift/FastlaneSwiftRunner/FastlaneSwiftRunner.xcodeproj/project.xcworkspace/xcuserdata/josh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- data/fastlane/swift/Gymfile.swift +1 -1
- data/fastlane/swift/GymfileProtocol.swift +91 -9
- data/fastlane/swift/Matchfile.swift +1 -1
- data/fastlane/swift/MatchfileProtocol.swift +65 -1
- data/fastlane/swift/Plugins.swift +15 -0
- data/fastlane/swift/Precheckfile.swift +1 -1
- data/fastlane/swift/PrecheckfileProtocol.swift +15 -2
- data/fastlane/swift/Scanfile.swift +1 -1
- data/fastlane/swift/ScanfileProtocol.swift +109 -1
- data/fastlane/swift/Screengrabfile.swift +1 -1
- data/fastlane/swift/ScreengrabfileProtocol.swift +39 -2
- data/fastlane/swift/Snapshotfile.swift +1 -1
- data/fastlane/swift/SnapshotfileProtocol.swift +71 -1
- data/fastlane/swift/upgrade_manifest.json +1 -1
- data/fastlane_core/lib/fastlane_core/command_executor.rb +1 -1
- data/fastlane_core/lib/fastlane_core/device_manager.rb +1 -1
- data/fastlane_core/lib/fastlane_core/helper.rb +1 -1
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +1 -3
- data/fastlane_core/lib/fastlane_core/ui/implementations/shell.rb +3 -2
- data/frameit/lib/frameit/screenshot.rb +4 -0
- data/gym/lib/gym/generators/build_command_generator.rb +5 -1
- data/gym/lib/gym/options.rb +16 -16
- data/gym/lib/gym/runner.rb +33 -5
- data/match/lib/match/generator.rb +1 -0
- data/match/lib/match/importer.rb +2 -2
- data/match/lib/match/module.rb +2 -0
- data/match/lib/match/nuke.rb +5 -5
- data/match/lib/match/options.rb +17 -0
- data/match/lib/match/runner.rb +10 -6
- data/match/lib/match/storage/git_storage.rb +8 -2
- data/match/lib/match/storage/google_cloud_storage.rb +85 -33
- data/produce/lib/produce/service.rb +7 -1
- data/scan/lib/scan/error_handler.rb +9 -4
- data/scan/lib/scan/runner.rb +1 -1
- data/sigh/lib/sigh/download_all.rb +48 -8
- data/sigh/lib/sigh/runner.rb +13 -5
- data/snapshot/lib/snapshot/commands_generator.rb +2 -2
- data/snapshot/lib/snapshot/options.rb +5 -0
- data/snapshot/lib/snapshot/reports_generator.rb +3 -0
- data/snapshot/lib/snapshot/simulator_launchers/launcher_configuration.rb +2 -0
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher.rb +1 -1
- data/snapshot/lib/snapshot/simulator_launchers/simulator_launcher_base.rb +16 -1
- data/snapshot/lib/snapshot/update.rb +4 -2
- data/spaceship/lib/spaceship/client.rb +3 -3
- data/spaceship/lib/spaceship/connect_api/models/app.rb +6 -6
- data/spaceship/lib/spaceship/connect_api/models/build.rb +3 -3
- data/spaceship/lib/spaceship/connect_api/models/build_delivery.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/bundle_id.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/certificate.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/device.rb +1 -1
- data/spaceship/lib/spaceship/connect_api/models/profile.rb +1 -1
- data/spaceship/lib/spaceship/portal/.certificate.rb.swp +0 -0
- data/spaceship/lib/spaceship/portal/provisioning_profile.rb +1 -1
- data/spaceship/lib/spaceship/tunes/app_version.rb +4 -0
- data/spaceship/lib/spaceship/tunes/application.rb +4 -0
- data/spaceship/lib/spaceship/tunes/availability.rb +40 -8
- data/spaceship/lib/spaceship/tunes/b2b_organization.rb +50 -0
- data/spaceship/lib/spaceship/tunes/iap_family_details.rb +10 -2
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +26 -1
- metadata +55 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 137d18e3b1c51143869fab046abca316e329c07121b9fa8673c19bc3e64c4367
|
4
|
+
data.tar.gz: 230b49b8a849c8470d0868b1119cd5a9379a4df93e54f93bd94eebc1417e29b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fbbfe027861bdbc7581ac00dbb19af06131513b759ccab42833c7d81f8a1f99833c4a2229438e3029d486906dd1ea42e83fb827e668c2dff7e9ea54b0a83fa60
|
7
|
+
data.tar.gz: e50c253223dd102a4777595e78ae6f3f77df92a2015345c73050398083557244481e0858581a4d60afa2d28bf00fb299d1a2f4083145489a640ba25baed3808c
|
data/README.md
CHANGED
@@ -34,6 +34,24 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
34
34
|
<!-- This table is regenerated and resorted on each release -->
|
35
35
|
<table id='team'>
|
36
36
|
<tr>
|
37
|
+
<td id='felix-krause'>
|
38
|
+
<a href='https://github.com/KrauseFx'>
|
39
|
+
<img src='https://github.com/KrauseFx.png?size=140'>
|
40
|
+
</a>
|
41
|
+
<h4 align='center'><a href='https://twitter.com/KrauseFx'>Felix Krause</a></h4>
|
42
|
+
</td>
|
43
|
+
<td id='luka-mirosevic'>
|
44
|
+
<a href='https://github.com/lmirosevic'>
|
45
|
+
<img src='https://github.com/lmirosevic.png?size=140'>
|
46
|
+
</a>
|
47
|
+
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
48
|
+
</td>
|
49
|
+
<td id='aaron-brager'>
|
50
|
+
<a href='https://github.com/getaaron'>
|
51
|
+
<img src='https://github.com/getaaron.png?size=140'>
|
52
|
+
</a>
|
53
|
+
<h4 align='center'><a href='https://twitter.com/getaaron'>Aaron Brager</a></h4>
|
54
|
+
</td>
|
37
55
|
<td id='kohki-miki'>
|
38
56
|
<a href='https://github.com/giginet'>
|
39
57
|
<img src='https://github.com/giginet.png?size=140'>
|
@@ -46,37 +64,13 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
46
64
|
</a>
|
47
65
|
<h4 align='center'><a href='https://twitter.com/aligatr'>Olivier Halligon</a></h4>
|
48
66
|
</td>
|
49
|
-
<td id='jérôme-lacoste'>
|
50
|
-
<a href='https://github.com/lacostej'>
|
51
|
-
<img src='https://github.com/lacostej.png?size=140'>
|
52
|
-
</a>
|
53
|
-
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
54
|
-
</td>
|
55
|
-
<td id='jimmy-dee'>
|
56
|
-
<a href='https://github.com/jdee'>
|
57
|
-
<img src='https://github.com/jdee.png?size=140'>
|
58
|
-
</a>
|
59
|
-
<h4 align='center'>Jimmy Dee</h4>
|
60
|
-
</td>
|
61
|
-
<td id='matthew-ellis'>
|
62
|
-
<a href='https://github.com/matthewellis'>
|
63
|
-
<img src='https://github.com/matthewellis.png?size=140'>
|
64
|
-
</a>
|
65
|
-
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
66
|
-
</td>
|
67
67
|
</tr>
|
68
68
|
<tr>
|
69
|
-
<td id='
|
70
|
-
<a href='https://github.com/
|
71
|
-
<img src='https://github.com/
|
72
|
-
</a>
|
73
|
-
<h4 align='center'><a href='https://twitter.com/lmirosevic'>Luka Mirosevic</a></h4>
|
74
|
-
</td>
|
75
|
-
<td id='iulian-onofrei'>
|
76
|
-
<a href='https://github.com/revolter'>
|
77
|
-
<img src='https://github.com/revolter.png?size=140'>
|
69
|
+
<td id='josh-holtz'>
|
70
|
+
<a href='https://github.com/joshdholtz'>
|
71
|
+
<img src='https://github.com/joshdholtz.png?size=140'>
|
78
72
|
</a>
|
79
|
-
<h4 align='center'><a href='https://twitter.com/
|
73
|
+
<h4 align='center'><a href='https://twitter.com/joshdholtz'>Josh Holtz</a></h4>
|
80
74
|
</td>
|
81
75
|
<td id='manu-wallner'>
|
82
76
|
<a href='https://github.com/milch'>
|
@@ -84,11 +78,11 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
84
78
|
</a>
|
85
79
|
<h4 align='center'><a href='https://twitter.com/acrooow'>Manu Wallner</a></h4>
|
86
80
|
</td>
|
87
|
-
<td id='
|
88
|
-
<a href='https://github.com/
|
89
|
-
<img src='https://github.com/
|
81
|
+
<td id='helmut-januschka'>
|
82
|
+
<a href='https://github.com/hjanuschka'>
|
83
|
+
<img src='https://github.com/hjanuschka.png?size=140'>
|
90
84
|
</a>
|
91
|
-
<h4 align='center'><a href='https://twitter.com/
|
85
|
+
<h4 align='center'><a href='https://twitter.com/hjanuschka'>Helmut Januschka</a></h4>
|
92
86
|
</td>
|
93
87
|
<td id='jorge-revuelta-h'>
|
94
88
|
<a href='https://github.com/minuscorp'>
|
@@ -96,69 +90,75 @@ If the above doesn't help, please [submit an issue](https://github.com/fastlane/
|
|
96
90
|
</a>
|
97
91
|
<h4 align='center'><a href='https://twitter.com/minuscorp'>Jorge Revuelta H</a></h4>
|
98
92
|
</td>
|
93
|
+
<td id='jan-piotrowski'>
|
94
|
+
<a href='https://github.com/janpio'>
|
95
|
+
<img src='https://github.com/janpio.png?size=140'>
|
96
|
+
</a>
|
97
|
+
<h4 align='center'><a href='https://twitter.com/Sujan'>Jan Piotrowski</a></h4>
|
98
|
+
</td>
|
99
99
|
</tr>
|
100
100
|
<tr>
|
101
|
+
<td id='joshua-liebowitz'>
|
102
|
+
<a href='https://github.com/taquitos'>
|
103
|
+
<img src='https://github.com/taquitos.png?size=140'>
|
104
|
+
</a>
|
105
|
+
<h4 align='center'><a href='https://twitter.com/taquitos'>Joshua Liebowitz</a></h4>
|
106
|
+
</td>
|
101
107
|
<td id='fumiya-nakamura'>
|
102
108
|
<a href='https://github.com/nafu'>
|
103
109
|
<img src='https://github.com/nafu.png?size=140'>
|
104
110
|
</a>
|
105
111
|
<h4 align='center'><a href='https://twitter.com/nafu003'>Fumiya Nakamura</a></h4>
|
106
112
|
</td>
|
107
|
-
<td id='stefan-natchev'>
|
108
|
-
<a href='https://github.com/snatchev'>
|
109
|
-
<img src='https://github.com/snatchev.png?size=140'>
|
110
|
-
</a>
|
111
|
-
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
112
|
-
</td>
|
113
113
|
<td id='danielle-tomlinson'>
|
114
114
|
<a href='https://github.com/endocrimes'>
|
115
115
|
<img src='https://github.com/endocrimes.png?size=140'>
|
116
116
|
</a>
|
117
117
|
<h4 align='center'><a href='https://twitter.com/endocrimes'>Danielle Tomlinson</a></h4>
|
118
118
|
</td>
|
119
|
-
<td id='
|
120
|
-
<a href='https://github.com/
|
121
|
-
<img src='https://github.com/
|
119
|
+
<td id='iulian-onofrei'>
|
120
|
+
<a href='https://github.com/revolter'>
|
121
|
+
<img src='https://github.com/revolter.png?size=140'>
|
122
122
|
</a>
|
123
|
-
<h4 align='center'><a href='https://twitter.com/
|
123
|
+
<h4 align='center'><a href='https://twitter.com/Revolt666'>Iulian Onofrei</a></h4>
|
124
124
|
</td>
|
125
|
-
<td id='
|
126
|
-
<a href='https://github.com/
|
127
|
-
<img src='https://github.com/
|
125
|
+
<td id='matthew-ellis'>
|
126
|
+
<a href='https://github.com/matthewellis'>
|
127
|
+
<img src='https://github.com/matthewellis.png?size=140'>
|
128
128
|
</a>
|
129
|
-
<h4 align='center'><a href='https://twitter.com/
|
129
|
+
<h4 align='center'><a href='https://twitter.com/mellis1995'>Matthew Ellis</a></h4>
|
130
130
|
</td>
|
131
131
|
</tr>
|
132
132
|
<tr>
|
133
|
-
<td id='
|
134
|
-
<a href='https://github.com/
|
135
|
-
<img src='https://github.com/
|
133
|
+
<td id='andrew-mcburney'>
|
134
|
+
<a href='https://github.com/armcburney'>
|
135
|
+
<img src='https://github.com/armcburney.png?size=140'>
|
136
136
|
</a>
|
137
|
-
<h4 align='center'><a href='https://twitter.com/
|
137
|
+
<h4 align='center'><a href='https://twitter.com/armcburney'>Andrew McBurney</a></h4>
|
138
138
|
</td>
|
139
|
-
<td id='
|
140
|
-
<a href='https://github.com/
|
141
|
-
<img src='https://github.com/
|
139
|
+
<td id='stefan-natchev'>
|
140
|
+
<a href='https://github.com/snatchev'>
|
141
|
+
<img src='https://github.com/snatchev.png?size=140'>
|
142
142
|
</a>
|
143
|
-
<h4 align='center'><a href='https://twitter.com/
|
143
|
+
<h4 align='center'><a href='https://twitter.com/snatchev'>Stefan Natchev</a></h4>
|
144
144
|
</td>
|
145
|
-
<td id='
|
146
|
-
<a href='https://github.com/
|
147
|
-
<img src='https://github.com/
|
145
|
+
<td id='jimmy-dee'>
|
146
|
+
<a href='https://github.com/jdee'>
|
147
|
+
<img src='https://github.com/jdee.png?size=140'>
|
148
148
|
</a>
|
149
|
-
<h4 align='center'
|
149
|
+
<h4 align='center'>Jimmy Dee</h4>
|
150
150
|
</td>
|
151
|
-
<td id='
|
152
|
-
<a href='https://github.com/
|
153
|
-
<img src='https://github.com/
|
151
|
+
<td id='jérôme-lacoste'>
|
152
|
+
<a href='https://github.com/lacostej'>
|
153
|
+
<img src='https://github.com/lacostej.png?size=140'>
|
154
154
|
</a>
|
155
|
-
<h4 align='center'><a href='https://twitter.com/
|
155
|
+
<h4 align='center'><a href='https://twitter.com/lacostej'>Jérôme Lacoste</a></h4>
|
156
156
|
</td>
|
157
|
-
<td id='
|
158
|
-
<a href='https://github.com/
|
159
|
-
<img src='https://github.com/
|
157
|
+
<td id='maksym-grebenets'>
|
158
|
+
<a href='https://github.com/mgrebenets'>
|
159
|
+
<img src='https://github.com/mgrebenets.png?size=140'>
|
160
160
|
</a>
|
161
|
-
<h4 align='center'><a href='https://twitter.com/
|
161
|
+
<h4 align='center'><a href='https://twitter.com/mgrebenets'>Maksym Grebenets</a></h4>
|
162
162
|
</td>
|
163
163
|
</tr>
|
164
164
|
</table>
|
data/cert/lib/cert/module.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'fastlane_core/helper'
|
2
|
+
require 'fastlane/boolean'
|
2
3
|
|
3
4
|
module Cert
|
4
5
|
# Use this to just setup the configuration attribute and set it later somewhere else
|
@@ -8,6 +9,7 @@ module Cert
|
|
8
9
|
|
9
10
|
Helper = FastlaneCore::Helper # you gotta love Ruby: Helper.* should use the Helper class contained in FastlaneCore
|
10
11
|
UI = FastlaneCore::UI
|
12
|
+
Boolean = Fastlane::Boolean
|
11
13
|
ROOT = Pathname.new(File.expand_path('../../..', __FILE__))
|
12
14
|
|
13
15
|
ENV['FASTLANE_TEAM_ID'] ||= ENV["CERT_TEAM_ID"]
|
data/cert/lib/cert/options.rb
CHANGED
@@ -20,6 +20,12 @@ module Cert
|
|
20
20
|
description: "Create a certificate even if an existing certificate exists",
|
21
21
|
is_string: false,
|
22
22
|
default_value: false),
|
23
|
+
FastlaneCore::ConfigItem.new(key: :generate_apple_certs,
|
24
|
+
env_name: "CERT_GENERATE_APPLE_CERTS",
|
25
|
+
description: "Create a certificate type for Xcode 11 and later (Apple Development or Apple Distribution)",
|
26
|
+
type: Boolean,
|
27
|
+
default_value: FastlaneCore::Helper.mac? && FastlaneCore::Helper.xcode_at_least?('11'),
|
28
|
+
default_value_dynamic: true),
|
23
29
|
FastlaneCore::ConfigItem.new(key: :username,
|
24
30
|
short_option: "-u",
|
25
31
|
env_name: "CERT_USERNAME",
|
data/cert/lib/cert/runner.rb
CHANGED
@@ -134,19 +134,25 @@ module Cert
|
|
134
134
|
|
135
135
|
# The kind of certificate we're interested in
|
136
136
|
def certificate_type
|
137
|
-
|
138
|
-
|
139
|
-
cert_type = Spaceship.certificate.
|
140
|
-
cert_type = Spaceship.certificate.in_house if Spaceship.client.in_house?
|
141
|
-
cert_type = Spaceship.certificate.
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
137
|
+
# Check if apple certs (Xcode 11 and later) should be used
|
138
|
+
if Cert.config[:generate_apple_certs]
|
139
|
+
cert_type = Spaceship.certificate.apple_distribution
|
140
|
+
cert_type = Spaceship.certificate.in_house if Spaceship.client.in_house? # Enterprise doesn't use Apple Distribution
|
141
|
+
cert_type = Spaceship.certificate.apple_development if Cert.config[:development]
|
142
|
+
else
|
143
|
+
case Cert.config[:platform].to_s
|
144
|
+
when 'ios', 'tvos'
|
145
|
+
cert_type = Spaceship.certificate.production
|
146
|
+
cert_type = Spaceship.certificate.in_house if Spaceship.client.in_house?
|
147
|
+
cert_type = Spaceship.certificate.development if Cert.config[:development]
|
148
|
+
|
149
|
+
when 'macos'
|
150
|
+
cert_type = Spaceship.certificate.mac_app_distribution
|
151
|
+
cert_type = Spaceship.certificate.mac_development if Cert.config[:development]
|
152
|
+
end
|
147
153
|
end
|
148
154
|
|
149
|
-
cert_type
|
155
|
+
return cert_type
|
150
156
|
end
|
151
157
|
|
152
158
|
def create_certificate
|
data/fastlane/lib/fastlane.rb
CHANGED
@@ -26,6 +26,7 @@ require 'fastlane/documentation/docs_generator'
|
|
26
26
|
require 'fastlane/other_action'
|
27
27
|
require 'fastlane/plugins/plugins'
|
28
28
|
require 'fastlane/fastlane_require'
|
29
|
+
require "fastlane/swift_fastlane_api_generator.rb"
|
29
30
|
|
30
31
|
module Fastlane
|
31
32
|
Helper = FastlaneCore::Helper # you gotta love Ruby: Helper.* should use the Helper class contained in FastlaneCore
|
@@ -39,10 +40,12 @@ module Fastlane
|
|
39
40
|
|
40
41
|
if FastlaneCore::FastlaneFolder.path
|
41
42
|
actions_path = File.join(FastlaneCore::FastlaneFolder.path, 'actions')
|
42
|
-
Fastlane::Actions.load_external_actions(actions_path) if File.directory?(actions_path)
|
43
|
+
@external_actions = Fastlane::Actions.load_external_actions(actions_path) if File.directory?(actions_path)
|
43
44
|
end
|
44
45
|
end
|
45
46
|
|
47
|
+
attr_reader :external_actions
|
48
|
+
|
46
49
|
def plugin_manager
|
47
50
|
@plugin_manager ||= Fastlane::PluginManager.new
|
48
51
|
end
|
Binary file
|
Binary file
|
@@ -105,6 +105,7 @@ module Fastlane
|
|
105
105
|
def self.load_external_actions(path)
|
106
106
|
UI.user_error!("You need to pass a valid path") unless File.exist?(path)
|
107
107
|
|
108
|
+
class_refs = []
|
108
109
|
Dir[File.expand_path('*.rb', path)].each do |file|
|
109
110
|
begin
|
110
111
|
require file
|
@@ -123,6 +124,7 @@ module Fastlane
|
|
123
124
|
class_name = file_name.fastlane_class + 'Action'
|
124
125
|
begin
|
125
126
|
class_ref = Fastlane::Actions.const_get(class_name)
|
127
|
+
class_refs << class_ref
|
126
128
|
|
127
129
|
if class_ref.respond_to?(:run)
|
128
130
|
UI.success("Successfully loaded custom action '#{file}'.") if FastlaneCore::Globals.verbose?
|
@@ -139,6 +141,8 @@ module Fastlane
|
|
139
141
|
end
|
140
142
|
end
|
141
143
|
Actions.reset_aliases
|
144
|
+
|
145
|
+
return class_refs
|
142
146
|
end
|
143
147
|
|
144
148
|
def self.formerly_bundled_actions
|
@@ -36,6 +36,7 @@ module Fastlane
|
|
36
36
|
return build_nr
|
37
37
|
else
|
38
38
|
version_number = params[:version]
|
39
|
+
platform = params[:platform]
|
39
40
|
|
40
41
|
# Create filter for get_builds with optional version number
|
41
42
|
filter = { app: app.apple_id }
|
@@ -46,18 +47,25 @@ module Fastlane
|
|
46
47
|
version_number_message = "any version"
|
47
48
|
end
|
48
49
|
|
50
|
+
if platform
|
51
|
+
filter["preReleaseVersion.platform"] = Spaceship::ConnectAPI::Platform.map(platform)
|
52
|
+
platform_message = "#{platform} platform"
|
53
|
+
else
|
54
|
+
platform_message = "any platform"
|
55
|
+
end
|
56
|
+
|
49
57
|
UI.message("Fetching the latest build number for #{version_number_message}")
|
50
58
|
|
51
59
|
# Get latest build for optional version number and return build number if found
|
52
|
-
build = Spaceship::ConnectAPI.get_builds(filter: filter, sort: "-
|
60
|
+
build = Spaceship::ConnectAPI.get_builds(filter: filter, sort: "-uploadedDate", includes: "preReleaseVersion", limit: 1).first
|
53
61
|
if build
|
54
62
|
build_nr = build.version
|
55
|
-
UI.message("Latest upload for version #{build.app_version} is build: #{build_nr}")
|
63
|
+
UI.message("Latest upload for version #{build.app_version} on #{platform_message} is build: #{build_nr}")
|
56
64
|
return build_nr
|
57
65
|
end
|
58
66
|
|
59
67
|
# Let user know that build couldn't be found
|
60
|
-
UI.important("Could not find a build for #{version_number_message} on App Store Connect")
|
68
|
+
UI.important("Could not find a build for #{version_number_message} on #{platform_message} on App Store Connect")
|
61
69
|
|
62
70
|
if params[:initial_build_number].nil?
|
63
71
|
UI.user_error!("Could not find a build on App Store Connect - and 'initial_build_number' option is not set")
|
@@ -11,20 +11,22 @@ module Fastlane
|
|
11
11
|
|
12
12
|
if command_name == "archive" && params[:frameworks].count > 0
|
13
13
|
cmd.concat(params[:frameworks])
|
14
|
-
|
15
|
-
|
14
|
+
# "update", "build" and "bootstrap" are the only commands that support "--derived-data" parameter
|
15
|
+
elsif ["update", "build", "bootstrap"].include?(command_name)
|
16
|
+
cmd.concat(params[:dependencies]) if params[:dependencies].count > 0
|
17
|
+
cmd << "--derived-data #{params[:derived_data].shellescape}" if params[:derived_data]
|
16
18
|
end
|
17
19
|
|
18
20
|
cmd << "--output #{params[:output]}" if params[:output]
|
19
21
|
cmd << "--use-ssh" if params[:use_ssh]
|
20
22
|
cmd << "--use-submodules" if params[:use_submodules]
|
21
23
|
cmd << "--no-use-binaries" if params[:use_binaries] == false
|
24
|
+
cmd << "--no-checkout" if params[:no_checkout] == true
|
22
25
|
cmd << "--no-build" if params[:no_build] == true
|
23
26
|
cmd << "--no-skip-current" if params[:no_skip_current] == true
|
24
27
|
cmd << "--verbose" if params[:verbose] == true
|
25
28
|
cmd << "--platform #{params[:platform]}" if params[:platform]
|
26
29
|
cmd << "--configuration #{params[:configuration]}" if params[:configuration]
|
27
|
-
cmd << "--derived-data #{params[:derived_data].shellescape}" if params[:derived_data]
|
28
30
|
cmd << "--toolchain #{params[:toolchain]}" if params[:toolchain]
|
29
31
|
cmd << "--project-directory #{params[:project_directory]}" if params[:project_directory]
|
30
32
|
cmd << "--cache-builds" if params[:cache_builds]
|
@@ -93,6 +95,12 @@ module Fastlane
|
|
93
95
|
is_string: false,
|
94
96
|
type: Boolean,
|
95
97
|
optional: true),
|
98
|
+
FastlaneCore::ConfigItem.new(key: :no_checkout,
|
99
|
+
env_name: "FL_CARTHAGE_NO_CHECKOUT",
|
100
|
+
description: "When bootstrapping Carthage do not checkout",
|
101
|
+
is_string: false,
|
102
|
+
type: Boolean,
|
103
|
+
optional: true),
|
96
104
|
FastlaneCore::ConfigItem.new(key: :no_build,
|
97
105
|
env_name: "FL_CARTHAGE_NO_BUILD",
|
98
106
|
description: "When bootstrapping Carthage do not build",
|
@@ -14,15 +14,17 @@ module Fastlane
|
|
14
14
|
cmd << ["cd '#{podfile_folder}' &&"]
|
15
15
|
end
|
16
16
|
|
17
|
-
cmd << ['bundle exec'] if
|
17
|
+
cmd << ['bundle exec'] if use_bundle_exec?(params)
|
18
18
|
cmd << ['pod install']
|
19
19
|
|
20
20
|
cmd << '--no-clean' unless params[:clean]
|
21
21
|
cmd << '--no-integrate' unless params[:integrate]
|
22
|
+
cmd << '--clean-install' if params[:clean_install] && pod_version.to_f >= 1.7
|
22
23
|
cmd << '--repo-update' if params[:repo_update]
|
23
24
|
cmd << '--silent' if params[:silent]
|
24
25
|
cmd << '--verbose' if params[:verbose]
|
25
26
|
cmd << '--no-ansi' unless params[:ansi]
|
27
|
+
cmd << '--deployment' if params[:deployment]
|
26
28
|
|
27
29
|
Actions.sh(cmd.join(' '), error_callback: lambda { |result|
|
28
30
|
if !params[:repo_update] && params[:try_repo_update_on_error]
|
@@ -36,6 +38,14 @@ module Fastlane
|
|
36
38
|
})
|
37
39
|
end
|
38
40
|
|
41
|
+
def self.use_bundle_exec?(params)
|
42
|
+
params[:use_bundle_exec] && shell_out_should_use_bundle_exec?
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.pod_version
|
46
|
+
use_bundle_exec?(params) ? `bundle exec pod --version` : `pod --version`
|
47
|
+
end
|
48
|
+
|
39
49
|
def self.call_error_callback(params, result)
|
40
50
|
if params[:error_callback]
|
41
51
|
Dir.chdir(FastlaneCore::FastlaneFolder.path) do
|
@@ -57,6 +67,11 @@ module Fastlane
|
|
57
67
|
description: "Add `--repo-update` flag to `pod install` command",
|
58
68
|
is_string: false,
|
59
69
|
default_value: false),
|
70
|
+
FastlaneCore::ConfigItem.new(key: :clean_install,
|
71
|
+
env_name: "FL_COCOAPODS_CLEAN_INSTALL",
|
72
|
+
description: "Execute a full pod installation ignoring the content of the project cache",
|
73
|
+
is_string: false,
|
74
|
+
default_value: false),
|
60
75
|
FastlaneCore::ConfigItem.new(key: :silent,
|
61
76
|
env_name: "FL_COCOAPODS_SILENT",
|
62
77
|
description: "Execute command without logging output",
|
@@ -98,11 +113,18 @@ module Fastlane
|
|
98
113
|
is_string: false,
|
99
114
|
default_value: false,
|
100
115
|
type: Boolean),
|
116
|
+
FastlaneCore::ConfigItem.new(key: :deployment,
|
117
|
+
env_name: "FL_COCOAPODS_DEPLOYMENT",
|
118
|
+
description: 'Disallow any changes to the Podfile or the Podfile.lock during installation',
|
119
|
+
optional: true,
|
120
|
+
is_string: false,
|
121
|
+
default_value: false,
|
122
|
+
type: Boolean),
|
101
123
|
|
102
124
|
# Deprecated
|
103
125
|
FastlaneCore::ConfigItem.new(key: :clean,
|
104
126
|
env_name: "FL_COCOAPODS_CLEAN",
|
105
|
-
description: "(Option
|
127
|
+
description: "(Option renamed as clean_install) Remove SCM directories",
|
106
128
|
deprecated: true,
|
107
129
|
is_string: false,
|
108
130
|
default_value: true),
|