fastlane 2.82.0.beta.20180217010002 → 2.82.0.beta.20180218010003

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/cert/lib/cert/options.rb +5 -1
  3. data/deliver/lib/deliver/options.rb +10 -2
  4. data/fastlane/lib/assets/ActionDetails.md.erb +5 -4
  5. data/fastlane/lib/fastlane/actions/add_git_tag.rb +1 -0
  6. data/fastlane/lib/fastlane/actions/app_store_build_number.rb +6 -2
  7. data/fastlane/lib/fastlane/actions/appaloosa.rb +3 -1
  8. data/fastlane/lib/fastlane/actions/appetize_viewing_url_generator.rb +1 -0
  9. data/fastlane/lib/fastlane/actions/automatic_code_signing.rb +1 -0
  10. data/fastlane/lib/fastlane/actions/backup_xcarchive.rb +1 -0
  11. data/fastlane/lib/fastlane/actions/commit_github_file.rb +1 -0
  12. data/fastlane/lib/fastlane/actions/crashlytics.rb +2 -0
  13. data/fastlane/lib/fastlane/actions/create_pull_request.rb +2 -0
  14. data/fastlane/lib/fastlane/actions/deploygate.rb +2 -0
  15. data/fastlane/lib/fastlane/actions/dotgpg_environment.rb +1 -0
  16. data/fastlane/lib/fastlane/actions/download_dsyms.rb +6 -2
  17. data/fastlane/lib/fastlane/actions/dsym_zip.rb +1 -0
  18. data/fastlane/lib/fastlane/actions/frame_screenshots.rb +2 -1
  19. data/fastlane/lib/fastlane/actions/get_ipa_info_plist_value.rb +2 -1
  20. data/fastlane/lib/fastlane/actions/github_api.rb +1 -0
  21. data/fastlane/lib/fastlane/actions/hockey.rb +7 -1
  22. data/fastlane/lib/fastlane/actions/install_on_device.rb +1 -0
  23. data/fastlane/lib/fastlane/actions/installr.rb +1 -0
  24. data/fastlane/lib/fastlane/actions/latest_testflight_build_number.rb +6 -2
  25. data/fastlane/lib/fastlane/actions/modify_services.rb +6 -2
  26. data/fastlane/lib/fastlane/actions/read_podspec.rb +1 -0
  27. data/fastlane/lib/fastlane/actions/register_device.rb +4 -1
  28. data/fastlane/lib/fastlane/actions/register_devices.rb +4 -1
  29. data/fastlane/lib/fastlane/actions/resign.rb +2 -0
  30. data/fastlane/lib/fastlane/actions/s3.rb +14 -6
  31. data/fastlane/lib/fastlane/actions/set_changelog.rb +6 -2
  32. data/fastlane/lib/fastlane/actions/set_github_release.rb +3 -1
  33. data/fastlane/lib/fastlane/actions/testfairy.rb +2 -0
  34. data/fastlane/lib/fastlane/actions/tryouts.rb +1 -0
  35. data/fastlane/lib/fastlane/actions/update_app_identifier.rb +3 -1
  36. data/fastlane/lib/fastlane/actions/update_info_plist.rb +1 -0
  37. data/fastlane/lib/fastlane/actions/update_project_code_signing.rb +4 -2
  38. data/fastlane/lib/fastlane/actions/update_project_provisioning.rb +1 -0
  39. data/fastlane/lib/fastlane/actions/update_project_team.rb +3 -1
  40. data/fastlane/lib/fastlane/actions/upload_symbols_to_crashlytics.rb +1 -0
  41. data/fastlane/lib/fastlane/actions/upload_symbols_to_sentry.rb +2 -0
  42. data/fastlane/lib/fastlane/actions/verify_xcode.rb +1 -0
  43. data/fastlane/lib/fastlane/actions/version_bump_podspec.rb +1 -0
  44. data/fastlane/lib/fastlane/actions/version_get_podspec.rb +1 -0
  45. data/fastlane/lib/fastlane/actions/xcode_install.rb +4 -2
  46. data/fastlane/lib/fastlane/documentation/actions_list.rb +7 -1
  47. data/fastlane/lib/fastlane/erb_template_helper.rb +8 -3
  48. data/fastlane/lib/fastlane/version.rb +1 -1
  49. data/fastlane_core/lib/fastlane_core/configuration/config_item.rb +8 -0
  50. data/frameit/lib/frameit/options.rb +2 -1
  51. data/gym/lib/gym/options.rb +2 -1
  52. data/match/lib/match/options.rb +6 -2
  53. data/pem/lib/pem/options.rb +6 -2
  54. data/pilot/lib/pilot/options.rb +10 -3
  55. data/precheck/lib/precheck/options.rb +6 -2
  56. data/produce/lib/produce/options.rb +9 -2
  57. data/scan/lib/scan/options.rb +4 -2
  58. data/screengrab/lib/screengrab/options.rb +6 -1
  59. data/sigh/lib/sigh/options.rb +6 -2
  60. data/snapshot/lib/snapshot/options.rb +6 -3
  61. data/spaceship/lib/spaceship/tunes/iap.rb +45 -0
  62. data/spaceship/lib/spaceship/tunes/iap_detail.rb +21 -1
  63. data/spaceship/lib/spaceship/tunes/iap_list.rb +7 -0
  64. data/spaceship/lib/spaceship/tunes/tunes_client.rb +18 -0
  65. data/supply/lib/supply/options.rb +9 -2
  66. metadata +2 -2
