fastlane-plugin-wpmreleasetoolkit 7.0.0 → 7.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/an_update_metadata_source_action.rb +5 -5
  3. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/an_validate_lib_strings_action.rb +17 -5
  4. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_betabuild_prechecks.rb +2 -2
  5. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_build_prechecks.rb +4 -4
  6. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_bump_version_hotfix.rb +2 -2
  7. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_codefreeze_prechecks.rb +1 -1
  8. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_completecodefreeze_prechecks.rb +4 -2
  9. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_create_xml_release_notes.rb +4 -4
  10. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_download_translations_action.rb +1 -1
  11. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_finalize_prechecks.rb +4 -2
  12. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_hotfix_prechecks.rb +2 -2
  13. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_tag_build.rb +1 -1
  14. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_update_release_notes.rb +2 -2
  15. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/common/buildkite_trigger_build_action.rb +10 -2
  16. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/common/check_for_toolkit_updates_action.rb +4 -4
  17. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/common/check_translation_progress.rb +2 -2
  18. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/common/create_new_milestone_action.rb +3 -3
  19. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/common/create_release_action.rb +2 -2
  20. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/common/extract_release_notes_for_version_action.rb +3 -3
  21. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/common/get_prs_list_action.rb +2 -2
  22. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/common/gp_downloadmetadata_action.rb +4 -4
  23. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/common/gp_update_metadata_source.rb +5 -5
  24. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/common/prototype_build_details_comment_action.rb +1 -1
  25. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/common/setfrozentag_action.rb +2 -2
  26. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/configure/configure_apply_action.rb +1 -1
  27. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/configure/configure_update_action.rb +1 -1
  28. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/add_development_certificates_to_provisioning_profiles.rb +2 -2
  29. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/add_devices_to_provisioning_profiles.rb +2 -2
  30. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_betabuild_prechecks.rb +3 -3
  31. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_build_prechecks.rb +4 -4
  32. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_build_preflight.rb +1 -1
  33. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_bump_version_hotfix.rb +3 -3
  34. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_check_beta_deps.rb +1 -1
  35. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_clear_intermediate_tags.rb +15 -3
  36. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_codefreeze_prechecks.rb +1 -1
  37. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_completecodefreeze_prechecks.rb +4 -2
  38. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_download_strings_files_from_glotpress.rb +1 -1
  39. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_extract_keys_from_strings_files.rb +2 -2
  40. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_final_tag.rb +15 -3
  41. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_finalize_prechecks.rb +4 -2
  42. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_generate_strings_file_from_code.rb +3 -3
  43. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_get_build_number.rb +54 -0
  44. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_get_build_version.rb +1 -1
  45. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_hotfix_prechecks.rb +2 -2
  46. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_lint_localizations.rb +3 -3
  47. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_update_metadata_source.rb +2 -2
  48. data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_update_release_notes.rb +2 -2
  49. data/lib/fastlane/plugin/wpmreleasetoolkit/helper/an_metadata_update_helper.rb +2 -2
  50. data/lib/fastlane/plugin/wpmreleasetoolkit/helper/android/android_localize_helper.rb +2 -2
  51. data/lib/fastlane/plugin/wpmreleasetoolkit/helper/android/android_version_helper.rb +2 -2
  52. data/lib/fastlane/plugin/wpmreleasetoolkit/helper/git_helper.rb +17 -0
  53. data/lib/fastlane/plugin/wpmreleasetoolkit/helper/glotpress_helper.rb +1 -1
  54. data/lib/fastlane/plugin/wpmreleasetoolkit/helper/ios/ios_l10n_linter_helper.rb +1 -1
  55. data/lib/fastlane/plugin/wpmreleasetoolkit/helper/metadata_download_helper.rb +2 -2
  56. data/lib/fastlane/plugin/wpmreleasetoolkit/helper/metadata_update_helper.rb +1 -1
  57. data/lib/fastlane/plugin/wpmreleasetoolkit/helper/promo_screenshots_helper.rb +1 -1
  58. data/lib/fastlane/plugin/wpmreleasetoolkit/version.rb +1 -1
  59. metadata +5 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ac3e9b8a4272392eae5f25dea94507640a13efabfe293e465b38dea1caf71f87
4
- data.tar.gz: 922fe5a513a91f55a1a54e3ba256765b709f61237316c4710ff9af209053cb3f
3
+ metadata.gz: b286d607c113865f2a5d33d8db29249707512df476c8e5eae1cff8d3a95e5505
4
+ data.tar.gz: '0528769e462fd860198a521ef40cb122749e02d850ea2b606cb09507df3a77e1'
5
5
  SHA512:
