fastlane 2.44.1 → 2.45.0.beta.20170706010014
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/deliver/lib/deliver/options.rb +10 -10
- data/fastlane/lib/fastlane/actions/adb.rb +1 -1
- data/fastlane/lib/fastlane/actions/adb_devices.rb +1 -1
- data/fastlane/lib/fastlane/actions/appaloosa.rb +2 -2
- data/fastlane/lib/fastlane/actions/apteligent.rb +2 -0
- data/fastlane/lib/fastlane/actions/create_keychain.rb +1 -1
- data/fastlane/lib/fastlane/actions/google_play_track_version_codes.rb +70 -0
- data/fastlane/lib/fastlane/actions/hg_commit_version_bump.rb +1 -1
- data/fastlane/lib/fastlane/actions/hipchat.rb +1 -1
- data/fastlane/lib/fastlane/actions/import_from_git.rb +2 -2
- data/fastlane/lib/fastlane/actions/last_git_tag.rb +1 -1
- data/fastlane/lib/fastlane/actions/number_of_commits.rb +1 -1
- data/fastlane/lib/fastlane/actions/reset_git_repo.rb +1 -1
- data/fastlane/lib/fastlane/actions/setup_jenkins.rb +1 -1
- data/fastlane/lib/fastlane/actions/slack.rb +3 -3
- data/fastlane/lib/fastlane/actions/unlock_keychain.rb +1 -1
- data/fastlane/lib/fastlane/actions/update_project_team.rb +1 -1
- data/fastlane/lib/fastlane/plugins/template/%gem_name%.gemspec.erb +4 -3
- data/fastlane/lib/fastlane/plugins/template/.rubocop.yml +9 -5
- data/fastlane/lib/fastlane/setup/crashlytics_beta.rb +2 -2
- data/fastlane/lib/fastlane/version.rb +2 -1
- data/fastlane_core/lib/fastlane_core/helper.rb +7 -7
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +1 -1
- data/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb +17 -0
- data/frameit/lib/frameit/options.rb +1 -1
- data/gym/lib/gym/options.rb +7 -7
- data/match/README.md +1 -1
- data/pilot/lib/pilot/options.rb +1 -1
- data/precheck/lib/precheck/options.rb +2 -2
- data/produce/lib/produce/options.rb +1 -1
- data/scan/lib/scan/options.rb +8 -8
- data/sigh/lib/sigh/options.rb +1 -1
- data/spaceship/lib/spaceship/du/du_client.rb +2 -2
- data/supply/README.md +5 -0
- data/supply/lib/supply/options.rb +5 -5
- data/supply/lib/supply/reader.rb +25 -0
- metadata +20 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3714c963e48a70e49b632a828f9bec4a90e66356
|
4
|
+
data.tar.gz: 3b79b6c1113480d94db5b6a8e98264330a8bc6b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df5afdb152d2c6ecb3b965604b8c204a0c4dd3bb08f351fea9078abe1523b3848780120634cfa979ccaa74a307064f481558be65bcc5102fc48555c1144efdf9
|
7
|
+
data.tar.gz: 014cfe3b7b3e7b7bede2ae33ef966d8d47a3190fd48b7f012092777fe6fdb1ef9fd6c04b4fbbc6817e1146d9d61d738b2dd8e05cca3202eda33fd31d06520579
|
@@ -90,7 +90,7 @@ module Deliver
|
|
90
90
|
description: "The version that should be edited or created",
|
91
91
|
optional: true),
|
92
92
|
FastlaneCore::ConfigItem.new(key: :skip_metadata,
|
93
|
-
description: "Don't upload the metadata (e.g. title, description)
|
93
|
+
description: "Don't upload the metadata (e.g. title, description). This will still upload screenshots",
|
94
94
|
is_string: false,
|
95
95
|
default_value: false),
|
96
96
|
FastlaneCore::ConfigItem.new(key: :skip_app_version_update,
|
@@ -226,27 +226,27 @@ module Deliver
|
|
226
226
|
optional: true,
|
227
227
|
is_string: true),
|
228
228
|
FastlaneCore::ConfigItem.new(key: :primary_category,
|
229
|
-
description: "Metadata: The english name of the primary category(e.g. `Business`, `Books`)",
|
229
|
+
description: "Metadata: The english name of the primary category (e.g. `Business`, `Books`)",
|
230
230
|
optional: true,
|
231
231
|
is_string: true),
|
232
232
|
FastlaneCore::ConfigItem.new(key: :secondary_category,
|
233
|
-
description: "Metadata: The english name of the secondary category(e.g. `Business`, `Books`)",
|
233
|
+
description: "Metadata: The english name of the secondary category (e.g. `Business`, `Books`)",
|
234
234
|
optional: true,
|
235
235
|
is_string: true),
|
236
236
|
FastlaneCore::ConfigItem.new(key: :primary_first_sub_category,
|
237
|
-
description: "Metadata: The english name of the primary first sub category(e.g. `Educational`, `Puzzle`)",
|
237
|
+
description: "Metadata: The english name of the primary first sub category (e.g. `Educational`, `Puzzle`)",
|
238
238
|
optional: true,
|
239
239
|
is_string: true),
|
240
240
|
FastlaneCore::ConfigItem.new(key: :primary_second_sub_category,
|
241
|
-
description: "Metadata: The english name of the primary second sub category(e.g. `Educational`, `Puzzle`)",
|
241
|
+
description: "Metadata: The english name of the primary second sub category (e.g. `Educational`, `Puzzle`)",
|
242
242
|
optional: true,
|
243
243
|
is_string: true),
|
244
244
|
FastlaneCore::ConfigItem.new(key: :secondary_first_sub_category,
|
245
|
-
description: "Metadata: The english name of the secondary first sub category(e.g. `Educational`, `Puzzle`)",
|
245
|
+
description: "Metadata: The english name of the secondary first sub category (e.g. `Educational`, `Puzzle`)",
|
246
246
|
optional: true,
|
247
247
|
is_string: true),
|
248
248
|
FastlaneCore::ConfigItem.new(key: :secondary_second_sub_category,
|
249
|
-
description: "Metadata: The english name of the secondary second sub category(e.g. `Educational`, `Puzzle`)",
|
249
|
+
description: "Metadata: The english name of the secondary second sub category (e.g. `Educational`, `Puzzle`)",
|
250
250
|
optional: true,
|
251
251
|
is_string: true),
|
252
252
|
FastlaneCore::ConfigItem.new(key: :trade_representative_contact_information,
|
@@ -271,14 +271,14 @@ module Deliver
|
|
271
271
|
optional: true,
|
272
272
|
is_string: false,
|
273
273
|
verify_block: proc do |value|
|
274
|
-
UI.user_error!(":subtitle must be a
|
274
|
+
UI.user_error!(":subtitle must be a hash, with the language being the key") unless value.kind_of?(Hash)
|
275
275
|
end),
|
276
276
|
FastlaneCore::ConfigItem.new(key: :keywords,
|
277
277
|
description: "Metadata: An array of localised keywords",
|
278
278
|
optional: true,
|
279
279
|
is_string: false,
|
280
280
|
verify_block: proc do |value|
|
281
|
-
UI.user_error!(":keywords must be a
|
281
|
+
UI.user_error!(":keywords must be a hash, with the language being the key") unless value.kind_of?(Hash)
|
282
282
|
value.each do |language, keywords|
|
283
283
|
# Auto-convert array to string
|
284
284
|
keywords = keywords.join(", ") if keywords.kind_of?(Array)
|
@@ -292,7 +292,7 @@ module Deliver
|
|
292
292
|
optional: true,
|
293
293
|
is_string: false,
|
294
294
|
verify_block: proc do |value|
|
295
|
-
UI.user_error!(":keywords must be a
|
295
|
+
UI.user_error!(":keywords must be a hash, with the language being the key") unless value.kind_of?(Hash)
|
296
296
|
end),
|
297
297
|
FastlaneCore::ConfigItem.new(key: :release_notes,
|
298
298
|
description: "Metadata: Localised release notes for this version",
|
@@ -28,7 +28,7 @@ module Fastlane
|
|
28
28
|
[
|
29
29
|
FastlaneCore::ConfigItem.new(key: :serial,
|
30
30
|
env_name: "FL_ANDROID_SERIAL",
|
31
|
-
description: "Android serial
|
31
|
+
description: "Android serial of the device to use for this command",
|
32
32
|
is_string: true,
|
33
33
|
default_value: ""),
|
34
34
|
FastlaneCore::ConfigItem.new(key: :command,
|
@@ -207,12 +207,12 @@ module Fastlane
|
|
207
207
|
default_value: Actions.lane_context[SharedValues::SNAPSHOT_SCREENSHOTS_PATH]),
|
208
208
|
FastlaneCore::ConfigItem.new(key: :locale,
|
209
209
|
env_name: 'FL_APPALOOSA_LOCALE',
|
210
|
-
description: 'Select the folder locale for
|
210
|
+
description: 'Select the folder locale for your screenshots',
|
211
211
|
default_value: 'en-US',
|
212
212
|
optional: true),
|
213
213
|
FastlaneCore::ConfigItem.new(key: :device,
|
214
214
|
env_name: 'FL_APPALOOSA_DEVICE',
|
215
|
-
description: 'Select the device format for
|
215
|
+
description: 'Select the device format for your screenshots',
|
216
216
|
optional: true),
|
217
217
|
FastlaneCore::ConfigItem.new(key: :description,
|
218
218
|
env_name: 'FL_APPALOOSA_DESCRIPTION',
|
@@ -45,11 +45,13 @@ module Fastlane
|
|
45
45
|
def self.upload_options(params)
|
46
46
|
file_path = dsym_path(params).shellescape
|
47
47
|
|
48
|
+
# rubocop: disable Style/FormatStringToken
|
48
49
|
options = []
|
49
50
|
options << "--write-out %{http_code} --silent --output /dev/null"
|
50
51
|
options << "-F dsym=@#{file_path}"
|
51
52
|
options << "-F key=#{params[:api_key].shellescape}"
|
52
53
|
options
|
54
|
+
# rubocop: enable Style/FormatStringToken
|
53
55
|
end
|
54
56
|
|
55
57
|
#####################################################
|
@@ -0,0 +1,70 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
class GooglePlayTrackVersionCodesAction < Action
|
4
|
+
# Supply::Options.available_options keys that apply to this action.
|
5
|
+
OPTIONS = [
|
6
|
+
:package_name,
|
7
|
+
:track,
|
8
|
+
:json_key,
|
9
|
+
:json_key_data,
|
10
|
+
:root_url
|
11
|
+
]
|
12
|
+
|
13
|
+
def self.run(params)
|
14
|
+
require 'supply'
|
15
|
+
require 'supply/options'
|
16
|
+
require 'supply/reader'
|
17
|
+
|
18
|
+
Supply.config = params
|
19
|
+
|
20
|
+
Supply::Reader.new.track_version_codes
|
21
|
+
end
|
22
|
+
|
23
|
+
#####################################################
|
24
|
+
# @!group Documentation
|
25
|
+
#####################################################
|
26
|
+
|
27
|
+
def self.description
|
28
|
+
"Retrieves version codes for a Google Play track"
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.details
|
32
|
+
"More information: https://github.com/fastlane/fastlane/tree/master/supply"
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.available_options
|
36
|
+
require 'supply'
|
37
|
+
require 'supply/options'
|
38
|
+
|
39
|
+
Supply::Options.available_options.select do |option|
|
40
|
+
OPTIONS.include?(option.key)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.output
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.return_value
|
48
|
+
"Array of integers representing the version codes for the given Google Play track"
|
49
|
+
end
|
50
|
+
|
51
|
+
def self.authors
|
52
|
+
["panthomakos"]
|
53
|
+
end
|
54
|
+
|
55
|
+
def self.is_supported?(platform)
|
56
|
+
platform == :android
|
57
|
+
end
|
58
|
+
|
59
|
+
def self.example_code
|
60
|
+
[
|
61
|
+
'google_play_track_version_codes'
|
62
|
+
]
|
63
|
+
end
|
64
|
+
|
65
|
+
def self.category
|
66
|
+
:misc
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -138,7 +138,7 @@ module Fastlane
|
|
138
138
|
default_value: "file1, file2"),
|
139
139
|
FastlaneCore::ConfigItem.new(key: :test_expected_files,
|
140
140
|
env_name: "FL_HG_COMMIT_TEST_EXP_FILES",
|
141
|
-
description: "A list of expected changed files passed in for
|
141
|
+
description: "A list of expected changed files passed in for testing",
|
142
142
|
optional: true,
|
143
143
|
default_value: "file1, file2")
|
144
144
|
]
|
@@ -160,7 +160,7 @@ module Fastlane
|
|
160
160
|
is_string: false),
|
161
161
|
FastlaneCore::ConfigItem.new(key: :from,
|
162
162
|
env_name: "FL_HIPCHAT_FROM",
|
163
|
-
description: "Name the message will appear be sent from",
|
163
|
+
description: "Name the message will appear to be sent from",
|
164
164
|
default_value: "fastlane",
|
165
165
|
optional: true)
|
166
166
|
]
|
@@ -23,7 +23,7 @@ module Fastlane
|
|
23
23
|
def self.available_options
|
24
24
|
[
|
25
25
|
FastlaneCore::ConfigItem.new(key: :url,
|
26
|
-
description: "The
|
26
|
+
description: "The URL of the repository to import the Fastfile from",
|
27
27
|
default_value: nil),
|
28
28
|
FastlaneCore::ConfigItem.new(key: :branch,
|
29
29
|
description: "The branch or tag to check-out on the repository",
|
@@ -47,7 +47,7 @@ module Fastlane
|
|
47
47
|
def self.example_code
|
48
48
|
[
|
49
49
|
'import_from_git(
|
50
|
-
url: "git@github.com:fastlane/fastlane.git", # The
|
50
|
+
url: "git@github.com:fastlane/fastlane.git", # The URL of the repository to import the Fastfile from.
|
51
51
|
branch: "HEAD", # The branch to checkout on the repository. Defaults to `HEAD`.
|
52
52
|
path: "fastlane/Fastfile" # The path of the Fastfile in the repository. Defaults to `fastlane/Fastfile`.
|
53
53
|
)'
|
@@ -30,7 +30,7 @@ module Fastlane
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def self.details
|
33
|
-
"If you are using this action on a **shallow clone**, *the default with some CI systems like Bamboo*, you need to ensure that you have also have pulled all the git tags appropriately.
|
33
|
+
"If you are using this action on a **shallow clone**, *the default with some CI systems like Bamboo*, you need to ensure that you have also have pulled all the git tags appropriately. Assuming your git repo has the correct remote set you can issue `sh('git fetch --tags')`"
|
34
34
|
end
|
35
35
|
|
36
36
|
def self.example_code
|
@@ -44,7 +44,7 @@ module Fastlane
|
|
44
44
|
end
|
45
45
|
|
46
46
|
def self.details
|
47
|
-
"You can use this action to get the number of commits of this branch. This is useful if you want to set the build number to the number of commits. See `
|
47
|
+
"You can use this action to get the number of commits of this branch. This is useful if you want to set the build number to the number of commits. See `fastlane actions number_of_commits` for more details"
|
48
48
|
end
|
49
49
|
|
50
50
|
def self.authors
|
@@ -99,7 +99,7 @@ module Fastlane
|
|
99
99
|
default_value: true),
|
100
100
|
FastlaneCore::ConfigItem.new(key: :exclude,
|
101
101
|
env_name: "FL_RESET_GIT_EXCLUDE",
|
102
|
-
description: "You can pass a string, or array of, file pattern(s) here which you want to have survive the cleaning process, and remain on disk
|
102
|
+
description: "You can pass a string, or array of, file pattern(s) here which you want to have survive the cleaning process, and remain on disk, e.g. to leave the `artifacts` directory you would specify `exclude: 'artifacts'`. Make sure this pattern is also in your gitignore! See the gitignore documentation for info on patterns",
|
103
103
|
is_string: false,
|
104
104
|
optional: true)
|
105
105
|
]
|
@@ -158,7 +158,7 @@ module Fastlane
|
|
158
158
|
default_value: "./output"),
|
159
159
|
FastlaneCore::ConfigItem.new(key: :derived_data_path,
|
160
160
|
env_name: "FL_SETUP_JENKINS_DERIVED_DATA_PATH",
|
161
|
-
description: "The directory where
|
161
|
+
description: "The directory where built products and other derived data will go",
|
162
162
|
is_string: true,
|
163
163
|
default_value: "./derivedData"),
|
164
164
|
FastlaneCore::ConfigItem.new(key: :result_bundle,
|
@@ -66,7 +66,7 @@ module Fastlane
|
|
66
66
|
optional: true),
|
67
67
|
FastlaneCore::ConfigItem.new(key: :use_webhook_configured_username_and_icon,
|
68
68
|
env_name: "FL_SLACK_USE_WEBHOOK_CONFIGURED_USERNAME_AND_ICON",
|
69
|
-
description: "Use
|
69
|
+
description: "Use webhook's default username and icon settings? (true/false)",
|
70
70
|
default_value: false,
|
71
71
|
is_string: false,
|
72
72
|
optional: true),
|
@@ -79,13 +79,13 @@ module Fastlane
|
|
79
79
|
end),
|
80
80
|
FastlaneCore::ConfigItem.new(key: :username,
|
81
81
|
env_name: "FL_SLACK_USERNAME",
|
82
|
-
description: "Overrides the
|
82
|
+
description: "Overrides the webhook's username property if use_webhook_configured_username_and_icon is false",
|
83
83
|
default_value: "fastlane",
|
84
84
|
is_string: true,
|
85
85
|
optional: true),
|
86
86
|
FastlaneCore::ConfigItem.new(key: :icon_url,
|
87
87
|
env_name: "FL_SLACK_ICON_URL",
|
88
|
-
description: "Overrides the
|
88
|
+
description: "Overrides the webhook's image property if use_webhook_configured_username_and_icon is false",
|
89
89
|
default_value: "https://s3-eu-west-1.amazonaws.com/fastlane.tools/fastlane.png",
|
90
90
|
is_string: true,
|
91
91
|
optional: true),
|
@@ -69,7 +69,7 @@ module Fastlane
|
|
69
69
|
[
|
70
70
|
FastlaneCore::ConfigItem.new(key: :path,
|
71
71
|
env_name: "FL_UNLOCK_KEYCHAIN_PATH",
|
72
|
-
description: "Path to the
|
72
|
+
description: "Path to the keychain file",
|
73
73
|
optional: false),
|
74
74
|
FastlaneCore::ConfigItem.new(key: :password,
|
75
75
|
env_name: "FL_UNLOCK_KEYCHAIN_PASSWORD",
|
@@ -37,7 +37,7 @@ module Fastlane
|
|
37
37
|
end),
|
38
38
|
FastlaneCore::ConfigItem.new(key: :teamid,
|
39
39
|
env_name: "FL_PROJECT_TEAM_ID",
|
40
|
-
description: "The Team ID
|
40
|
+
description: "The Team ID you want to use",
|
41
41
|
default_value: ENV["TEAM_ID"] || CredentialsManager::AppfileConfig.try_fetch_value(:team_id))
|
42
42
|
]
|
43
43
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
|
2
3
|
lib = File.expand_path("../lib", __FILE__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require '<%= require_path %>/version'
|
@@ -6,10 +7,10 @@ require '<%= require_path %>/version'
|
|
6
7
|
Gem::Specification.new do |spec|
|
7
8
|
spec.name = '<%= gem_name %>'
|
8
9
|
spec.version = Fastlane::<%= plugin_name.fastlane_class %>::VERSION
|
9
|
-
spec.author =
|
10
|
-
spec.email =
|
10
|
+
spec.author = '<%= author %>'
|
11
|
+
spec.email = '<%= email %>'
|
11
12
|
|
12
|
-
spec.summary =
|
13
|
+
spec.summary = '<%= summary %>'
|
13
14
|
# spec.homepage = "https://github.com/<GITHUB_USERNAME>/<%= gem_name %>"
|
14
15
|
spec.license = "MIT"
|
15
16
|
|
@@ -1,3 +1,6 @@
|
|
1
|
+
Style/MultipleComparison:
|
2
|
+
Enabled: false
|
3
|
+
|
1
4
|
Style/PercentLiteralDelimiters:
|
2
5
|
Enabled: false
|
3
6
|
|
@@ -76,14 +79,14 @@ Lint/UselessAssignment:
|
|
76
79
|
- '**/spec/**/*'
|
77
80
|
|
78
81
|
# We could potentially enable the 2 below:
|
79
|
-
|
82
|
+
Layout/IndentHash:
|
80
83
|
Enabled: false
|
81
84
|
|
82
|
-
|
85
|
+
Layout/AlignHash:
|
83
86
|
Enabled: false
|
84
87
|
|
85
88
|
# HoundCI doesn't like this rule
|
86
|
-
|
89
|
+
Layout/DotPosition:
|
87
90
|
Enabled: false
|
88
91
|
|
89
92
|
# We allow !! as it's an easy way to convert ot boolean
|
@@ -95,7 +98,7 @@ Style/SymbolArray:
|
|
95
98
|
Enabled: false
|
96
99
|
|
97
100
|
# We still support Ruby 2.0.0
|
98
|
-
|
101
|
+
Layout/IndentHeredoc:
|
99
102
|
Enabled: false
|
100
103
|
|
101
104
|
# This cop would not work fine with rspec
|
@@ -209,7 +212,7 @@ Style/PerlBackrefs:
|
|
209
212
|
Enabled: false
|
210
213
|
|
211
214
|
# Disable '+ should be surrounded with a single space' for xcodebuild_spec.rb
|
212
|
-
|
215
|
+
Layout/SpaceAroundOperators:
|
213
216
|
Exclude:
|
214
217
|
- '**/spec/actions_specs/xcodebuild_spec.rb'
|
215
218
|
|
@@ -231,6 +234,7 @@ Style/FileName:
|
|
231
234
|
- '**/Fastfile'
|
232
235
|
- '**/Deliverfile'
|
233
236
|
- '**/Snapfile'
|
237
|
+
- '**/*.gemspec'
|
234
238
|
|
235
239
|
# We're not there yet
|
236
240
|
Style/Documentation:
|
@@ -53,7 +53,7 @@ module Fastlane
|
|
53
53
|
beta_info_groups = @beta_info.groups_valid? ? "['#{@beta_info.groups.join("', '")}']" : "nil"
|
54
54
|
beta_info_emails = @beta_info.emails_valid? ? "['#{@beta_info.emails.join("', '")}']" : "nil"
|
55
55
|
|
56
|
-
# rubocop:disable
|
56
|
+
# rubocop:disable Layout/IndentationConsistency
|
57
57
|
%{ #
|
58
58
|
# Learn more here: https://docs.fastlane.tools/getting-started/ios/beta-deployment/
|
59
59
|
# and: https://docs.fastlane.tools/getting-started/android/beta-deployment/
|
@@ -82,7 +82,7 @@ module Fastlane
|
|
82
82
|
# message: "Successfully uploaded a beta release - see it at https://fabric.io/_/beta"
|
83
83
|
# )
|
84
84
|
end}
|
85
|
-
# rubocop:enable
|
85
|
+
# rubocop:enable Layout/IndentationConsistency
|
86
86
|
end
|
87
87
|
|
88
88
|
def expanded_paths_equal?(path1, path2)
|
@@ -152,6 +152,13 @@ module FastlaneCore
|
|
152
152
|
@xcode_version
|
153
153
|
end
|
154
154
|
|
155
|
+
# @return true if Xcode version is higher than 8.3
|
156
|
+
def self.xcode_at_least?(version)
|
157
|
+
FastlaneCore::UI.user_error!("Unable to locate Xcode. Please make sure to have Xcode installed on your machine") if xcode_version.nil?
|
158
|
+
v = xcode_version
|
159
|
+
Gem::Version.new(v) >= Gem::Version.new(version)
|
160
|
+
end
|
161
|
+
|
155
162
|
def self.transporter_java_executable_path
|
156
163
|
return File.join(self.transporter_java_path, 'bin', 'java')
|
157
164
|
end
|
@@ -213,13 +220,6 @@ module FastlaneCore
|
|
213
220
|
keychain_path
|
214
221
|
end
|
215
222
|
|
216
|
-
# @return true if Xcode version is higher than 8.3
|
217
|
-
def self.xcode_at_least?(version)
|
218
|
-
FastlaneCore::UI.user_error!("Unable to locate Xcode. Please make sure to have Xcode installed on your machine") if xcode_version.nil?
|
219
|
-
v = xcode_version
|
220
|
-
Gem::Version.new(v) >= Gem::Version.new(version)
|
221
|
-
end
|
222
|
-
|
223
223
|
# @return the full path to the iTMSTransporter executable
|
224
224
|
def self.itms_path
|
225
225
|
return ENV["FASTLANE_ITUNES_TRANSPORTER_PATH"] if FastlaneCore::Env.truthy?("FASTLANE_ITUNES_TRANSPORTER_PATH")
|
@@ -169,7 +169,7 @@ module FastlaneCore
|
|
169
169
|
|
170
170
|
def handle_error(password)
|
171
171
|
# rubocop:disable Style/CaseEquality
|
172
|
-
unless /^[0-9a-zA-Z\.\$\_]*$/
|
172
|
+
unless password === /^[0-9a-zA-Z\.\$\_]*$/
|
173
173
|
UI.error([
|
174
174
|
"Password contains special characters, which may not be handled properly by iTMSTransporter.",
|
175
175
|
"If you experience problems uploading to iTunes Connect, please consider changing your password to something with only alphanumeric characters."
|
@@ -34,7 +34,24 @@ module Commander
|
|
34
34
|
parse_global_options
|
35
35
|
remove_global_options options, @args
|
36
36
|
|
37
|
+
xcode_outdated = false
|
37
38
|
begin
|
39
|
+
unless FastlaneCore::Helper.xcode_at_least?(Fastlane::MINIMUM_XCODE_RELEASE)
|
40
|
+
xcode_outdated = true
|
41
|
+
end
|
42
|
+
rescue
|
43
|
+
# We don't care about exceptions here
|
44
|
+
# We'll land here if the user doesn't have Xcode at all for example
|
45
|
+
# which is fine for someone who uses fastlane just for Android project
|
46
|
+
# What we *do* care about is when someone links an old version of Xcode
|
47
|
+
end
|
48
|
+
|
49
|
+
begin
|
50
|
+
if xcode_outdated
|
51
|
+
# We have to raise that error within this `begin` block to show a nice user error without a stack trace
|
52
|
+
FastlaneCore::UI.user_error!("fastlane requires a minimum version of Xcode #{Fastlane::MINIMUM_XCODE_RELEASE}, please upgrade and make sure to use `sudo xcode-select -s /Applications/Xcode.app`")
|
53
|
+
end
|
54
|
+
|
38
55
|
collector.did_launch_action(@program[:name])
|
39
56
|
run_active_command
|
40
57
|
rescue InvalidCommandError => e
|
@@ -33,7 +33,7 @@ module Frameit
|
|
33
33
|
FastlaneCore::ConfigItem.new(key: :use_legacy_iphone5s,
|
34
34
|
env_name: "FRAMEIT_USE_LEGACY_IPHONE_5_S",
|
35
35
|
is_string: false,
|
36
|
-
description: "
|
36
|
+
description: "Use iPhone 5s instead of iPhone SE frames",
|
37
37
|
default_value: false),
|
38
38
|
FastlaneCore::ConfigItem.new(key: :use_legacy_iphone6s,
|
39
39
|
env_name: "FRAMEIT_USE_LEGACY_IPHONE_6_S",
|
data/gym/lib/gym/options.rb
CHANGED
@@ -15,7 +15,7 @@ module Gym
|
|
15
15
|
short_option: "-w",
|
16
16
|
env_name: "GYM_WORKSPACE",
|
17
17
|
optional: true,
|
18
|
-
description: "Path the workspace file",
|
18
|
+
description: "Path to the workspace file",
|
19
19
|
verify_block: proc do |value|
|
20
20
|
v = File.expand_path(value.to_s)
|
21
21
|
UI.user_error!("Workspace file not found at path '#{v}'") unless File.exist?(v)
|
@@ -30,7 +30,7 @@ module Gym
|
|
30
30
|
short_option: "-p",
|
31
31
|
optional: true,
|
32
32
|
env_name: "GYM_PROJECT",
|
33
|
-
description: "Path the project file",
|
33
|
+
description: "Path to the project file",
|
34
34
|
verify_block: proc do |value|
|
35
35
|
v = File.expand_path(value.to_s)
|
36
36
|
UI.user_error!("Project file not found at path '#{v}'") unless File.exist?(v)
|
@@ -96,7 +96,7 @@ module Gym
|
|
96
96
|
FastlaneCore::ConfigItem.new(key: :include_bitcode,
|
97
97
|
short_option: "-z",
|
98
98
|
env_name: "GYM_INCLUDE_BITCODE",
|
99
|
-
description: "Should the ipa include bitcode?",
|
99
|
+
description: "Should the ipa file include bitcode?",
|
100
100
|
is_string: false,
|
101
101
|
optional: true),
|
102
102
|
FastlaneCore::ConfigItem.new(key: :export_method,
|
@@ -111,7 +111,7 @@ module Gym
|
|
111
111
|
end),
|
112
112
|
FastlaneCore::ConfigItem.new(key: :export_options,
|
113
113
|
env_name: "GYM_EXPORT_OPTIONS",
|
114
|
-
description: "Specifies path to export options plist.
|
114
|
+
description: "Specifies path to export options plist. Use 'xcodebuild -help' to print the full set of available options",
|
115
115
|
is_string: false,
|
116
116
|
optional: true,
|
117
117
|
conflict_block: proc do |value|
|
@@ -127,7 +127,7 @@ module Gym
|
|
127
127
|
type: :shell_string),
|
128
128
|
FastlaneCore::ConfigItem.new(key: :skip_build_archive,
|
129
129
|
env_name: "GYM_SKIP_BUILD_ARCHIVE",
|
130
|
-
description: "Export ipa from previously
|
130
|
+
description: "Export ipa from previously built xarchive. Uses archive_path as source",
|
131
131
|
is_string: false,
|
132
132
|
optional: true),
|
133
133
|
# Very optional
|
@@ -143,7 +143,7 @@ module Gym
|
|
143
143
|
FastlaneCore::ConfigItem.new(key: :derived_data_path,
|
144
144
|
short_option: "-f",
|
145
145
|
env_name: "GYM_DERIVED_DATA_PATH",
|
146
|
-
description: "The directory where
|
146
|
+
description: "The directory where built products and other derived data will go",
|
147
147
|
optional: true),
|
148
148
|
FastlaneCore::ConfigItem.new(key: :result_bundle,
|
149
149
|
short_option: "-u",
|
@@ -227,7 +227,7 @@ module Gym
|
|
227
227
|
optional: true),
|
228
228
|
FastlaneCore::ConfigItem.new(key: :analyze_build_time,
|
229
229
|
env_name: "GYM_ANALYZE_BUILD_TIME",
|
230
|
-
description: "Analyze the project build time and store the output in culprits.txt file",
|
230
|
+
description: "Analyze the project build time and store the output in 'culprits.txt' file",
|
231
231
|
optional: true,
|
232
232
|
is_string: false),
|
233
233
|
FastlaneCore::ConfigItem.new(key: :xcpretty_utf,
|
data/match/README.md
CHANGED
@@ -327,7 +327,7 @@ Once you've decided which approach to take, all that's left to do is to set your
|
|
327
327
|
|
328
328
|
### Nuke
|
329
329
|
|
330
|
-
If you never really cared about code signing and have a messy Apple Developer account with a lot of invalid, expired or Xcode managed profiles/certificates, you can use the `match nuke` command to revoke your certificates and provisioning profiles. Don't worry, apps that are already available in the App Store will still work. Builds distributed via
|
330
|
+
If you never really cared about code signing and have a messy Apple Developer account with a lot of invalid, expired or Xcode managed profiles/certificates, you can use the `match nuke` command 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.
|
331
331
|
|
332
332
|
To revoke all certificates and provisioning profiles for a specific environment:
|
333
333
|
|
data/pilot/lib/pilot/options.rb
CHANGED
@@ -42,7 +42,7 @@ module Pilot
|
|
42
42
|
short_option: "-w",
|
43
43
|
optional: true,
|
44
44
|
env_name: "PILOT_CHANGELOG",
|
45
|
-
description: "Provide the what's new text when uploading a new build"),
|
45
|
+
description: "Provide the 'what's new' text when uploading a new build"),
|
46
46
|
FastlaneCore::ConfigItem.new(key: :beta_app_description,
|
47
47
|
short_option: "-d",
|
48
48
|
optional: true,
|
@@ -38,7 +38,7 @@ module Precheck
|
|
38
38
|
env_name: "PRECHECK_TEAM_ID",
|
39
39
|
description: "The ID of your iTunes Connect team if you're in multiple teams",
|
40
40
|
optional: true,
|
41
|
-
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:
|
41
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_id),
|
42
42
|
verify_block: proc do |value|
|
43
43
|
ENV["FASTLANE_ITC_TEAM_ID"] = value.to_s
|
44
44
|
end),
|
@@ -47,7 +47,7 @@ module Precheck
|
|
47
47
|
env_name: "PRECHECK_TEAM_NAME",
|
48
48
|
description: "The name of your iTunes Connect team if you're in multiple teams",
|
49
49
|
optional: true,
|
50
|
-
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:
|
50
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_name),
|
51
51
|
verify_block: proc do |value|
|
52
52
|
ENV["FASTLANE_ITC_TEAM_NAME"] = value.to_s
|
53
53
|
end),
|
@@ -22,7 +22,7 @@ module Produce
|
|
22
22
|
short_option: "-e",
|
23
23
|
env_name: "PRODUCE_APP_IDENTIFIER_SUFFIX",
|
24
24
|
optional: true,
|
25
|
-
description: "App Identifier Suffix (Ignored if App Identifier does not
|
25
|
+
description: "App Identifier Suffix (Ignored if App Identifier does not end with .*)"),
|
26
26
|
FastlaneCore::ConfigItem.new(key: :app_name,
|
27
27
|
env_name: "PRODUCE_APP_NAME",
|
28
28
|
short_option: "-q",
|
data/scan/lib/scan/options.rb
CHANGED
@@ -16,7 +16,7 @@ module Scan
|
|
16
16
|
short_option: "-w",
|
17
17
|
env_name: "SCAN_WORKSPACE",
|
18
18
|
optional: true,
|
19
|
-
description: "Path the workspace file",
|
19
|
+
description: "Path to the workspace file",
|
20
20
|
verify_block: proc do |value|
|
21
21
|
v = File.expand_path(value.to_s)
|
22
22
|
UI.user_error!("Workspace file not found at path '#{v}'") unless File.exist?(v)
|
@@ -27,7 +27,7 @@ module Scan
|
|
27
27
|
short_option: "-p",
|
28
28
|
optional: true,
|
29
29
|
env_name: "SCAN_PROJECT",
|
30
|
-
description: "Path the project file",
|
30
|
+
description: "Path to the project file",
|
31
31
|
verify_block: proc do |value|
|
32
32
|
v = File.expand_path(value.to_s)
|
33
33
|
UI.user_error!("Project file not found at path '#{v}'") unless File.exist?(v)
|
@@ -72,11 +72,11 @@ module Scan
|
|
72
72
|
is_string: false,
|
73
73
|
default_value: false),
|
74
74
|
FastlaneCore::ConfigItem.new(key: :code_coverage,
|
75
|
-
description: "Should
|
75
|
+
description: "Should code coverage be generated (Xcode 7 only)?",
|
76
76
|
is_string: false,
|
77
77
|
optional: true),
|
78
78
|
FastlaneCore::ConfigItem.new(key: :address_sanitizer,
|
79
|
-
description: "Should
|
79
|
+
description: "Should the address sanitizer be turned on?",
|
80
80
|
is_string: false,
|
81
81
|
optional: true,
|
82
82
|
conflicting_options: [:thread_sanitizer],
|
@@ -84,7 +84,7 @@ module Scan
|
|
84
84
|
UI.user_error!("You can't use 'address_sanitizer' and 'thread_sanitizer' options in one run")
|
85
85
|
end),
|
86
86
|
FastlaneCore::ConfigItem.new(key: :thread_sanitizer,
|
87
|
-
description: "Should
|
87
|
+
description: "Should the thread sanitizer be turned on?",
|
88
88
|
is_string: false,
|
89
89
|
optional: true,
|
90
90
|
conflicting_options: [:address_sanitizer],
|
@@ -92,7 +92,7 @@ module Scan
|
|
92
92
|
UI.user_error!("You can't use 'thread_sanitizer' and 'address_sanitizer' options in one run")
|
93
93
|
end),
|
94
94
|
FastlaneCore::ConfigItem.new(key: :skip_build,
|
95
|
-
description: "Should
|
95
|
+
description: "Should debug build be skipped before test build?",
|
96
96
|
short_option: "-r",
|
97
97
|
env_name: "SCAN_SKIP_BUILD",
|
98
98
|
is_string: false,
|
@@ -124,7 +124,7 @@ module Scan
|
|
124
124
|
FastlaneCore::ConfigItem.new(key: :buildlog_path,
|
125
125
|
short_option: "-l",
|
126
126
|
env_name: "SCAN_BUILDLOG_PATH",
|
127
|
-
description: "The directory
|
127
|
+
description: "The directory where to store the raw log",
|
128
128
|
default_value: "#{FastlaneCore::Helper.buildlog_path}/scan"),
|
129
129
|
FastlaneCore::ConfigItem.new(key: :include_simulator_logs,
|
130
130
|
env_name: "SCAN_INCLUDE_SIMULATOR_LOGS",
|
@@ -178,7 +178,7 @@ module Scan
|
|
178
178
|
FastlaneCore::ConfigItem.new(key: :open_report,
|
179
179
|
short_option: "-g",
|
180
180
|
env_name: "SCAN_OPEN_REPORT",
|
181
|
-
description: "Should the HTML report be opened when tests are completed",
|
181
|
+
description: "Should the HTML report be opened when tests are completed?",
|
182
182
|
is_string: false,
|
183
183
|
default_value: false),
|
184
184
|
FastlaneCore::ConfigItem.new(key: :configuration,
|
data/sigh/lib/sigh/options.rb
CHANGED
@@ -28,7 +28,7 @@ module Sigh
|
|
28
28
|
end),
|
29
29
|
FastlaneCore::ConfigItem.new(key: :skip_install,
|
30
30
|
env_name: "SIGH_SKIP_INSTALL",
|
31
|
-
description: "By default, the certificate will be added
|
31
|
+
description: "By default, the certificate will be added to your local machine. Setting this flag will skip this action",
|
32
32
|
is_string: false,
|
33
33
|
default_value: false),
|
34
34
|
FastlaneCore::ConfigItem.new(key: :force,
|
@@ -86,7 +86,7 @@ module Spaceship
|
|
86
86
|
# You can find this by uploading an image in iTunes connect
|
87
87
|
# then look for the X-Apple-Upload-Validation-RuleSets value
|
88
88
|
def picture_type_map
|
89
|
-
# rubocop:enable
|
89
|
+
# rubocop:enable Layout/ExtraSpacing
|
90
90
|
{
|
91
91
|
watch: "MZPFT.SortedN27ScreenShot",
|
92
92
|
ipad: "MZPFT.SortedTabletScreenShot",
|
@@ -101,7 +101,7 @@ module Spaceship
|
|
101
101
|
end
|
102
102
|
|
103
103
|
def messages_picture_type_map
|
104
|
-
# rubocop:enable
|
104
|
+
# rubocop:enable Layout/ExtraSpacing
|
105
105
|
{
|
106
106
|
ipad: "MZPFT.SortedTabletMessagesScreenShot",
|
107
107
|
ipadPro: "MZPFT.SortedJ99MessagesScreenShot",
|
data/supply/README.md
CHANGED
@@ -63,6 +63,7 @@ Get in contact with the developer on Twitter: [@FastlaneTools](https://twitter.c
|
|
63
63
|
- Retrieve and edit metadata, such as title and description, for multiple languages
|
64
64
|
- Upload the app icon, promo graphics and screenshots for multiple languages
|
65
65
|
- Have a local copy of the metadata in your git repository
|
66
|
+
- Retrieve version code numbers from existing Google Play tracks
|
66
67
|
|
67
68
|
##### [Do you like fastlane? Be the first to know about updates and new fastlane tools](https://tinyletter.com/fastlane-tools)
|
68
69
|
|
@@ -183,6 +184,10 @@ A common Play publishing scenario might involve uploading an APK version to a te
|
|
183
184
|
|
184
185
|
This can be done using the `--track_promote_to` parameter. The `--track_promote_to` parameter works with the `--track` parameter to command the Play API to promote existing Play track APK version(s) (those active on the track identified by the `--track` param value) to a new track (`--track_promote_to` value).
|
185
186
|
|
187
|
+
## Retrieve Track Version Codes
|
188
|
+
|
189
|
+
Before performing a new APK upload you may want to check existing track version codes, or you may simply want to provide an informational lane that displays the currently promoted version codes for the production track. You can use the `google_play_track_version_codes` action to retrieve existing version codes for a package and track. For more information, see `fastlane action google_play_track_version_codes` help output.
|
190
|
+
|
186
191
|
## Tips
|
187
192
|
|
188
193
|
### [`fastlane`](https://fastlane.tools) Toolchain
|
@@ -10,12 +10,12 @@ module Supply
|
|
10
10
|
FastlaneCore::ConfigItem.new(key: :package_name,
|
11
11
|
env_name: "SUPPLY_PACKAGE_NAME",
|
12
12
|
short_option: "-p",
|
13
|
-
description: "The package name of the
|
13
|
+
description: "The package name of the application to use",
|
14
14
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:package_name)),
|
15
15
|
FastlaneCore::ConfigItem.new(key: :track,
|
16
16
|
short_option: "-a",
|
17
17
|
env_name: "SUPPLY_TRACK",
|
18
|
-
description: "The
|
18
|
+
description: "The track of the application to use: #{valid_tracks.join(', ')}",
|
19
19
|
default_value: 'production',
|
20
20
|
verify_block: proc do |value|
|
21
21
|
available = valid_tracks
|
@@ -60,7 +60,7 @@ module Supply
|
|
60
60
|
env_name: "SUPPLY_JSON_KEY",
|
61
61
|
short_option: "-j",
|
62
62
|
conflicting_options: [:issuer, :key, :json_key_data],
|
63
|
-
optional: true, # this
|
63
|
+
optional: true, # this shouldn't be optional but is until --key and --issuer are completely removed
|
64
64
|
description: "The service account json file used to authenticate with Google",
|
65
65
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:json_key_file),
|
66
66
|
verify_block: proc do |value|
|
@@ -133,7 +133,7 @@ module Supply
|
|
133
133
|
FastlaneCore::ConfigItem.new(key: :track_promote_to,
|
134
134
|
env_name: "SUPPLY_TRACK_PROMOTE_TO",
|
135
135
|
optional: true,
|
136
|
-
description: "The
|
136
|
+
description: "The track to promote to: #{valid_tracks.join(', ')}",
|
137
137
|
verify_block: proc do |value|
|
138
138
|
available = valid_tracks
|
139
139
|
UI.user_error! "Invalid value '#{value}', must be #{available.join(', ')}" unless available.include? value
|
@@ -141,7 +141,7 @@ module Supply
|
|
141
141
|
FastlaneCore::ConfigItem.new(key: :validate_only,
|
142
142
|
env_name: "SUPPLY_VALIDATE_ONLY",
|
143
143
|
optional: true,
|
144
|
-
description: "
|
144
|
+
description: "Only validate changes with Google Play rather than actually publish",
|
145
145
|
is_string: false,
|
146
146
|
default_value: false),
|
147
147
|
FastlaneCore::ConfigItem.new(key: :mapping,
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Supply
|
2
|
+
class Reader
|
3
|
+
def track_version_codes
|
4
|
+
track = Supply.config[:track]
|
5
|
+
|
6
|
+
client.begin_edit(package_name: Supply.config[:package_name])
|
7
|
+
version_codes = client.track_version_codes(track)
|
8
|
+
client.abort_current_edit
|
9
|
+
|
10
|
+
if version_codes.empty?
|
11
|
+
UI.important("No version codes found in track '#{track}'")
|
12
|
+
else
|
13
|
+
UI.success("Found '#{version_codes.join(', ')}' version codes in track '#{track}'")
|
14
|
+
end
|
15
|
+
|
16
|
+
version_codes
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def client
|
22
|
+
@client ||= Client.make_from_config
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.45.0.beta.20170706010014
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
@@ -15,7 +15,7 @@ authors:
|
|
15
15
|
autorequire:
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
|
-
date: 2017-06
|
18
|
+
date: 2017-07-06 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: slack-notifier
|
@@ -705,14 +705,14 @@ dependencies:
|
|
705
705
|
requirements:
|
706
706
|
- - '='
|
707
707
|
- !ruby/object:Gem::Version
|
708
|
-
version: 0.
|
708
|
+
version: 0.49.1
|
709
709
|
type: :development
|
710
710
|
prerelease: false
|
711
711
|
version_requirements: !ruby/object:Gem::Requirement
|
712
712
|
requirements:
|
713
713
|
- - '='
|
714
714
|
- !ruby/object:Gem::Version
|
715
|
-
version: 0.
|
715
|
+
version: 0.49.1
|
716
716
|
- !ruby/object:Gem::Dependency
|
717
717
|
name: rb-readline
|
718
718
|
requirement: !ruby/object:Gem::Requirement
|
@@ -899,6 +899,7 @@ files:
|
|
899
899
|
- fastlane/lib/fastlane/actions/git_commit.rb
|
900
900
|
- fastlane/lib/fastlane/actions/git_pull.rb
|
901
901
|
- fastlane/lib/fastlane/actions/git_tag_exists.rb
|
902
|
+
- fastlane/lib/fastlane/actions/google_play_track_version_codes.rb
|
902
903
|
- fastlane/lib/fastlane/actions/gradle.rb
|
903
904
|
- fastlane/lib/fastlane/actions/gym.rb
|
904
905
|
- fastlane/lib/fastlane/actions/hg_add_tag.rb
|
@@ -1385,6 +1386,7 @@ files:
|
|
1385
1386
|
- supply/lib/supply/commands_generator.rb
|
1386
1387
|
- supply/lib/supply/listing.rb
|
1387
1388
|
- supply/lib/supply/options.rb
|
1389
|
+
- supply/lib/supply/reader.rb
|
1388
1390
|
- supply/lib/supply/setup.rb
|
1389
1391
|
- supply/lib/supply/uploader.rb
|
1390
1392
|
homepage: https://fastlane.tools
|
@@ -1395,24 +1397,24 @@ metadata:
|
|
1395
1397
|
post_install_message:
|
1396
1398
|
rdoc_options: []
|
1397
1399
|
require_paths:
|
1400
|
+
- match/lib
|
1398
1401
|
- cert/lib
|
1399
|
-
-
|
1402
|
+
- screengrab/lib
|
1403
|
+
- scan/lib
|
1404
|
+
- gym/lib
|
1405
|
+
- snapshot/lib
|
1400
1406
|
- deliver/lib
|
1401
1407
|
- fastlane/lib
|
1402
|
-
-
|
1403
|
-
-
|
1404
|
-
- gym/lib
|
1405
|
-
- match/lib
|
1408
|
+
- supply/lib
|
1409
|
+
- precheck/lib
|
1406
1410
|
- pem/lib
|
1407
1411
|
- pilot/lib
|
1408
|
-
- precheck/lib
|
1409
|
-
- produce/lib
|
1410
|
-
- scan/lib
|
1411
|
-
- screengrab/lib
|
1412
1412
|
- sigh/lib
|
1413
|
-
-
|
1413
|
+
- frameit/lib
|
1414
|
+
- produce/lib
|
1415
|
+
- credentials_manager/lib
|
1416
|
+
- fastlane_core/lib
|
1414
1417
|
- spaceship/lib
|
1415
|
-
- supply/lib
|
1416
1418
|
required_ruby_version: !ruby/object:Gem::Requirement
|
1417
1419
|
requirements:
|
1418
1420
|
- - ">="
|
@@ -1420,15 +1422,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1420
1422
|
version: 2.0.0
|
1421
1423
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1422
1424
|
requirements:
|
1423
|
-
- - "
|
1425
|
+
- - ">"
|
1424
1426
|
- !ruby/object:Gem::Version
|
1425
|
-
version:
|
1427
|
+
version: 1.3.1
|
1426
1428
|
requirements: []
|
1427
1429
|
rubyforge_project:
|
1428
|
-
rubygems_version: 2.
|
1430
|
+
rubygems_version: 2.4.5.2
|
1429
1431
|
signing_key:
|
1430
1432
|
specification_version: 4
|
1431
1433
|
summary: The easiest way to automate beta deployments and releases for your iOS and
|
1432
1434
|
Android apps
|
1433
1435
|
test_files: []
|
1434
|
-
has_rdoc:
|