@@ -92,13 +92,15 @@ module Fastlane
92
92
  short_option: "-u",
93
93
  env_name: "PRODUCE_USERNAME",
94
94
  description: "Your Apple ID Username",
95
- default_value: user),
95
+ default_value: user,
96
+ default_value_dynamic: true),
96
97
  FastlaneCore::ConfigItem.new(key: :app_identifier,
97
98
  env_name: "PRODUCE_APP_IDENTIFIER",
98
99
  short_option: "-a",
99
100
  description: "App Identifier (Bundle ID, e.g. com.krausefx.app)",
100
101
  code_gen_sensitive: true,
101
- default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)),
102
+ default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier),
103
+ default_value_dynamic: true),
102
104
  FastlaneCore::ConfigItem.new(key: :services,
103
105
  display_in_shell: false,
104
106
  env_name: "PRODUCE_ENABLE_SERVICES",
@@ -120,6 +122,7 @@ module Fastlane
120
122
  optional: true,
121
123
  code_gen_sensitive: true,
122
124
  default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_id),
125
+ default_value_dynamic: true,
123
126
  verify_block: proc do |value|
124
127
  ENV["FASTLANE_TEAM_ID"] = value.to_s
125
128
  end),
@@ -130,6 +133,7 @@ module Fastlane
130
133
  optional: true,
131
134
  code_gen_sensitive: true,
132
135
  default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_name),
136
+ default_value_dynamic: true,
133
137
  verify_block: proc do |value|
134
138
  ENV["FASTLANE_TEAM_NAME"] = value.to_s
135
139
  end)
@@ -44,6 +44,7 @@ module Fastlane
44
44
  env_name: "FL_READ_PODSPEC_PATH",
45
45
  description: "Path to the podspec to be read",
46
46
  default_value: Dir['*.podspec*'].first,
47
+ default_value_dynamic: true,
47
48
  verify_block: proc do |value|
48
49
  UI.user_error!("File #{value} not found") unless File.exist?(value)
49
50
  end)
@@ -45,6 +45,7 @@ module Fastlane
45
45
  env_name: "REGISTER_DEVICE_TEAM_ID",
46
46
  code_gen_sensitive: true,
47
47
  default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_id),
48
+ default_value_dynamic: true,
48
49
  description: "The ID of your Developer Portal team if you're in multiple teams",
49
50
  optional: true,
50
51
  verify_block: proc do |value|