6
- metadata.gz: 9244c54b46964f9d1f0a11313cedde4e8ee4c5c910ec074caef5f56a12f9e472e46e3ac4bb3fc8fc047cf1abf67899a3f0f2fb9f488f54c3b697199bdf71130f
7
- data.tar.gz: b8322d1a08bc6f3d94e128664c428243445e37c99503d2d807ec5902170ae5dfcd00d7eaeb08fa73ef283fb85aa07f2242048ebdf9383bc340817bd06292f99a
6
+ metadata.gz: 2b5423b8737e2b728eccdcedfb10347ac63520f483b11d890a951e82c0ce56595f82f39cae61246d53fe2a40e571978e9987b96a31194eb435e0754df6038121
7
+ data.tar.gz: 25c280a976457435191325c8aa153824bb672f9c77926b4df2c9f28f98b6cfb5f03ac2f9be3f7814fa95805ee47f0a2c414a019b44a17f8b717a079dbf748a72
@@ -37,7 +37,7 @@ module Fastlane
37
37
  target = self.create_target_file_path(orig)
38
38
 
39
39
  # Clear if older exists
40
- File.delete(target) if File.exist? target
40
+ FileUtils.rm_f(target)
41
41
 
42
42
  # Create the new one
43
43
  begin
@@ -47,7 +47,7 @@ module Fastlane
47
47
  end
48
48
  end
49
49
  rescue
50
- File.delete(target) if File.exist? target
50
+ FileUtils.rm_f(target)
51
51
  raise
52
52
  end
53
53
 
@@ -57,7 +57,7 @@ module Fastlane
57
57
  # Deletes the old po and moves the temp one
58
58
  # to the final location
59
59
  def self.swap_po(orig_file_path, temp_file_path)
60
- File.delete(orig_file_path) if File.exist? orig_file_path
60
+ FileUtils.rm_f(orig_file_path)
61
61
  File.rename(temp_file_path, orig_file_path)
62
62
  end
63
63
 
@@ -131,7 +131,7 @@ module Fastlane
131
131
  FastlaneCore::ConfigItem.new(key: :po_file_path,
132
132
  env_name: 'FL_UPDATE_METADATA_SOURCE_PO_FILE_PATH',
133
133
  description: 'The path of the .po file to update',
134
- is_string: true,
134
+ type: String,
135
135
  verify_block: proc do |value|
136
136
  UI.user_error!("No .po file path for UpdateMetadataSourceAction given, pass using `po_file_path: 'file path'`") unless value && (!value.empty?)
137
137
  UI.user_error!("Couldn't find file at path '#{value}'") unless File.exist?(value)
@@ -145,7 +145,7 @@ module Fastlane
145
145
  FastlaneCore::ConfigItem.new(key: :source_files,
146
146
  env_name: 'FL_UPDATE_METADATA_SOURCE_SOURCE_FILES',
147
147
  description: 'The hash with the path to the source files and the key to use to include their content',
148
- is_string: false,
148
+ type: Hash,
149
149
  verify_block: proc do |value|
150
150
  UI.user_error!("No source file hash for UpdateMetadataSourceAction given, pass using `source_files: 'source file hash'`") unless value && (!value.empty?)
151
151
  end),
@@ -33,7 +33,19 @@ module Fastlane
33
33
  end
34
34
 
35
35
  def self.details
36
- 'Checks that the strings to be localised are updated from the libs into the main application file'
36
+ <<~DETAILS
37
+ Checks that the strings to be localised are updated from the libs into the main application file
38
+
39
+ For the `lib_strings_path` ConfigItem, it is an array of Hashes, each describing a library and
40
+ containing these specific keys:
41
+ - `:library`: The human readable name of the library, used to display in console messages
42
+ - `:strings_path`: The path to the strings.xml file of the library to merge into the main one
43
+ - `:exclusions`: An array of strings keys to exclude during merge. Any of those keys from the
44
+ library's `strings.xml` will be skipped and won't be merged into the main one.
45
+ - `:source_id`: An optional `String` which will be added as the `a8c-src-lib` XML attribute
46
+ to strings coming from this library, to help identify their source in the merged file.
47
+ - `:add_ignore_attr`: If set to `true`, will add `tools:ignore="UnusedResources"` to merged strings.
48
+ DETAILS
37
49
  end
38
50
 
39
51
  def self.available_options
@@ -41,17 +53,17 @@ module Fastlane
41
53
  FastlaneCore::ConfigItem.new(key: :app_strings_path,
42
54
  description: 'The path of the main strings file',
43
55
  optional: false,
44
- is_string: true),
56
+ type: String),
45
57
  FastlaneCore::ConfigItem.new(key: :libs_strings_path,
46
58
  env_name: 'CHECK_LIBS_STRINGS_PATH',
47
- description: 'The list of libs to merge',
59
+ description: 'The list of libs to merge. This should be an array of Hashes.',
48
60
  optional: false,
49
- is_string: false),
61
+ type: Array),
50
62
  FastlaneCore::ConfigItem.new(key: :diff_url,
51
63
  env_name: 'CHECK_LIBS_DIFF_URL',
52
64
  description: 'The url of the diff to check',
53
65
  optional: true,
54
- is_string: true),
66
+ type: String),
55
67
  ]
