fastlane 2.82.0.beta.20180217010002 → 2.82.0.beta.20180218010003
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/cert/lib/cert/options.rb +5 -1
- data/deliver/lib/deliver/options.rb +10 -2
- data/fastlane/lib/assets/ActionDetails.md.erb +5 -4
- data/fastlane/lib/fastlane/actions/add_git_tag.rb +1 -0
- data/fastlane/lib/fastlane/actions/app_store_build_number.rb +6 -2
- data/fastlane/lib/fastlane/actions/appaloosa.rb +3 -1
- data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +1 -0
- data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +1 -0
- data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +1 -0
- data/fastlane/lib/fastlane/actions/commit_github_file.rb +1 -0
- data/fastlane/lib/fastlane/actions/crashlytics.rb +2 -0
- data/fastlane/lib/fastlane/actions/create_pull_request.rb +2 -0
- data/fastlane/lib/fastlane/actions/deploygate.rb +2 -0
- data/fastlane/lib/fastlane/actions/dotgpg_environment.rb +1 -0
- data/fastlane/lib/fastlane/actions/download_dsyms.rb +6 -2
- data/fastlane/lib/fastlane/actions/dsym_zip.rb +1 -0
- data/fastlane/lib/fastlane/actions/frame_screenshots.rb +2 -1
- data/fastlane/lib/fastlane/actions/get_ipa_info_plist_value.rb +2 -1
- data/fastlane/lib/fastlane/actions/github_api.rb +1 -0
- data/fastlane/lib/fastlane/actions/hockey.rb +7 -1
- data/fastlane/lib/fastlane/actions/install_on_device.rb +1 -0
- data/fastlane/lib/fastlane/actions/installr.rb +1 -0
- data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +6 -2
- data/fastlane/lib/fastlane/actions/modify_services.rb +6 -2
- data/fastlane/lib/fastlane/actions/read_podspec.rb +1 -0
- data/fastlane/lib/fastlane/actions/register_device.rb +4 -1
- data/fastlane/lib/fastlane/actions/register_devices.rb +4 -1
- data/fastlane/lib/fastlane/actions/resign.rb +2 -0
- data/fastlane/lib/fastlane/actions/s3.rb +14 -6
- data/fastlane/lib/fastlane/actions/set_changelog.rb +6 -2
- data/fastlane/lib/fastlane/actions/set_github_release.rb +3 -1
- data/fastlane/lib/fastlane/actions/testfairy.rb +2 -0
- data/fastlane/lib/fastlane/actions/tryouts.rb +1 -0
- data/fastlane/lib/fastlane/actions/update_app_identifier.rb +3 -1
- data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -0
- data/fastlane/lib/fastlane/actions/update_project_code_signing.rb +4 -2
- data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +1 -0
- data/fastlane/lib/fastlane/actions/update_project_team.rb +3 -1
- data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +1 -0
- data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +2 -0
- data/fastlane/lib/fastlane/actions/verify_xcode.rb +1 -0
- data/fastlane/lib/fastlane/actions/version_bump_podspec.rb +1 -0
- data/fastlane/lib/fastlane/actions/version_get_podspec.rb +1 -0
- data/fastlane/lib/fastlane/actions/xcode_install.rb +4 -2
- data/fastlane/lib/fastlane/documentation/actions_list.rb +7 -1
- data/fastlane/lib/fastlane/erb_template_helper.rb +8 -3
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +8 -0
- data/frameit/lib/frameit/options.rb +2 -1
- data/gym/lib/gym/options.rb +2 -1
- data/match/lib/match/options.rb +6 -2
- data/pem/lib/pem/options.rb +6 -2
- data/pilot/lib/pilot/options.rb +10 -3
- data/precheck/lib/precheck/options.rb +6 -2
- data/produce/lib/produce/options.rb +9 -2
- data/scan/lib/scan/options.rb +4 -2
- data/screengrab/lib/screengrab/options.rb +6 -1
- data/sigh/lib/sigh/options.rb +6 -2
- data/snapshot/lib/snapshot/options.rb +6 -3
- data/spaceship/lib/spaceship/tunes/iap.rb +45 -0
- data/spaceship/lib/spaceship/tunes/iap_detail.rb +21 -1
- data/spaceship/lib/spaceship/tunes/iap_list.rb +7 -0
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +18 -0
- data/supply/lib/supply/options.rb +9 -2
- metadata +2 -2
@@ -1,5 +1,5 @@
|
|
1
1
|
module Fastlane
|
2
|
-
VERSION = '2.82.0.beta.
|
2
|
+
VERSION = '2.82.0.beta.20180218010003'.freeze
|
3
3
|
DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
|
4
4
|
MINIMUM_XCODE_RELEASE = "7.0".freeze
|
5
5
|
RUBOCOP_REQUIREMENT = '0.49.1'.freeze
|
@@ -20,6 +20,9 @@ module FastlaneCore
|
|
20
20
|
# the value which is used if there was no given values and no environment values
|
21
21
|
attr_accessor :default_value
|
22
22
|
|
23
|
+
# [Boolean] Set if the default value is generated dynamically
|
24
|
+
attr_accessor :default_value_dynamic
|
25
|
+
|
23
26
|
# the value which is used during Swift code generation
|
24
27
|
# if the default_value reads from ENV or a file, or from local credentials, we need
|
25
28
|
# to provide a different default or it might be included in our autogenerated Swift
|
@@ -70,6 +73,7 @@ module FastlaneCore
|
|
70
73
|
# @param description (String) A description shown to the user
|
71
74
|
# @param short_option (String) A string of length 1 which is used for the command parameters (e.g. -f)
|
72
75
|
# @param default_value the value which is used if there was no given values and no environment values
|
76
|
+
# @param default_value_dynamic (Boolean) Set if the default value is generated dynamically
|
73
77
|
# @param verify_block an optional block which is called when a new value is set.
|
74
78
|
# Check value is valid. This could be type checks or if a folder/file exists
|
75
79
|
# You have to raise a specific exception if something goes wrong. Append .red after the string
|
@@ -82,11 +86,13 @@ module FastlaneCore
|
|
82
86
|
# @param deprecated (String) Set if the option is deprecated. A deprecated option should be optional and is made optional if the parameter isn't set, and fails otherwise
|
83
87
|
# @param sensitive (Boolean) Set if the variable is sensitive, such as a password or API token, to prevent echoing when prompted for the parameter
|
84
88
|
# @param display_in_shell (Boolean) Set if the variable can be used from shell
|
89
|
+
# rubocop:disable Metrics/ParameterLists
|
85
90
|
def initialize(key: nil,
|
86
91
|
env_name: nil,
|
87
92
|
description: nil,
|
88
93
|
short_option: nil,
|
89
94
|
default_value: nil,
|
95
|
+
default_value_dynamic: false,
|
90
96
|
verify_block: nil,
|
91
97
|
is_string: true,
|
92
98
|
type: nil,
|
@@ -133,6 +139,7 @@ module FastlaneCore
|
|
133
139
|
@description = description
|
134
140
|
@short_option = short_option
|
135
141
|
@default_value = default_value
|
142
|
+
@default_value_dynamic = default_value_dynamic
|
136
143
|
@verify_block = verify_block
|
137
144
|
@is_string = is_string
|
138
145
|
@data_type = type
|
@@ -151,6 +158,7 @@ module FastlaneCore
|
|
151
158
|
|
152
159
|
update_code_gen_default_value_if_able!
|
153
160
|
end
|
161
|
+
# rubocop:enable Metrics/ParameterLists
|
154
162
|
|
155
163
|
# if code_gen_default_value is nil, use the default value if it isn't a `code_gen_sensitive` value
|
156
164
|
def update_code_gen_default_value_if_able!
|
data/gym/lib/gym/options.rb
CHANGED
@@ -163,7 +163,8 @@ module Gym
|
|
163
163
|
short_option: "-l",
|
164
164
|
env_name: "GYM_BUILDLOG_PATH",
|
165
165
|
description: "The directory where to store the build log",
|
166
|
-
default_value: "#{FastlaneCore::Helper.buildlog_path}/gym"
|
166
|
+
default_value: "#{FastlaneCore::Helper.buildlog_path}/gym",
|
167
|
+
default_value_dynamic: true),
|
167
168
|
FastlaneCore::ConfigItem.new(key: :sdk,
|
168
169
|
short_option: "-k",
|
169
170
|
env_name: "GYM_SDK",
|
data/match/lib/match/options.rb
CHANGED
@@ -37,12 +37,14 @@ module Match
|
|
37
37
|
type: Array, # we actually allow String and Array here
|
38
38
|
skip_type_validation: true,
|
39
39
|
code_gen_sensitive: true,
|
40
|
-
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)
|
40
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier),
|
41
|
+
default_value_dynamic: true),
|
41
42
|
FastlaneCore::ConfigItem.new(key: :username,
|
42
43
|
short_option: "-u",
|
43
44
|
env_name: "MATCH_USERNAME",
|
44
45
|
description: "Your Apple ID Username",
|
45
|
-
default_value: user
|
46
|
+
default_value: user,
|
47
|
+
default_value_dynamic: true),
|
46
48
|
FastlaneCore::ConfigItem.new(key: :keychain_name,
|
47
49
|
short_option: "-s",
|
48
50
|
env_name: "MATCH_KEYCHAIN_NAME",
|
@@ -66,6 +68,7 @@ module Match
|
|
66
68
|
optional: true,
|
67
69
|
code_gen_sensitive: true,
|
68
70
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_id),
|
71
|
+
default_value_dynamic: true,
|
69
72
|
verify_block: proc do |value|
|
70
73
|
ENV["FASTLANE_TEAM_ID"] = value.to_s
|
71
74
|
end),
|
@@ -86,6 +89,7 @@ module Match
|
|
86
89
|
optional: true,
|
87
90
|
code_gen_sensitive: true,
|
88
91
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_name),
|
92
|
+
default_value_dynamic: true,
|
89
93
|
verify_block: proc do |value|
|
90
94
|
ENV["FASTLANE_TEAM_NAME"] = value.to_s
|
91
95
|
end),
|
data/pem/lib/pem/options.rb
CHANGED
@@ -45,17 +45,20 @@ module PEM
|
|
45
45
|
env_name: "PEM_APP_IDENTIFIER",
|
46
46
|
description: "The bundle identifier of your app",
|
47
47
|
code_gen_sensitive: true,
|
48
|
-
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)
|
48
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier),
|
49
|
+
default_value_dynamic: true),
|
49
50
|
FastlaneCore::ConfigItem.new(key: :username,
|
50
51
|
short_option: "-u",
|
51
52
|
env_name: "PEM_USERNAME",
|
52
53
|
description: "Your Apple ID Username",
|
53
|
-
default_value: user
|
54
|
+
default_value: user,
|
55
|
+
default_value_dynamic: true),
|
54
56
|
FastlaneCore::ConfigItem.new(key: :team_id,
|
55
57
|
short_option: "-b",
|
56
58
|
env_name: "PEM_TEAM_ID",
|
57
59
|
code_gen_sensitive: true,
|
58
60
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_id),
|
61
|
+
default_value_dynamic: true,
|
59
62
|
description: "The ID of your Developer Portal team if you're in multiple teams",
|
60
63
|
optional: true,
|
61
64
|
verify_block: proc do |value|
|
@@ -68,6 +71,7 @@ module PEM
|
|
68
71
|
optional: true,
|
69
72
|
code_gen_sensitive: true,
|
70
73
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_name),
|
74
|
+
default_value_dynamic: true,
|
71
75
|
verify_block: proc do |value|
|
72
76
|
ENV["FASTLANE_TEAM_NAME"] = value.to_s
|
73
77
|
end),
|
data/pilot/lib/pilot/options.rb
CHANGED
@@ -14,14 +14,16 @@ module Pilot
|
|
14
14
|
short_option: "-u",
|
15
15
|
env_name: "PILOT_USERNAME",
|
16
16
|
description: "Your Apple ID Username",
|
17
|
-
default_value: user
|
17
|
+
default_value: user,
|
18
|
+
default_value_dynamic: true),
|
18
19
|
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
19
20
|
short_option: "-a",
|
20
21
|
env_name: "PILOT_APP_IDENTIFIER",
|
21
22
|
description: "The bundle identifier of the app to upload or manage testers (optional)",
|
22
23
|
optional: true,
|
23
24
|
code_gen_sensitive: true,
|
24
|
-
default_value: ENV["TESTFLIGHT_APP_IDENTITIFER"] || CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)
|
25
|
+
default_value: ENV["TESTFLIGHT_APP_IDENTITIFER"] || CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier),
|
26
|
+
default_value_dynamic: true),
|
25
27
|
FastlaneCore::ConfigItem.new(key: :app_platform,
|
26
28
|
short_option: "-m",
|
27
29
|
env_name: "PILOT_PLATFORM",
|
@@ -38,6 +40,7 @@ module Pilot
|
|
38
40
|
description: "Path to the ipa file to upload",
|
39
41
|
code_gen_sensitive: true,
|
40
42
|
default_value: Dir["*.ipa"].sort_by { |x| File.mtime(x) }.last,
|
43
|
+
default_value_dynamic: true,
|
41
44
|
verify_block: proc do |value|
|
42
45
|
value = File.expand_path(value)
|
43
46
|
UI.user_error!("Could not find ipa file at path '#{value}'") unless File.exist?(value)
|
@@ -83,7 +86,8 @@ module Pilot
|
|
83
86
|
description: "The unique App ID provided by iTunes Connect",
|
84
87
|
optional: true,
|
85
88
|
code_gen_sensitive: true,
|
86
|
-
default_value: ENV["TESTFLIGHT_APPLE_ID"]
|
89
|
+
default_value: ENV["TESTFLIGHT_APPLE_ID"],
|
90
|
+
default_value_dynamic: true),
|
87
91
|
FastlaneCore::ConfigItem.new(key: :distribute_external,
|
88
92
|
is_string: false,
|
89
93
|
env_name: "PILOT_DISTRIBUTE_EXTERNAL",
|
@@ -135,6 +139,7 @@ module Pilot
|
|
135
139
|
is_string: false, # as we also allow integers, which we convert to strings anyway
|
136
140
|
code_gen_sensitive: true,
|
137
141
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_id),
|
142
|
+
default_value_dynamic: true,
|
138
143
|
verify_block: proc do |value|
|
139
144
|
ENV["FASTLANE_ITC_TEAM_ID"] = value.to_s
|
140
145
|
end),
|
@@ -145,6 +150,7 @@ module Pilot
|
|
145
150
|
optional: true,
|
146
151
|
code_gen_sensitive: true,
|
147
152
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_name),
|
153
|
+
default_value_dynamic: true,
|
148
154
|
verify_block: proc do |value|
|
149
155
|
ENV["FASTLANE_ITC_TEAM_NAME"] = value.to_s
|
150
156
|
end),
|
@@ -155,6 +161,7 @@ module Pilot
|
|
155
161
|
is_string: true,
|
156
162
|
code_gen_sensitive: true,
|
157
163
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_id),
|
164
|
+
default_value_dynamic: true,
|
158
165
|
verify_block: proc do |value|
|
159
166
|
ENV["FASTLANE_TEAM_ID"] = value.to_s
|
160
167
|
end),
|
@@ -30,12 +30,14 @@ module Precheck
|
|
30
30
|
env_name: "PRECHECK_APP_IDENTIFIER",
|
31
31
|
description: "The bundle identifier of your app",
|
32
32
|
code_gen_sensitive: true,
|
33
|
-
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)
|
33
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier),
|
34
|
+
default_value_dynamic: true),
|
34
35
|
FastlaneCore::ConfigItem.new(key: :username,
|
35
36
|
short_option: "-u",
|
36
37
|
env_name: "PRECHECK_USERNAME",
|
37
38
|
description: "Your Apple ID Username",
|
38
|
-
default_value: user
|
39
|
+
default_value: user,
|
40
|
+
default_value_dynamic: true),
|
39
41
|
FastlaneCore::ConfigItem.new(key: :team_id,
|
40
42
|
short_option: "-b",
|
41
43
|
env_name: "PRECHECK_TEAM_ID",
|
@@ -43,6 +45,7 @@ module Precheck
|
|
43
45
|
optional: true,
|
44
46
|
code_gen_sensitive: true,
|
45
47
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_id),
|
48
|
+
default_value_dynamic: true,
|
46
49
|
verify_block: proc do |value|
|
47
50
|
ENV["FASTLANE_ITC_TEAM_ID"] = value.to_s
|
48
51
|
end),
|
@@ -53,6 +56,7 @@ module Precheck
|
|
53
56
|
optional: true,
|
54
57
|
code_gen_sensitive: true,
|
55
58
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_name),
|
59
|
+
default_value_dynamic: true,
|
56
60
|
verify_block: proc do |value|
|
57
61
|
ENV["FASTLANE_ITC_TEAM_NAME"] = value.to_s
|
58
62
|
end),
|
@@ -15,13 +15,15 @@ module Produce
|
|
15
15
|
env_name: "PRODUCE_USERNAME",
|
16
16
|
description: "Your Apple ID Username",
|
17
17
|
code_gen_sensitive: true,
|
18
|
-
default_value: user
|
18
|
+
default_value: user,
|
19
|
+
default_value_dynamic: true),
|
19
20
|
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
20
21
|
env_name: "PRODUCE_APP_IDENTIFIER",
|
21
22
|
short_option: "-a",
|
22
23
|
description: "App Identifier (Bundle ID, e.g. com.krausefx.app)",
|
23
24
|
code_gen_sensitive: true,
|
24
|
-
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)
|
25
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier),
|
26
|
+
default_value_dynamic: true),
|
25
27
|
FastlaneCore::ConfigItem.new(key: :bundle_identifier_suffix,
|
26
28
|
short_option: "-e",
|
27
29
|
env_name: "PRODUCE_APP_IDENTIFIER_SUFFIX",
|
@@ -42,6 +44,7 @@ module Produce
|
|
42
44
|
description: "SKU Number (e.g. '1234')",
|
43
45
|
code_gen_sensitive: true,
|
44
46
|
default_value: Time.now.to_i.to_s,
|
47
|
+
default_value_dynamic: true,
|
45
48
|
is_string: true),
|
46
49
|
FastlaneCore::ConfigItem.new(key: :platform,
|
47
50
|
short_option: "-j",
|
@@ -119,6 +122,7 @@ module Produce
|
|
119
122
|
optional: true,
|
120
123
|
code_gen_sensitive: true,
|
121
124
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_id),
|
125
|
+
default_value_dynamic: true,
|
122
126
|
verify_block: proc do |value|
|
123
127
|
ENV["FASTLANE_TEAM_ID"] = value.to_s
|
124
128
|
end),
|
@@ -129,6 +133,7 @@ module Produce
|
|
129
133
|
optional: true,
|
130
134
|
code_gen_sensitive: true,
|
131
135
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_name),
|
136
|
+
default_value_dynamic: true,
|
132
137
|
verify_block: proc do |value|
|
133
138
|
ENV["FASTLANE_TEAM_NAME"] = value.to_s
|
134
139
|
end),
|
@@ -140,6 +145,7 @@ module Produce
|
|
140
145
|
is_string: false, # as we also allow integers, which we convert to strings anyway
|
141
146
|
code_gen_sensitive: true,
|
142
147
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_id),
|
148
|
+
default_value_dynamic: true,
|
143
149
|
verify_block: proc do |value|
|
144
150
|
ENV["FASTLANE_ITC_TEAM_ID"] = value.to_s
|
145
151
|
end),
|
@@ -150,6 +156,7 @@ module Produce
|
|
150
156
|
optional: true,
|
151
157
|
code_gen_sensitive: true,
|
152
158
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_name),
|
159
|
+
default_value_dynamic: true,
|
153
160
|
verify_block: proc do |value|
|
154
161
|
ENV["FASTLANE_ITC_TEAM_NAME"] = value.to_s
|
155
162
|
end)
|
data/scan/lib/scan/options.rb
CHANGED
@@ -108,7 +108,8 @@ module Scan
|
|
108
108
|
description: "The directory in which all reports will be stored",
|
109
109
|
code_gen_sensitive: true,
|
110
110
|
code_gen_default_value: "./test_output",
|
111
|
-
default_value: File.join(containing, "test_output")
|
111
|
+
default_value: File.join(containing, "test_output"),
|
112
|
+
default_value_dynamic: true),
|
112
113
|
FastlaneCore::ConfigItem.new(key: :output_style,
|
113
114
|
short_option: "-b",
|
114
115
|
env_name: "SCAN_OUTPUT_STYLE",
|
@@ -132,7 +133,8 @@ module Scan
|
|
132
133
|
short_option: "-l",
|
133
134
|
env_name: "SCAN_BUILDLOG_PATH",
|
134
135
|
description: "The directory where to store the raw log",
|
135
|
-
default_value: "#{FastlaneCore::Helper.buildlog_path}/scan"
|
136
|
+
default_value: "#{FastlaneCore::Helper.buildlog_path}/scan",
|
137
|
+
default_value_dynamic: true),
|
136
138
|
FastlaneCore::ConfigItem.new(key: :include_simulator_logs,
|
137
139
|
env_name: "SCAN_INCLUDE_SIMULATOR_LOGS",
|
138
140
|
description: "If the logs generated by the app (e.g. using NSLog, perror, etc.) in the Simulator should be written to the output_directory",
|
@@ -17,6 +17,7 @@ module Screengrab
|
|
17
17
|
optional: true,
|
18
18
|
code_gen_sensitive: true,
|
19
19
|
default_value: ENV['ANDROID_HOME'] || ENV['ANDROID_SDK'],
|
20
|
+
default_value_dynamic: true,
|
20
21
|
description: "Path to the root of your Android SDK installation, e.g. ~/tools/android-sdk-macosx"),
|
21
22
|
FastlaneCore::ConfigItem.new(key: :build_tools_version,
|
22
23
|
short_option: "-i",
|
@@ -41,13 +42,15 @@ module Screengrab
|
|
41
42
|
env_name: 'SCREENGRAB_SKIP_OPEN_SUMMARY',
|
42
43
|
description: "Don't open the summary after running _screengrab_",
|
43
44
|
default_value: DEFAULT_SKIP_OPEN_SUMMARY,
|
45
|
+
default_value_dynamic: true,
|
44
46
|
is_string: false),
|
45
47
|
FastlaneCore::ConfigItem.new(key: :app_package_name,
|
46
48
|
env_name: 'SCREENGRAB_APP_PACKAGE_NAME',
|
47
49
|
short_option: "-a",
|
48
50
|
description: "The package name of the app under test (e.g. com.yourcompany.yourapp)",
|
49
51
|
code_gen_sensitive: true,
|
50
|
-
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:package_name)
|
52
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:package_name),
|
53
|
+
default_value_dynamic: true),
|
51
54
|
FastlaneCore::ConfigItem.new(key: :tests_package_name,
|
52
55
|
env_name: 'SCREENGRAB_TESTS_PACKAGE_NAME',
|
53
56
|
optional: true,
|
@@ -88,6 +91,7 @@ module Screengrab
|
|
88
91
|
short_option: "-k",
|
89
92
|
code_gen_sensitive: true,
|
90
93
|
default_value: Dir[File.join("app", "build", "outputs", "apk", "app-debug.apk")].last,
|
94
|
+
default_value_dynamic: true,
|
91
95
|
verify_block: proc do |value|
|
92
96
|
UI.user_error!("Could not find APK file at path '#{value}'") unless File.exist?(value)
|
93
97
|
end),
|
@@ -98,6 +102,7 @@ module Screengrab
|
|
98
102
|
short_option: "-b",
|
99
103
|
code_gen_sensitive: true,
|
100
104
|
default_value: Dir[File.join("app", "build", "outputs", "apk", "app-debug-androidTest-unaligned.apk")].last,
|
105
|
+
default_value_dynamic: true,
|
101
106
|
verify_block: proc do |value|
|
102
107
|
UI.user_error!("Could not find APK file at path '#{value}'") unless File.exist?(value)
|
103
108
|
end),
|
data/sigh/lib/sigh/options.rb
CHANGED
@@ -43,12 +43,14 @@ module Sigh
|
|
43
43
|
env_name: "SIGH_APP_IDENTIFIER",
|
44
44
|
description: "The bundle identifier of your app",
|
45
45
|
code_gen_sensitive: true,
|
46
|
-
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)
|
46
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier),
|
47
|
+
default_value_dynamic: true),
|
47
48
|
FastlaneCore::ConfigItem.new(key: :username,
|
48
49
|
short_option: "-u",
|
49
50
|
env_name: "SIGH_USERNAME",
|
50
51
|
description: "Your Apple ID Username",
|
51
|
-
default_value: user
|
52
|
+
default_value: user,
|
53
|
+
default_value_dynamic: true),
|
52
54
|
FastlaneCore::ConfigItem.new(key: :team_id,
|
53
55
|
short_option: "-b",
|
54
56
|
env_name: "SIGH_TEAM_ID",
|
@@ -56,6 +58,7 @@ module Sigh
|
|
56
58
|
optional: true,
|
57
59
|
code_gen_sensitive: true,
|
58
60
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_id),
|
61
|
+
default_value_dynamic: true,
|
59
62
|
verify_block: proc do |value|
|
60
63
|
ENV["FASTLANE_TEAM_ID"] = value.to_s
|
61
64
|
end),
|
@@ -66,6 +69,7 @@ module Sigh
|
|
66
69
|
optional: true,
|
67
70
|
code_gen_sensitive: true,
|
68
71
|
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_name),
|
72
|
+
default_value_dynamic: true,
|
69
73
|
verify_block: proc do |value|
|
70
74
|
ENV["FASTLANE_TEAM_NAME"] = value.to_s
|
71
75
|
end),
|
@@ -66,7 +66,8 @@ module Snapshot
|
|
66
66
|
short_option: "-o",
|
67
67
|
env_name: "SNAPSHOT_OUTPUT_DIRECTORY",
|
68
68
|
description: "The directory where to store the screenshots",
|
69
|
-
default_value: output_directory
|
69
|
+
default_value: output_directory,
|
70
|
+
default_value_dynamic: true),
|
70
71
|
FastlaneCore::ConfigItem.new(key: :output_simulator_logs,
|
71
72
|
env_name: "SNAPSHOT_OUTPUT_SIMULATOR_LOGS",
|
72
73
|
description: "If the logs generated by the app (e.g. using NSLog, perror, etc.) in the Simulator should be written to the output_directory",
|
@@ -113,7 +114,8 @@ module Snapshot
|
|
113
114
|
optional: true,
|
114
115
|
description: "The bundle identifier of the app to uninstall (only needed when enabling reinstall_app)",
|
115
116
|
code_gen_sensitive: true,
|
116
|
-
default_value: ENV["SNAPSHOT_APP_IDENTITIFER"] || CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)
|
117
|
+
default_value: ENV["SNAPSHOT_APP_IDENTITIFER"] || CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier),
|
118
|
+
default_value_dynamic: true),
|
117
119
|
FastlaneCore::ConfigItem.new(key: :add_photos,
|
118
120
|
env_name: 'SNAPSHOT_PHOTOS',
|
119
121
|
short_option: "-j",
|
@@ -132,7 +134,8 @@ module Snapshot
|
|
132
134
|
short_option: "-l",
|
133
135
|
env_name: "SNAPSHOT_BUILDLOG_PATH",
|
134
136
|
description: "The directory where to store the build log",
|
135
|
-
default_value: "#{FastlaneCore::Helper.buildlog_path}/snapshot"
|
137
|
+
default_value: "#{FastlaneCore::Helper.buildlog_path}/snapshot",
|
138
|
+
default_value_dynamic: true),
|
136
139
|
FastlaneCore::ConfigItem.new(key: :clean,
|
137
140
|
short_option: "-c",
|
138
141
|
env_name: "SNAPSHOT_CLEAN",
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'spaceship/tunes/errors'
|
1
2
|
require 'spaceship/tunes/iap_list'
|
2
3
|
require 'spaceship/tunes/iap_detail'
|
3
4
|
require 'spaceship/tunes/iap_status'
|
@@ -75,6 +76,33 @@ module Spaceship
|
|
75
76
|
family_id: family_id,
|
76
77
|
subscription_duration: subscription_duration,
|
77
78
|
subscription_free_trial: subscription_free_trial)
|
79
|
+
|
80
|
+
# Update pricing for a recurring subscription.
|
81
|
+
if type == Spaceship::Tunes::IAPType::RECURRING && pricing_intervals
|
82
|
+
# There are cases where the product that was just created is not immediately found,
|
83
|
+
# and in order to update its pricing the purchase_id is needed. Therefore polling is done
|
84
|
+
# for 4 times until it is found. If it's not found after 4 tries, a PotentialServerError
|
85
|
+
# exception is raised.
|
86
|
+
product = find_product_with_retries(product_id, 4)
|
87
|
+
transformed_pricing_intervals = transform_pricing_intervals(pricing_intervals)
|
88
|
+
client.update_recurring_iap_pricing!(app_id: self.application.apple_id,
|
89
|
+
purchase_id: product.purchase_id,
|
90
|
+
pricing_intervals: transformed_pricing_intervals)
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
def transform_pricing_intervals(pricing_intervals)
|
95
|
+
pricing_intervals.map do |interval|
|
96
|
+
{
|
97
|
+
"value" => {
|
98
|
+
"tierStem" => interval[:tier],
|
99
|
+
"priceTierEffectiveDate" => interval[:begin_date],
|
100
|
+
"priceTierEndDate" => interval[:end_date],
|
101
|
+
"country" => interval[:country] || "WW",
|
102
|
+
"grandfathered" => interval[:grandfathered]
|
103
|
+
}
|
104
|
+
}
|
105
|
+
end
|
78
106
|
end
|
79
107
|
|
80
108
|
# find a specific product
|
@@ -103,6 +131,23 @@ module Spaceship
|
|
103
131
|
end
|
104
132
|
return_iaps
|
105
133
|
end
|
134
|
+
|
135
|
+
private
|
136
|
+
|
137
|
+
def find_product_with_retries(product_id, max_tries)
|
138
|
+
try_number = 0
|
139
|
+
product = nil
|
140
|
+
until product
|
141
|
+
if try_number > max_tries
|
142
|
+
raise PotentialServerError.new, "Failed to find the product with id=#{product_id}. "\
|
143
|
+
"This can be caused either by a server error or due to the removal of the product."
|
144
|
+
end
|
145
|
+
product = find(product_id)
|
146
|
+
try_number += 1
|
147
|
+
end
|
148
|
+
|
149
|
+
product
|
150
|
+
end
|
106
151
|
end
|
107
152
|
end
|
108
153
|
end
|