@@ -56,13 +57,15 @@ module Fastlane
56
57
  optional: true,
57
58
  code_gen_sensitive: true,
58
59
  default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_name),
60
+ default_value_dynamic: true,
59
61
  verify_block: proc do |value|
60
62
  ENV["FASTLANE_TEAM_NAME"] = value.to_s
61
63
  end),
62
64
  FastlaneCore::ConfigItem.new(key: :username,
63
65
  env_name: "DELIVER_USER",
64
66
  description: "Optional: Your Apple ID",
65
- default_value: user)
67
+ default_value: user,
68
+ default_value_dynamic: true)
66
69
  ]
67
70
  end
68
71
 
@@ -75,6 +75,7 @@ module Fastlane
75
75
  env_name: "REGISTER_DEVICES_TEAM_ID",
76
76
  code_gen_sensitive: true,
77
77
  default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_id),
78
+ default_value_dynamic: true,
78
79
  description: "The ID of your Developer Portal team if you're in multiple teams",
79
80
  optional: true,
80
81
  verify_block: proc do |value|
@@ -86,13 +87,15 @@ module Fastlane
86
87
  optional: true,
87
88
  code_gen_sensitive: true,
88
89
  default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_name),
90
+ default_value_dynamic: true,
89
91
  verify_block: proc do |value|
90
92
  ENV["FASTLANE_TEAM_NAME"] = value.to_s
91
93
  end),
92
94
  FastlaneCore::ConfigItem.new(key: :username,
93
95
  env_name: "DELIVER_USER",
94
96
  description: "Optional: Your Apple ID",
95
- default_value: user)
97
+ default_value: user,
98
+ default_value_dynamic: true)
96
99
  ]
97
100
  end
98
101
 
@@ -59,6 +59,7 @@ module Fastlane
59
59
  env_name: "FL_RESIGN_IPA",
60
60
  description: "Path to the ipa file to resign. Optional if you use the _gym_ or _xcodebuild_ action",
61
61
  default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH],
62
+ default_value_dynamic: true,
62
63
  verify_block: proc do |value|
63
64
  UI.user_error!("Couldn't find ipa file at path '#{value}'") unless File.exist?(value)
64
65
  end),
@@ -75,6 +76,7 @@ module Fastlane
75
76
  env_name: "FL_RESIGN_PROVISIONING_PROFILE",
76
77
  description: "Path to your provisioning_profile. Optional if you use _sigh_",
77
78
  default_value: Actions.lane_context[SharedValues::SIGH_PROFILE_PATH],
79
+ default_value_dynamic: true,
78
80
  is_string: false,
79
81
  verify_block: proc do |value|
80
82
  files = case value
@@ -27,6 +27,7 @@ module Fastlane
27
27
  path: '-P'
28
28
  }
29
29
 
30
+ # rubocop:disable Metrics/ClassLength
30
31
  class S3Action < Action
31
32
  def self.run(config)
32
33
  # Calling fetch on config so that default values will be used
@@ -324,12 +325,14 @@ module Fastlane
324
325
  env_name: "",
325
326
  description: ".ipa file for the build ",
326
327
  optional: true,