56
68
  end
57
69
 
@@ -74,12 +74,12 @@ module Fastlane
74
74
  FastlaneCore::ConfigItem.new(key: :base_version,
75
75
  env_name: 'FL_ANDROID_BETABUILD_PRECHECKS_BASE_VERSION',
76
76
  description: 'The version to work on', # a short description of this parameter
77
- is_string: true,
77
+ type: String,
78
78
  optional: true), # true: verifies the input is a string, false: every kind of value),
79
79
  FastlaneCore::ConfigItem.new(key: :skip_confirm,
80
80
  env_name: 'FL_ANDROID_BETABUILD_PRECHECKS_SKIPCONFIRM',
81
81
  description: 'Skips confirmation',
82
- is_string: false, # true: verifies the input is a string, false: every kind of value
82
+ type: Boolean,
83
83
  default_value: false), # the default value if the user didn't provide one
84
84
  FastlaneCore::ConfigItem.new(key: :default_branch,
85
85
  env_name: 'FL_RELEASE_TOOLKIT_DEFAULT_BRANCH',
@@ -46,22 +46,22 @@ module Fastlane
46
46
  FastlaneCore::ConfigItem.new(key: :skip_confirm,
47
47
  env_name: 'FL_ANDROID_BUILD_PRECHECKS_SKIP_CONFIRM',
48
48
  description: 'True to avoid the system ask for confirmation',
49
- is_string: false,
49
+ type: Boolean,
50
50
  default_value: false),
51
51
  FastlaneCore::ConfigItem.new(key: :alpha,
52
52
  env_name: 'FL_ANDROID_BUILD_PRECHECKS_ALPHA_BUILD',
53
53
  description: 'True if this is for an alpha build',
54
- is_string: false,
54
+ type: Boolean,
55
55
  default_value: false),
56
56
  FastlaneCore::ConfigItem.new(key: :beta,
57
57
  env_name: 'FL_ANDROID_BUILD_PRECHECKS_BETA_BUILD',
58
58
  description: 'True if this is for a beta build',
59
- is_string: false,
59
+ type: Boolean,
60
60
  default_value: false),
61
61
  FastlaneCore::ConfigItem.new(key: :final,
62
62
  env_name: 'FL_ANDROID_BUILD_PRECHECKS_FINAL_BUILD',
63
63
  description: 'True if this is for a final build',
64
- is_string: false,
64
+ type: Boolean,
65
65
  default_value: false),
66
66
  ]
67
67
  end
@@ -43,14 +43,14 @@ module Fastlane
43
43
  FastlaneCore::ConfigItem.new(key: :version_name,
44
44
  env_name: 'FL_ANDROID_BUMP_VERSION_HOTFIX_VERSION',
45
45
  description: 'The version name for the hotfix',
46
- is_string: true),
46
+ type: String),
47
47
  FastlaneCore::ConfigItem.new(key: :version_code,
48
48
  env_name: 'FL_ANDROID_BUMP_VERSION_HOTFIX_CODE',
49
49
  description: 'The version code for the hotfix'),
50
50
  FastlaneCore::ConfigItem.new(key: :previous_version_name,
51
51
  env_name: 'FL_ANDROID_BUMP_VERSION_HOTFIX_PREVIOUS_VERSION',
52
52
  description: 'The version to branch from',
53
- is_string: true),
53
+ type: String),
54
54
  ]
55
55
  end
56
56
 
@@ -57,7 +57,7 @@ module Fastlane
57
57
  FastlaneCore::ConfigItem.new(key: :skip_confirm,
58
58
  env_name: 'FL_ANDROID_CODEFREEZE_PRECHECKS_SKIPCONFIRM',
59
59
  description: 'Skips confirmation before codefreeze',
60
- is_string: false, # true: verifies the input is a string, false: every kind of value
60
+ type: Boolean,
61
61
  default_value: false), # the default value if the user didn't provide one