327
- default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH]),
328
+ default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH],
329
+ default_value_dynamic: true),
328
330
  FastlaneCore::ConfigItem.new(key: :dsym,
329
331
  env_name: "",
330
332
  description: "zipped .dsym package for the build ",
331
333
  optional: true,
332
- default_value: Actions.lane_context[SharedValues::DSYM_OUTPUT_PATH]),
334
+ default_value: Actions.lane_context[SharedValues::DSYM_OUTPUT_PATH],
335
+ default_value_dynamic: true),
333
336
  FastlaneCore::ConfigItem.new(key: :upload_metadata,
334
337
  env_name: "",
335
338
  description: "Upload relevant metadata for this build",
@@ -365,25 +368,29 @@ module Fastlane
365
368
  description: "AWS Access Key ID ",
366
369
  sensitive: true,
367
370
  optional: true,
368
- default_value: ENV['AWS_ACCESS_KEY_ID']),
371
+ default_value: ENV['AWS_ACCESS_KEY_ID'],
372
+ default_value_dynamic: true),
369
373
  FastlaneCore::ConfigItem.new(key: :secret_access_key,
370
374
  env_name: "S3_SECRET_ACCESS_KEY",
371
375
  description: "AWS Secret Access Key ",
372
376
  sensitive: true,
373
377
  optional: true,
374
- default_value: ENV['AWS_SECRET_ACCESS_KEY']),
378
+ default_value: ENV['AWS_SECRET_ACCESS_KEY'],
379
+ default_value_dynamic: true),
375
380
  FastlaneCore::ConfigItem.new(key: :bucket,
376
381
  env_name: "S3_BUCKET",
377
382
  description: "AWS bucket name",
378
383
  optional: true,
379
384
  code_gen_sensitive: true,
380
- default_value: ENV['AWS_BUCKET_NAME']),
385
+ default_value: ENV['AWS_BUCKET_NAME'],
386
+ default_value_dynamic: true),
381
387
  FastlaneCore::ConfigItem.new(key: :region,
382
388
  env_name: "S3_REGION",
383
389
  description: "AWS region (for bucket creation) ",
384
390
  optional: true,
385
391
  code_gen_sensitive: true,
386
- default_value: ENV['AWS_REGION']),
392
+ default_value: ENV['AWS_REGION'],
393
+ default_value_dynamic: true),
387
394
  FastlaneCore::ConfigItem.new(key: :path,
388
395
  env_name: "S3_PATH",
389
396
  description: "S3 'path'. Values from Info.plist will be substituted for keys wrapped in {} ",
@@ -446,5 +453,6 @@ module Fastlane
446
453
  "Install using `fastlane add_plugin aws_s3`."
447
454
  end
448
455
  end
456
+ # rubocop:enable Metrics/ClassLength
449
457
  end
450
458
  end
@@ -98,12 +98,14 @@ module Fastlane
98
98
  env_name: "FASTLANE_APP_IDENTIFIER",
99
99
  description: "The bundle identifier of your app",
100
100
  code_gen_sensitive: true,
101
- default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)),
101
+ default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier),
102
+ default_value_dynamic: true),
102
103
  FastlaneCore::ConfigItem.new(key: :username,
103
104
  short_option: "-u",
104
105
  env_name: "FASTLANE_USERNAME",
105
106
  description: "Your Apple ID Username",
106
- default_value: user),
107
+ default_value: user,
108
+ default_value_dynamic: true),
107
109
  FastlaneCore::ConfigItem.new(key: :version,
108
110
  env_name: "FL_SET_CHANGELOG_VERSION",
109
111
  description: "The version number to create/update",
@@ -120,6 +122,7 @@ module Fastlane
120
122
  is_string: false, # as we also allow integers, which we convert to strings anyway
121
123
  code_gen_sensitive: true,
122
124
  default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_id),
125
+ default_value_dynamic: true,
123
126
  verify_block: proc do |value|
124
127
  ENV["FASTLANE_ITC_TEAM_ID"] = value.to_s
125
128
  end),
@@ -130,6 +133,7 @@ module Fastlane
130
133
  optional: true,
131
134
  code_gen_sensitive: true,
132
135
  default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_name),
136
+ default_value_dynamic: true,
133
137
  verify_block: proc do |value|
134
138
  ENV["FASTLANE_ITC_TEAM_NAME"] = value.to_s
135
139
  end)
@@ -177,6 +177,7 @@ module Fastlane
177
177
  code_gen_sensitive: true,
178
178
  is_string: true,
179
179
  default_value: ENV["GITHUB_API_TOKEN"],
180
+ default_value_dynamic: true,
180
181
  optional: false),
181
182
  FastlaneCore::ConfigItem.new(key: :tag_name,
182
183
  env_name: "FL_SET_GITHUB_RELEASE_TAG_NAME",
@@ -198,7 +199,8 @@ module Fastlane
198
199
  description: "Description of this release",
199
200
  is_string: true,
200
201
  optional: true,
201
- default_value: Actions.lane_context[SharedValues::FL_CHANGELOG]),
202
+ default_value: Actions.lane_context[SharedValues::FL_CHANGELOG],
203
+ default_value_dynamic: true),
202
204
  FastlaneCore::ConfigItem.new(key: :is_draft,
203
205
  env_name: "FL_SET_GITHUB_RELEASE_IS_DRAFT",
204
206
  description: "Whether the release should be marked as draft",
@@ -141,6 +141,7 @@ module Fastlane
141
141
  env_name: 'TESTFAIRY_IPA_PATH',
142
142
  description: 'Path to your IPA file for iOS or APK for Android',
143
143
  default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH],
144
+ default_value_dynamic: true,
144
145
  verify_block: proc do |value|
145
146
  UI.user_error!("Couldn't find ipa file at path '#{value}'") unless File.exist?(value)
146
147
  end),
@@ -150,6 +151,7 @@ module Fastlane
150
151
  env_name: "FL_TESTFAIRY_SYMBOLS_FILE",
151
152
  description: "Symbols mapping file",
152
153
  default_value: Actions.lane_context[SharedValues::DSYM_OUTPUT_PATH],
154
+ default_value_dynamic: true,
153
155
  verify_block: proc do |value|
154
156
  UI.user_error!("Couldn't find dSYM file at path '#{value}'") unless File.exist?(value)
155
157
  end),
@@ -84,6 +84,7 @@ module Fastlane
84
84
  env_name: "TRYOUTS_BUILD_FILE",
85
85
  description: "Path to your IPA or APK file. Optional if you use the _gym_ or _xcodebuild_ action",
86
86
  default_value: Actions.lane_context[SharedValues::IPA_OUTPUT_PATH],
87
+ default_value_dynamic: true,
87
88
  verify_block: proc do |value|
88
89
  UI.user_error!("Couldn't find build file at path '#{value}'") unless File.exist?(value)
89
90
  end),
@@ -81,6 +81,7 @@ module Fastlane
81
81
  description: "Path to your Xcode project",
82
82
  code_gen_sensitive: true,
83
83
  default_value: Dir['*.xcodeproj'].first,
84
+ default_value_dynamic: true,
84
85
  verify_block: proc do |value|
85
86
  UI.user_error!("Please pass the path to the project, not the workspace") unless value.end_with?(".xcodeproj")
86
87
  UI.user_error!("Could not find Xcode project") unless File.exist?(value)
@@ -95,7 +96,8 @@ module Fastlane
95
96
  env_name: 'FL_UPDATE_APP_IDENTIFIER',
96
97
  description: 'The app Identifier you want to set',
97
98
  code_gen_sensitive: true,
98
- default_value: ENV['PRODUCE_APP_IDENTIFIER'] || CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier))
99
+ default_value: ENV['PRODUCE_APP_IDENTIFIER'] || CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier),
100
+ default_value_dynamic: true)
99
101
  ]
100
102
  end
101
103
 
@@ -95,6 +95,7 @@ module Fastlane
95
95
  description: 'The App Identifier of your app',
96
96
  code_gen_sensitive: true,
97
97
  default_value: ENV['PRODUCE_APP_IDENTIFIER'],
98
+ default_value_dynamic: true,
98
99
  optional: true),
99
100
  FastlaneCore::ConfigItem.new(key: :display_name,
100
101
  env_name: 'FL_UPDATE_PLIST_DISPLAY_NAME',
@@ -38,12 +38,14 @@ module Fastlane
38
38
  env_name: "FL_PROJECT_SIGNING_UDID",
39
39
  description: "DEPRECATED: see :uuid",
40
40
  code_gen_sensitive: true,
41
- default_value: ENV["SIGH_UUID"]),
41
+ default_value: ENV["SIGH_UUID"],
42
+ default_value_dynamic: true),
42
43
  FastlaneCore::ConfigItem.new(key: :uuid,
43
44
  env_name: "FL_PROJECT_SIGNING_UUID",
44
45
  description: "The UUID of the provisioning profile you want to use",
45
46
  code_gen_sensitive: true,
46
- default_value: ENV["SIGH_UUID"])
47
+ default_value: ENV["SIGH_UUID"],
48
+ default_value_dynamic: true)
47
49
  ]