62
62
  FastlaneCore::ConfigItem.new(key: :default_branch,
63
63
  env_name: 'FL_RELEASE_TOOLKIT_DEFAULT_BRANCH',
@@ -6,8 +6,10 @@ module Fastlane
6
6
 
7
7
  require_relative '../../helper/android/android_version_helper'
8
8
  require_relative '../../helper/android/android_git_helper'
9
+ require_relative '../../helper/git_helper'
9
10
 
10
- UI.user_error!('This is not a release branch. Abort.') unless other_action.git_branch.start_with?('release/')
11
+ current_branch = Fastlane::Helper::GitHelper.current_git_branch
12
+ UI.user_error!("Current branch - '#{current_branch}' - is not a release branch. Abort.") unless current_branch.start_with?('release/')
11
13
 
12
14
  version = Fastlane::Helper::Android::VersionHelper.get_public_version
13
15
  message = "Completing code freeze for: #{version}\n"
@@ -40,7 +42,7 @@ module Fastlane
40
42
  FastlaneCore::ConfigItem.new(key: :skip_confirm,
41
43
  env_name: 'FL_ANDROID_COMPLETECODEFREEZE_PRECHECKS_SKIPCONFIRM',
42
44
  description: 'Skips confirmation',
43
- is_string: false, # true: verifies the input is a string, false: every kind of value
45
+ type: Boolean,
44
46
  default_value: false), # the default value if the user didn't provide one
45
47
  ]
46
48
  end
@@ -11,7 +11,7 @@ module Fastlane
11
11
  complete_path = "#{params[:download_path]}/#{loc[1]}/changelogs/#{params[:build_number]}.txt"
12
12
  if File.exist?(complete_path)
13
13
  f.puts("<#{loc[1]}>")
14
- f.puts(File.open(complete_path).read)
14
+ f.puts(File.read(complete_path))
15
15
  f.puts("</#{loc[1]}>\n")
16
16
  else
17
17
  UI.message("File #{complete_path} not found. Skipping language #{loc[1]}")
@@ -38,16 +38,16 @@ module Fastlane
38
38
  env_name: 'ANDROID_XML_NOTES_DOWNLOAD_PATH',
39
39
  description: 'The path to the folder with the release notes',
40
40
  optional: false,
41
- is_string: true),
41
+ type: String),
42
42
  FastlaneCore::ConfigItem.new(key: :build_number,
43
43
  env_name: 'ANDROID_XML_NOTES_BUILD_NUMBER',
44
44
  description: 'The build number of the release notes',
45
45
  optional: false,
46
- is_string: true),
46
+ type: String),
47
47
  FastlaneCore::ConfigItem.new(key: :locales,
48
48
  env_name: 'FL_DOWNLOAD_METADATA_LOCALES',
49
49
  description: 'The hash with the GLotPress locale and the project locale association',
50
- is_string: false),
50
+ type: Hash),
51
51
  ]
52
52
  end
53
53
 
@@ -91,7 +91,7 @@ module Fastlane
91
91
  key: :skip_commit,
92
92
  env_name: 'FL_DOWNLOAD_TRANSLATIONS_SKIP_COMMIT',
93
93
  description: 'If set to true, will skip the commit/push step. Otherwise, it will commit the changes and push them (the default)',
94
- is_string: false, # Boolean
94
+ type: Boolean,
95
95
  default_value: false
96
96
  ),
97
97
  ]
@@ -10,8 +10,10 @@ module Fastlane
10
10
 
11
11
  require_relative '../../helper/android/android_version_helper'
12
12
  require_relative '../../helper/android/android_git_helper'
13
+ require_relative '../../helper/git_helper'
13
14
 
14
- UI.user_error!('This is not a release branch. Abort.') unless other_action.git_branch.start_with?('release/')
15
+ current_branch = Fastlane::Helper::GitHelper.current_git_branch
16
+ UI.user_error!("Current branch - '#{current_branch}' - is not a release branch. Abort.") unless current_branch.start_with?('release/')
15
17
 
16
18
  version = Fastlane::Helper::Android::VersionHelper.get_public_version
17
19
  message = "Finalizing release: #{version}\n"
@@ -47,7 +49,7 @@ module Fastlane
47
49
  FastlaneCore::ConfigItem.new(key: :skip_confirm,
48
50
  env_name: 'FL_ANDROID_FINALIZE_PRECHECKS_SKIPCONFIRM',
49
51
  description: 'Skips confirmation',
50
- is_string: false, # true: verifies the input is a string, false: every kind of value
52
+ type: Boolean,
51
53
  default_value: false), # the default value if the user didn't provide one
52
54
  ]
53
55
  end
@@ -51,11 +51,11 @@ module Fastlane
51
51
  FastlaneCore::ConfigItem.new(key: :version_name,
52
52
  env_name: 'FL_ANDROID_HOTFIX_PRECHECKS_VERSION',
53
53
  description: 'The hotfix version number to create',
54
- is_string: true),
54
+ type: String),
55
55
  FastlaneCore::ConfigItem.new(key: :skip_confirm,
56
56
  env_name: 'FL_ANDROID_HOTFIX_PRECHECKS_SKIPCONFIRM',
57
57
  description: 'Skips confirmation',
58
- is_string: false, # Boolean
58
+ type: Boolean,
59
59
  default_value: false),
60
60
  ]
61
61
  end
@@ -28,7 +28,7 @@ module Fastlane
28
28
  FastlaneCore::ConfigItem.new(key: :tag_alpha,
29
29
  env_name: 'FL_ANDROID_TAG_BUILD_ALPHA',
30
30
  description: 'True to skip tagging the alpha version',
31
- is_string: false,
31
+ type: Boolean,
32
32
  default_value: true),
33
33
  ]
34
34
  end
@@ -34,11 +34,11 @@ module Fastlane
34
34
  FastlaneCore::ConfigItem.new(key: :new_version,
35
35
  env_name: 'FL_ANDROID_UPDATE_RELEASE_NOTES_VERSION',
36
36
  description: 'The version we are currently freezing; An empty entry for the _next_ version after this one will be added to the release notes',
37
- is_string: true),
37
+ type: String),
38
38
  FastlaneCore::ConfigItem.new(key: :release_notes_file_path,
39
39
  env_name: 'FL_ANDROID_UPDATE_RELEASE_NOTES_FILE_PATH',
40
40
  description: 'The path to the release notes file to be updated',
41
- is_string: true,
41
+ type: String,
42
42
  default_value: File.join(ENV['PROJECT_ROOT_FOLDER'] || '.', 'RELEASE-NOTES.txt')),
43
43
  ]
44
44
  end
@@ -13,7 +13,11 @@ module Fastlane
13
13
  branch: params[:branch],
14
14
  commit: params[:commit],
15
15
  env: params[:environment].merge(pipeline_name),
16
- message: params[:message]
16
+ message: params[:message],
17
+ # Buildkite will not trigger a build if the GitHub activity for that branch is turned off
18
+ # We want API triggers to work regardless of the GitHub activity settings, so this option is necessary
19
+ # https://forum.buildkite.community/t/request-build-error-branches-have-been-disabled-for-this-pipeline/1463/2
20
+ ignore_pipeline_branch_filters: true
17
21
  }.compact # remove entries with `nil` values from the Hash, if any
18
22
 
19
23
  client = Buildkit.new(token: params[:buildkite_token])
@@ -23,7 +27,11 @@ module Fastlane
23
27
  options
24
28
  )
25
29
 
26
- response.state == 'scheduled' ? UI.message('Done!') : UI.crash!("Failed to start job\nError: [#{response}]")
30
+ if response.state == 'scheduled'
31
+ UI.message("Successfully scheduled new build. You can see it at '#{response.web_url}'")
32
+ else
33
+ UI.crash!("Failed to start job\nError: [#{response}]")
34
+ end
27
35
  end
28
36
 
29
37
  #####################################################
@@ -44,12 +44,12 @@ module Fastlane
44
44
  UI.important <<~BREAKING_CHANGE_MESSAGE