48
50
  end
49
51
 
@@ -103,6 +103,7 @@ module Fastlane
103
103
  env_name: "FL_PROJECT_PROVISIONING_PROFILE_FILE",
104
104
  description: "Path to provisioning profile (.mobileprovision)",
105
105
  default_value: Actions.lane_context[SharedValues::SIGH_PROFILE_PATH],
106
+ default_value_dynamic: true,
106
107
  verify_block: proc do |value|
107
108
  UI.user_error!("Path to provisioning profile is invalid") unless File.exist?(value)
108
109
  end),
@@ -33,6 +33,7 @@ module Fastlane
33
33
  env_name: "FL_PROJECT_SIGNING_PROJECT_PATH",
34
34
  description: "Path to your Xcode project",
35
35
  default_value: Dir['*.xcodeproj'].first,
36
+ default_value_dynamic: true,
36
37
  verify_block: proc do |value|
37
38
  UI.user_error!("Path is invalid") unless File.exist?(value)
38
39
  end),
@@ -40,7 +41,8 @@ module Fastlane
40
41
  env_name: "FL_PROJECT_TEAM_ID",
41
42
  description: "The Team ID you want to use",
42
43
  code_gen_sensitive: true,
43
- default_value: ENV["TEAM_ID"] || CredentialsManager::AppfileConfig.try_fetch_value(:team_id))
44
+ default_value: ENV["TEAM_ID"] || CredentialsManager::AppfileConfig.try_fetch_value(:team_id),
45
+ default_value_dynamic: true)
44
46
  ]
45
47
  end
46
48
 
@@ -149,6 +149,7 @@ module Fastlane
149
149
  env_name: "FL_UPLOAD_SYMBOLS_TO_CRASHLYTICS_DSYM_PATH",
150
150
  description: "Path to the DSYM file or zip to upload",
151
151
  default_value: ENV[SharedValues::DSYM_OUTPUT_PATH.to_s] || (Dir["./**/*.dSYM"] + Dir["./**/*.dSYM.zip"]).sort_by { |f| File.mtime(f) }.last,
152
+ default_value_dynamic: true,
152
153
  optional: true,
153
154
  verify_block: proc do |value|
154
155
  UI.user_error!("Couldn't find file at path '#{File.expand_path(value)}'") unless File.exist?(value)
@@ -112,6 +112,7 @@ module Fastlane
112
112
  env_name: "SENTRY_DSYM_PATH",
113
113
  description: "Path to your symbols file. For iOS and Mac provide path to app.dSYM.zip",
114
114
  default_value: Actions.lane_context[SharedValues::DSYM_OUTPUT_PATH],
115
+ default_value_dynamic: true,
115
116
  optional: true,
116
117
  verify_block: proc do |value|
117
118
  # validation is done in the action
@@ -120,6 +121,7 @@ module Fastlane
120
121
  env_name: "SENTRY_DSYM_PATHS",
121
122
  description: "Path to an array of your symbols file. For iOS and Mac provide path to app.dSYM.zip",
122
123
  default_value: Actions.lane_context[SharedValues::DSYM_PATHS],
124
+ default_value_dynamic: true,
123
125
  is_string: false,
124
126
  optional: true,
125
127
  verify_block: proc do |value|
@@ -126,6 +126,7 @@ module Fastlane
126
126
  description: "The path to the Xcode installation to test",
127
127
  code_gen_sensitive: true,
128
128
  default_value: File.expand_path('../../', FastlaneCore::Helper.xcode_path),
129
+ default_value_dynamic: true,
129
130
  verify_block: proc do |value|
130
131
  UI.user_error!("Couldn't find Xcode at path '#{value}'") unless File.exist?(value)
131
132
  end)
@@ -49,6 +49,7 @@ module Fastlane
49
49
  description: "You must specify the path to the podspec file to update",
50
50
  code_gen_sensitive: true,
51
51
  default_value: Dir["*.podspec"].last,
52
+ default_value_dynamic: true,
52
53
  verify_block: proc do |value|
53
54
  UI.user_error!("Please pass a path to the `version_bump_podspec` action") if value.length == 0
54
55
  end),
@@ -27,6 +27,7 @@ module Fastlane
27
27
  is_string: true,
28
28
  code_gen_sensitive: true,
29
29
  default_value: Dir["*.podspec"].last,
30
+ default_value_dynamic: true,
30
31
  verify_block: proc do |value|
31
32
  UI.user_error!("Please pass a path to the `version_get_podspec` action") if value.length == 0
32
33
  end),
@@ -56,14 +56,16 @@ module Fastlane
56
56
  short_option: "-u",
57
57
  env_name: "XCODE_INSTALL_USER",
58
58
  description: "Your Apple ID Username",
59
- default_value: user),
59
+ default_value: user,
60
+ default_value_dynamic: true),
60
61
  FastlaneCore::ConfigItem.new(key: :team_id,
61
62
  short_option: "-b",
62
63
  env_name: "XCODE_INSTALL_TEAM_ID",
63
64
  description: "The ID of your team if you're in multiple teams",
64
65
  optional: true,
65
66
  code_gen_sensitive: true,
66
- default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_id))
67
+ default_value: CredentialsManager::AppfileConfig.try_fetch_value(:team_id),
68
+ default_value_dynamic: true)
67
69
  ]
68
70
  end
69
71
 
@@ -135,6 +135,8 @@ module Fastlane
135
135
  else
136
136
  puts("No available options".yellow)
137
137
  end
138
+ puts("- = this parameter doesn't have a default value")
139
+ puts("* = this default value is dependent on the user's system")
138
140
  puts("")
139
141
  end
140
142
 
@@ -190,7 +192,11 @@ module Fastlane
190
192
  if options.kind_of?(Array)
191
193
  options.each do |current|
192
194
  if current.kind_of?(FastlaneCore::ConfigItem)
193
- rows << [current.key.to_s.yellow, current.description, current.env_name, current.default_value]
195
+ current_default = current.default_value
196
+ # rubocop:disable Metrics/BlockNesting, Style/NestedTernaryOperator
197
+ default = current.default_value_dynamic ? "#{current_default} *".strip : (current_default.nil? ? "-" : current_default)
198
+ # rubocop:enable Metrics/BlockNesting, Style/NestedTernaryOperator
199
+ rows << [current.key.to_s.yellow, current.description, current.env_name, default]
194
200
  elsif current.kind_of?(Array)
195
201
  # Legacy actions that don't use the new config manager
196
202
  UI.user_error!("Invalid number of elements in this row: #{current}. Must be 2 or 3") unless [2, 3].include?(current.count)
@@ -13,13 +13,18 @@ module Fastlane
13
13
  File.read(template_filepath)
14
14
  end
15
15
 
16
- def self.render(template, template_vars_hash)
17
- Fastlane::ErbalT.new(template_vars_hash).render(template)
16
+ def self.render(template, template_vars_hash, trim_mode = nil)
17
+ Fastlane::ErbalT.new(template_vars_hash, trim_mode).render(template)
18
18
  end
19
19
  end
20
20
  class ErbalT < OpenStruct
21
+ def initialize(hash, trim_mode)
22
+ super(hash)
23
+ @trim_mode = trim_mode
24
+ end
25
+
21
26
  def render(template)
22
- ERB.new(template).result(binding)
27
+ ERB.new(template, nil, @trim_mode).result(binding)
23
28
  end
24
29
  end
25
30
  end