45
45
  The latest version available (#{latest_version}) introduces breaking changes compared to the #{current_version} you are currently using.
46
46
 
47
- - To update to #{latest_version}, first edit your \`Pluginfile\` to use '#{new_semver_requirement}', run \`bundle update\`,
48
- then be sure to make all the necessary changes to your \`Fastfile\` (see the toolkit's CHANGELOG)
47
+ - To update to #{latest_version}, first edit your `Pluginfile` to use '#{new_semver_requirement}', run `bundle update`,
48
+ then be sure to make all the necessary changes to your `Fastfile` (see the toolkit's CHANGELOG)
49
49
  to take those breaking changes into account.
50
50
 
51
51
  - If you are not ready to make the major version bump, you can still try to update to the latest compatible,
52
- non-breaking version by running \`bundle update\` now. This will not update to the latest #{latest_version}, but
52
+ non-breaking version by running `bundle update` now. This will not update to the latest #{latest_version}, but
53
53
  might still update to a newer version compatible with '#{current_semver_requirement}' if one exists; which is still valuable
54
54
  to at least get bugfixes, until you are ready to jump to the next major version later.
55
55
  BREAKING_CHANGE_MESSAGE
@@ -86,7 +86,7 @@ module Fastlane
86
86
  FastlaneCore::ConfigItem.new(key: :skip_update_suggestion,
87
87
  env_name: 'CHECK_FOR_TOOLKIT_UPDATES_SKIP_UPDATE_SUGGESTION',
88
88
  description: 'If true, will still check for new versions, but will not ask if you want to run bundle update if an update is found',
89
- is_string: false, # Boolean
89
+ type: Boolean,
90
90
  default_value: false),
91
91
  ]
92
92
  end
@@ -125,13 +125,13 @@ module Fastlane
125
125
  description: 'Should we abort with a global error if any violations are found?',
126
126
  optional: true,
127
127
  default_value: true,
128
- is_string: false),
128
+ type: Boolean),
129
129
  FastlaneCore::ConfigItem.new(key: :skip_confirm,
130
130
  env_name: 'FL_CHECK_TRANSLATION_SKIP_CONFIRM',
131
131
  description: 'Move ahead without requesting confirmation if violations are found. Only works if "abort_on_violations" is disabled',
132
132
  optional: true,
133
133
  default_value: false,
134
- is_string: false),
134
+ type: Boolean),
135
135
  ]
136
136
  end
137
137
 
@@ -62,19 +62,19 @@ module Fastlane
62
62
  env_name: 'GHHELPER_NEED_APPSTORE_SUBMISSION',
63
63
  description: 'True if the app needs to be submitted',
64
64
  optional: true,
65
- is_string: false,
65
+ type: Boolean,
66
66
  default_value: false),
67
67
  FastlaneCore::ConfigItem.new(key: :milestone_duration,
68
68
  env_name: 'GHHELPER_MILESTONE_DURATION',
69
69
  description: 'Milestone duration in number of days',
70
70
  optional: true,
71
- is_string: false,
71
+ type: Integer,
72
72
  default_value: 14),
73
73
  FastlaneCore::ConfigItem.new(key: :number_of_days_from_code_freeze_to_release,
74
74
  env_name: 'GHHELPER_NUMBER_OF_DAYS_FROM_CODE_FREEZE_TO_RELEASE',
75
75
  description: 'Number of days from code freeze to release',
76
76
  optional: true,
77
- is_string: false,
77
+ type: Integer,
78
78
  default_value: 14),
79
79
  Fastlane::Helper::GithubHelper.github_token_config_item,
80
80
  ]
@@ -16,7 +16,7 @@ module Fastlane
16
16
  prerelease = params[:prerelease]
17
17
  is_draft = params[:is_draft]
18
18
 
19
- UI.message("Creating draft release #{version} in #{repository}.")
19
+ UI.message("Creating #{is_draft ? 'draft ' : ''}release #{version} in #{repository}.")
20
20
  # Verify assets
21
21
  assets.each do |file_path|
22
22
  UI.user_error!("Can't find file #{file_path}!") unless File.exist?(file_path)
@@ -84,7 +84,7 @@ module Fastlane
84
84
  description: 'True if this is a pre-release',
85
85
  optional: true,
86
86
  default_value: false,
87
- is_string: false),
87
+ type: Boolean),
88
88
  FastlaneCore::ConfigItem.new(key: :is_draft,
89
89
  env_name: 'GHHELPER_CREATE_RELEASE_IS_DRAFT',
90
90
  description: 'True to create the GitHub release as a draft (instead of publishing it immediately)',
@@ -67,17 +67,17 @@ module Fastlane
67
67
  env_name: 'GHHELPER_EXTRACT_NOTES_VERSION',
68
68
  description: 'The version of the release',
69
69
  optional: false,
70
- is_string: true),
70
+ type: String),
71
71
  FastlaneCore::ConfigItem.new(key: :release_notes_file_path,
72
72
  env_name: 'GHHELPER_EXTRACT_NOTES_FILE_PATH',
73
73
  description: 'The path to the file that contains the release notes',
74
74
  optional: false,
75
- is_string: true),
75
+ type: String),
76
76
  FastlaneCore::ConfigItem.new(key: :extracted_notes_file_path,
77
77
  env_name: 'GHHELPER_EXTRACT_NOTES_EXTRACTED_FILE_PATH',
78
78
  description: 'The path to the file that will contain the extracted release notes',
79
79
  optional: true,
80
- is_string: true),
80
+ type: String),
81
81
  ]
82
82
  end
83
83
 
@@ -49,11 +49,11 @@ module Fastlane
49
49
  FastlaneCore::ConfigItem.new(key: :report_path,
50
50
  description: 'The path where the list of PRs should be written to',
51
51
  optional: false,
52
- is_string: true),
52
+ type: String),
53
53
  FastlaneCore::ConfigItem.new(key: :milestone,
54
54
  description: 'The name of the milestone we want to fetch the list of PRs for (e.g.: `16.9`)',
55
55
  optional: false,
56
- is_string: true),
56
+ type: String),
57
57
  Fastlane::Helper::GithubHelper.github_token_config_item,
58
58
  ]
59
59
  end
@@ -12,7 +12,7 @@ module Fastlane
12
12
  UI.message "Path: #{params[:download_path]}"
13
13
 
14
14
  # Check download path
15
- Dir.mkdir(params[:download_path]) unless File.exist?(params[:download_path])
15
+ FileUtils.mkdir_p(params[:download_path])
16
16
 
17
17
  # Download
18
18
  downloader = Fastlane::Helper::MetadataDownloader.new(params[:download_path], params[:target_files])
@@ -55,11 +55,11 @@ module Fastlane
55
55
  FastlaneCore::ConfigItem.new(key: :target_files,
56
56
  env_name: 'FL_DOWNLOAD_METADATA_TARGET_FILES',
57
57
  description: 'The hash with the path to the target files and the key to use to extract their content',
58
- is_string: false),
58
+ type: Hash),
59
59
  FastlaneCore::ConfigItem.new(key: :locales,
60
60
  env_name: 'FL_DOWNLOAD_METADATA_LOCALES',
61
61
  description: 'The hash with the GlotPress locale and the project locale association',
62
- is_string: false),
62
+ type: Hash),
63
63
  FastlaneCore::ConfigItem.new(key: :source_locale,
64
64
  env_name: 'FL_DOWNLOAD_METADATA_SOURCE_LOCALE',
65
65
  description: 'The source locale code',
@@ -67,7 +67,7 @@ module Fastlane
67
67
  FastlaneCore::ConfigItem.new(key: :download_path,
68
68
  env_name: 'FL_DOWNLOAD_METADATA_DOWNLOAD_PATH',
69
69
  description: 'The path of the target files',
70
- is_string: true),
70
+ type: String),
71
71
  ]
72
72
  end
73
73
 
@@ -36,7 +36,7 @@ module Fastlane
36
36
  target = self.create_target_file_path(orig)
37
37
 
38
38
  # Clear if older exists
39
- File.delete(target) if File.exist? target
39
+ FileUtils.rm_f(target)
40
40
 
41
41
  # Create the new one
42
42
  begin
@@ -46,7 +46,7 @@ module Fastlane
46
46
  end
47
47
  end
48
48
  rescue
49
- File.delete(target) if File.exist? target
49
+ FileUtils.rm_f(target)
50
50
  raise
51
51
  end
52
52
 
@@ -56,7 +56,7 @@ module Fastlane
56
56
  # Deletes the old po and moves the temp one
57
57
  # to the final location
58
58
  def self.swap_po(orig_file_path, temp_file_path)
59
- File.delete(orig_file_path) if File.exist? orig_file_path
59
+ FileUtils.rm_f(orig_file_path)
60
60
  File.rename(temp_file_path, orig_file_path)
61
61
  end
62
62
 
@@ -130,7 +130,7 @@ module Fastlane
130
130
  FastlaneCore::ConfigItem.new(key: :po_file_path,
131
131
  env_name: 'FL_UPDATE_METADATA_SOURCE_PO_FILE_PATH',
132
132
  description: 'The path of the .po file to update',
133
- is_string: true,
133
+ type: String,
134
134
  verify_block: proc do |value|
135
135
  UI.user_error!("No .po file path for UpdateMetadataSourceAction given, pass using `po_file_path: 'file path'`") unless value && (!value.empty?)
136
136
  UI.user_error!("Couldn't find file at path '#{value}'") unless File.exist?(value)
@@ -144,7 +144,7 @@ module Fastlane
144
144
  FastlaneCore::ConfigItem.new(key: :source_files,
145
145
  env_name: 'FL_UPDATE_METADATA_SOURCE_SOURCE_FILES',
146
146
  description: 'The hash with the path to the source files and the key to use to include their content',
147
- is_string: false,
147
+ type: Hash,
148
148
  verify_block: proc do |value|
149
149
  UI.user_error!("No source file hash for UpdateMetadataSourceAction given, pass using `source_files: 'source file hash'`") unless value && (!value.empty?)
150
150
  end),
@@ -87,7 +87,7 @@ module Fastlane
87
87
  end
88
88
  if app_center_info.org_name && app_center_info.app_name
89
89
  install_url = "https://install.appcenter.ms/orgs/#{app_center_info.org_name}/apps/#{app_center_info.app_name}/releases/#{app_center_info.release_id}"
90
- extra_metadata['App Center Build'] = "<a href='#{install_url}'>#{app_center_info.display_name} \##{app_center_info.release_id}</a>"
90
+ extra_metadata['App Center Build'] = "<a href='#{install_url}'>#{app_center_info.display_name} ##{app_center_info.release_id}</a>"
91
91
  end
92
92
  UI.user_error!(NO_INSTALL_URL_ERROR_MESSAGE) if install_url.nil?
93
93
  qr_code_url = "https://chart.googleapis.com/chart?chs=500x500&cht=qr&chl=#{CGI.escape(install_url)}&choe=UTF-8"
@@ -68,10 +68,10 @@ module Fastlane
68
68
  optional: false,
69
69
  type: String),
70
70
  FastlaneCore::ConfigItem.new(key: :freeze,
71
- description: 'The GitHub milestone',
71
+ description: 'If true, the action will add the ❄️ emoji to the milestone title',
72
72
  optional: false,
73
73
  default_value: true,
74
- is_string: false),
74
+ type: Boolean),
75
75
  Fastlane::Helper::GithubHelper.github_token_config_item,
76
76
  ]
77
77
  end
@@ -127,7 +127,7 @@ module Fastlane
127
127
  description: 'Overwrite copied files without confirmation',
128
128
  optional: true,
129
129
  default_value: false,
130
- is_string: false),
130
+ type: Boolean),
131
131
  ]
132
132
  end
133
133
 
@@ -46,7 +46,7 @@ module Fastlane
46
46
 
47
47
  def self.prompt_to_switch_branches
48
48
  branch_name_to_display = current_branch.nil? ? current_hash : current_branch
49
- if UI.confirm("The current branch is `#{branch_name_to_display}`. Would you like to switch branches?")
49
+ if UI.confirm("The current Mobile Secrets branch is `#{branch_name_to_display}`. Would you like to switch branches?")
50
50
  new_branch = UI.select("Select the branch you'd like to switch to: ", get_branches)
51
51
  checkout_branch(new_branch)
52
52
  update_configure_file
@@ -43,13 +43,13 @@ module Fastlane
43
43
  [
44
44
  FastlaneCore::ConfigItem.new(key: :app_identifier,
45
45
  description: 'List of App Identifiers that should contain the new device identifier',
46
- is_string: false,
46
+ type: Array,
47
47
  verify_block: proc do |value|
48
48
  UI.user_error!('You must provide an array of bundle identifiers in `app_identifier`') if value.empty?
49
49
  end),
50
50
  FastlaneCore::ConfigItem.new(key: :team_id,
51
51
  description: 'The team_id for the provisioning profiles',
52
- is_string: true,
52
+ type: String,
53
53
  verify_block: proc do |value|
54
54
  UI.user_error!('You must provide a team ID in `team_id`') unless value && (!value.empty?)
55
55
  end),
@@ -42,7 +42,7 @@ module Fastlane
42
42
  FastlaneCore::ConfigItem.new(
43
43
  key: :app_identifier,
44
44
  description: 'List of App Identifiers that should contain the new device identifier',
45
- is_string: false,
45
+ type: Array,
46
46
  verify_block: proc do |value|
47
47
  UI.user_error!('You must provide an array of bundle identifiers in `app_identifier`') if value.empty?
48
48
  end
@@ -50,7 +50,7 @@ module Fastlane
50
50
  FastlaneCore::ConfigItem.new(
51
51
  key: :team_id,
52
52
  description: 'The team_id for the provisioning profiles',
53
- is_string: true,
53
+ type: String,
54
54
  verify_block: proc do |value|
55
55
  UI.user_error!('You must provide a team ID in `team_id`') unless value && (!value.empty?)
56
56
  end