fastlane-plugin-wpmreleasetoolkit 9.1.0 → 9.2.0
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/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_betabuild_prechecks.rb +41 -5
- data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_build_prechecks.rb +37 -6
- data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_bump_version_beta.rb +40 -5
- data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_bump_version_final_release.rb +40 -5
- data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_bump_version_hotfix.rb +35 -3
- data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_bump_version_release.rb +42 -5
- data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_codefreeze_prechecks.rb +33 -3
- data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_completecodefreeze_prechecks.rb +25 -1
- data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_current_branch_is_hotfix.rb +28 -2
- data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_download_file_by_version.rb +13 -1
- data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_download_translations_action.rb +3 -1
- data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_finalize_prechecks.rb +25 -1
- data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_get_alpha_version.rb +28 -2
- data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_get_app_version.rb +28 -2
- data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_get_release_version.rb +28 -2
- data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_tag_build.rb +29 -2
- data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_update_release_notes.rb +2 -0
- data/lib/fastlane/plugin/wpmreleasetoolkit/actions/ios/ios_update_release_notes.rb +2 -0
- data/lib/fastlane/plugin/wpmreleasetoolkit/helper/android/android_git_helper.rb +8 -9
- data/lib/fastlane/plugin/wpmreleasetoolkit/helper/android/android_version_helper.rb +31 -47
- data/lib/fastlane/plugin/wpmreleasetoolkit/helper/deprecated.rb +46 -0
- data/lib/fastlane/plugin/wpmreleasetoolkit/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '08941e54d2253b1ac4dbcb350d0e5e1a31da6dc52897e2c392608f1554ad8308'
|
|
4
|
+
data.tar.gz: 7d98b95785ac0c1d7fca4b73474d234797753f6d04c84e848b9cc7eba332a5e5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2deb2008e93e31b32f43cf418f49d9c92365d726c565fea9843e68fb8aeef809ad4311abf4419ea00bc96e60f269e30a8bd412a68ec0f8064680c0a88149da80
|
|
7
|
+
data.tar.gz: 2cbef8e0edc3f6e69d6bc02f812ebdc1f3cecd2d740d93a8f4ad930440a84d7b9bd1b449414b18e761a7e9a700f5c42b0083fb55f2ec6f902025c87851cb77fc
|
|
@@ -8,18 +8,32 @@ module Fastlane
|
|
|
8
8
|
require_relative '../../helper/android/android_version_helper'
|
|
9
9
|
require_relative '../../helper/android/android_git_helper'
|
|
10
10
|
|
|
11
|
+
project_root_folder = params[:project_root_folder]
|
|
12
|
+
project_name = params[:project_name]
|
|
13
|
+
build_gradle_path = params[:build_gradle_path] || (File.join(project_root_folder || '.', project_name, 'build.gradle') unless project_name.nil?)
|
|
14
|
+
version_properties_path = params[:version_properties_path] || File.join(project_root_folder || '.', 'version.properties')
|
|
15
|
+
|
|
11
16
|
# Checkout default branch and update
|
|
12
17
|
default_branch = params[:default_branch]
|
|
13
18
|
Fastlane::Helper::GitHelper.checkout_and_pull(default_branch)
|
|
14
19
|
|
|
15
20
|
# Check versions
|
|
16
|
-
release_version = Fastlane::Helper::Android::VersionHelper.get_release_version
|
|
21
|
+
release_version = Fastlane::Helper::Android::VersionHelper.get_release_version(
|
|
22
|
+
build_gradle_path: build_gradle_path,
|
|
23
|
+
version_properties_path: version_properties_path
|
|
24
|
+
)
|
|
17
25
|
message = "The following current version has been detected: #{release_version[Fastlane::Helper::Android::VersionHelper::VERSION_NAME]}\n"
|
|
18
|
-
alpha_release_version = Fastlane::Helper::Android::VersionHelper.get_alpha_version
|
|
26
|
+
alpha_release_version = Fastlane::Helper::Android::VersionHelper.get_alpha_version(
|
|
27
|
+
build_gradle_path: build_gradle_path,
|
|
28
|
+
version_properties_path: version_properties_path
|
|
29
|
+
)
|
|
19
30
|
message << "The following Alpha version has been detected: #{alpha_release_version[Fastlane::Helper::Android::VersionHelper::VERSION_NAME]}\n" unless alpha_release_version.nil?
|
|
20
31
|
|
|
21
32
|
# Check branch
|
|
22
|
-
app_version = Fastlane::Helper::Android::VersionHelper.get_public_version
|
|
33
|
+
app_version = Fastlane::Helper::Android::VersionHelper.get_public_version(
|
|
34
|
+
build_gradle_path: build_gradle_path,
|
|
35
|
+
version_properties_path: version_properties_path
|
|
36
|
+
)
|
|
23
37
|
UI.user_error!("#{message}Release branch for version #{app_version} doesn't exist. Abort.") unless !params[:base_version].nil? || Fastlane::Helper::GitHelper.checkout_and_pull(release: app_version)
|
|
24
38
|
|
|
25
39
|
# Check user overwrite
|
|
@@ -50,9 +64,15 @@ module Fastlane
|
|
|
50
64
|
|
|
51
65
|
def self.get_user_build_version(version:, message:)
|
|
52
66
|
UI.user_error!("Release branch for version #{version} doesn't exist. Abort.") unless Fastlane::Helper::GitHelper.checkout_and_pull(release: version)
|
|
53
|
-
release_version = Fastlane::Helper::Android::VersionHelper.get_release_version
|
|
67
|
+
release_version = Fastlane::Helper::Android::VersionHelper.get_release_version(
|
|
68
|
+
build_gradle_path: build_gradle_path,
|
|
69
|
+
version_properties_path: version_properties_path
|
|
70
|
+
)
|
|
54
71
|
message << "Looking at branch release/#{version} as requested by user. Detected version: #{release_version[Fastlane::Helper::Android::VersionHelper::VERSION_NAME]}.\n"
|
|
55
|
-
alpha_release_version = Fastlane::Helper::Android::VersionHelper.get_alpha_version
|
|
72
|
+
alpha_release_version = Fastlane::Helper::Android::VersionHelper.get_alpha_version(
|
|
73
|
+
build_gradle_path: build_gradle_path,
|
|
74
|
+
version_properties_path: version_properties_path
|
|
75
|
+
)
|
|
56
76
|
message << "and Alpha Version: #{alpha_release_version[Fastlane::Helper::Android::VersionHelper::VERSION_NAME]}\n" unless alpha_release_version.nil?
|
|
57
77
|
[release_version, alpha_release_version]
|
|
58
78
|
end
|
|
@@ -86,6 +106,22 @@ module Fastlane
|
|
|
86
106
|
description: 'Default branch of the repository',
|
|
87
107
|
type: String,
|
|
88
108
|
default_value: Fastlane::Helper::GitHelper::DEFAULT_GIT_BRANCH),
|
|
109
|
+
FastlaneCore::ConfigItem.new(key: :build_gradle_path,
|
|
110
|
+
description: 'Path to the build.gradle file',
|
|
111
|
+
type: String,
|
|
112
|
+
optional: true,
|
|
113
|
+
conflicting_options: %i[project_name
|
|
114
|
+
project_root_folder
|
|
115
|
+
version_properties_path]),
|
|
116
|
+
FastlaneCore::ConfigItem.new(key: :version_properties_path,
|
|
117
|
+
description: 'Path to the version.properties file',
|
|
118
|
+
type: String,
|
|
119
|
+
optional: true,
|
|
120
|
+
conflicting_options: %i[build_gradle_path
|
|
121
|
+
project_name
|
|
122
|
+
project_root_folder]),
|
|
123
|
+
Fastlane::Helper::Deprecated.project_root_folder_config_item,
|
|
124
|
+
Fastlane::Helper::Deprecated.project_name_config_item,
|
|
89
125
|
]
|
|
90
126
|
end
|
|
91
127
|
|
|
@@ -9,9 +9,24 @@ module Fastlane
|
|
|
9
9
|
|
|
10
10
|
Fastlane::Helper::GitHelper.ensure_on_branch!('release') unless other_action.is_ci
|
|
11
11
|
|
|
12
|
+
project_root_folder = params[:project_root_folder]
|
|
13
|
+
project_name = params[:project_name]
|
|
14
|
+
build_gradle_path = params[:build_gradle_path] || (File.join(project_root_folder || '.', project_name, 'build.gradle') unless project_name.nil?)
|
|
15
|
+
version_properties_path = params[:version_properties_path] || File.join(project_root_folder || '.', 'version.properties')
|
|
16
|
+
|
|
12
17
|
message = ''
|
|
13
|
-
|
|
14
|
-
|
|
18
|
+
unless !params[:beta] && !params[:final]
|
|
19
|
+
beta_version = Fastlane::Helper::Android::VersionHelper.get_release_version(
|
|
20
|
+
build_gradle_path: build_gradle_path,
|
|
21
|
+
version_properties_path: version_properties_path
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
if params[:alpha]
|
|
25
|
+
alpha_version = Fastlane::Helper::Android::VersionHelper.get_alpha_version(
|
|
26
|
+
build_gradle_path: build_gradle_path,
|
|
27
|
+
version_properties_path: version_properties_path
|
|
28
|
+
)
|
|
29
|
+
end
|
|
15
30
|
|
|
16
31
|
UI.user_error!("Can't build a final release out of this branch because it's configured as a beta release!") if params[:final] && Fastlane::Helper::Android::VersionHelper.is_beta_version?(beta_version)
|
|
17
32
|
|
|
@@ -19,10 +34,10 @@ module Fastlane
|
|
|
19
34
|
message << "Building version #{beta_version[Fastlane::Helper::Android::VersionHelper::VERSION_NAME]}(#{beta_version[Fastlane::Helper::Android::VersionHelper::VERSION_CODE]}) (for upload to Beta Channel)\n" if params[:beta]
|
|
20
35
|
message << "Building version #{alpha_version[Fastlane::Helper::Android::VersionHelper::VERSION_NAME]}(#{alpha_version[Fastlane::Helper::Android::VersionHelper::VERSION_CODE]}) (for upload to Alpha Channel)\n" if params[:alpha]
|
|
21
36
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
UI.user_error!('Aborted by user request')
|
|
37
|
+
UI.important(message)
|
|
38
|
+
|
|
39
|
+
if !options[:skip_confirm] && !UI.confirm('Do you want to continue?')
|
|
40
|
+
UI.user_error!('Aborted by user request')
|
|
26
41
|
end
|
|
27
42
|
|
|
28
43
|
# Check local repo status
|
|
@@ -63,6 +78,22 @@ module Fastlane
|
|
|
63
78
|
description: 'True if this is for a final build',
|
|
64
79
|
type: Boolean,
|
|
65
80
|
default_value: false),
|
|
81
|
+
FastlaneCore::ConfigItem.new(key: :build_gradle_path,
|
|
82
|
+
description: 'Path to the build.gradle file',
|
|
83
|
+
type: String,
|
|
84
|
+
optional: true,
|
|
85
|
+
conflicting_options: %i[project_name
|
|
86
|
+
project_root_folder
|
|
87
|
+
version_properties_path]),
|
|
88
|
+
FastlaneCore::ConfigItem.new(key: :version_properties_path,
|
|
89
|
+
description: 'Path to the version.properties file',
|
|
90
|
+
type: String,
|
|
91
|
+
optional: true,
|
|
92
|
+
conflicting_options: %i[build_gradle_path
|
|
93
|
+
project_name
|
|
94
|
+
project_root_folder]),
|
|
95
|
+
Fastlane::Helper::Deprecated.project_root_folder_config_item,
|
|
96
|
+
Fastlane::Helper::Deprecated.project_name_config_item,
|
|
66
97
|
]
|
|
67
98
|
end
|
|
68
99
|
|
|
@@ -9,8 +9,19 @@ module Fastlane
|
|
|
9
9
|
|
|
10
10
|
Fastlane::Helper::GitHelper.ensure_on_branch!('release')
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
project_root_folder = params[:project_root_folder]
|
|
13
|
+
project_name = params[:project_name]
|
|
14
|
+
build_gradle_path = params[:build_gradle_path] || (File.join(project_root_folder || '.', project_name, 'build.gradle') unless project_name.nil?)
|
|
15
|
+
version_properties_path = params[:version_properties_path] || File.join(project_root_folder || '.', 'version.properties')
|
|
16
|
+
|
|
17
|
+
current_version = Fastlane::Helper::Android::VersionHelper.get_release_version(
|
|
18
|
+
build_gradle_path: build_gradle_path,
|
|
19
|
+
version_properties_path: version_properties_path
|
|
20
|
+
)
|
|
21
|
+
current_version_alpha = Fastlane::Helper::Android::VersionHelper.get_alpha_version(
|
|
22
|
+
build_gradle_path: build_gradle_path,
|
|
23
|
+
version_properties_path: version_properties_path
|
|
24
|
+
)
|
|
14
25
|
new_version_beta = Fastlane::Helper::Android::VersionHelper.calc_next_beta_version(current_version, current_version_alpha)
|
|
15
26
|
new_version_alpha = current_version_alpha.nil? ? nil : Fastlane::Helper::Android::VersionHelper.calc_next_alpha_version(new_version_beta, current_version_alpha)
|
|
16
27
|
|
|
@@ -22,10 +33,17 @@ module Fastlane
|
|
|
22
33
|
UI.message("New alpha version: #{new_version_alpha[vname]}(#{new_version_alpha[vcode]})") unless current_version_alpha.nil?
|
|
23
34
|
|
|
24
35
|
UI.message 'Updating app version...'
|
|
25
|
-
Fastlane::Helper::Android::VersionHelper.update_versions(
|
|
36
|
+
Fastlane::Helper::Android::VersionHelper.update_versions(
|
|
37
|
+
new_version_beta,
|
|
38
|
+
new_version_alpha,
|
|
39
|
+
version_properties_path: version_properties_path
|
|
40
|
+
)
|
|
26
41
|
UI.message 'Done!'
|
|
27
42
|
|
|
28
|
-
Fastlane::Helper::Android::GitHelper.commit_version_bump
|
|
43
|
+
Fastlane::Helper::Android::GitHelper.commit_version_bump(
|
|
44
|
+
build_gradle_path: build_gradle_path,
|
|
45
|
+
version_properties_path: version_properties_path
|
|
46
|
+
)
|
|
29
47
|
end
|
|
30
48
|
|
|
31
49
|
#####################################################
|
|
@@ -41,7 +59,24 @@ module Fastlane
|
|
|
41
59
|
end
|
|
42
60
|
|
|
43
61
|
def self.available_options
|
|
44
|
-
|
|
62
|
+
[
|
|
63
|
+
FastlaneCore::ConfigItem.new(key: :build_gradle_path,
|
|
64
|
+
description: 'Path to the build.gradle file',
|
|
65
|
+
type: String,
|
|
66
|
+
optional: true,
|
|
67
|
+
conflicting_options: %i[project_name
|
|
68
|
+
project_root_folder
|
|
69
|
+
version_properties_path]),
|
|
70
|
+
FastlaneCore::ConfigItem.new(key: :version_properties_path,
|
|
71
|
+
description: 'Path to the version.properties file',
|
|
72
|
+
type: String,
|
|
73
|
+
optional: true,
|
|
74
|
+
conflicting_options: %i[build_gradle_path
|
|
75
|
+
project_name
|
|
76
|
+
project_root_folder]),
|
|
77
|
+
Fastlane::Helper::Deprecated.project_root_folder_config_item,
|
|
78
|
+
Fastlane::Helper::Deprecated.project_name_config_item,
|
|
79
|
+
]
|
|
45
80
|
end
|
|
46
81
|
|
|
47
82
|
def self.output
|
data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_bump_version_final_release.rb
CHANGED
|
@@ -9,8 +9,19 @@ module Fastlane
|
|
|
9
9
|
|
|
10
10
|
Fastlane::Helper::GitHelper.ensure_on_branch!('release')
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
project_root_folder = params[:project_root_folder]
|
|
13
|
+
project_name = params[:project_name]
|
|
14
|
+
build_gradle_path = params[:build_gradle_path] || (File.join(project_root_folder || '.', project_name, 'build.gradle') unless project_name.nil?)
|
|
15
|
+
version_properties_path = params[:version_properties_path] || File.join(project_root_folder || '.', 'version.properties')
|
|
16
|
+
|
|
17
|
+
current_version = Fastlane::Helper::Android::VersionHelper.get_release_version(
|
|
18
|
+
build_gradle_path: build_gradle_path,
|
|
19
|
+
version_properties_path: version_properties_path
|
|
20
|
+
)
|
|
21
|
+
current_version_alpha = Fastlane::Helper::Android::VersionHelper.get_alpha_version(
|
|
22
|
+
build_gradle_path: build_gradle_path,
|
|
23
|
+
version_properties_path: version_properties_path
|
|
24
|
+
)
|
|
14
25
|
final_version = Fastlane::Helper::Android::VersionHelper.calc_final_release_version(current_version, current_version_alpha)
|
|
15
26
|
|
|
16
27
|
vname = Fastlane::Helper::Android::VersionHelper::VERSION_NAME
|
|
@@ -20,10 +31,17 @@ module Fastlane
|
|
|
20
31
|
UI.message("New release version: #{final_version[vname]}(#{final_version[vcode]})")
|
|
21
32
|
|
|
22
33
|
UI.message 'Updating app version...'
|
|
23
|
-
Fastlane::Helper::Android::VersionHelper.update_versions(
|
|
34
|
+
Fastlane::Helper::Android::VersionHelper.update_versions(
|
|
35
|
+
final_version,
|
|
36
|
+
current_version_alpha,
|
|
37
|
+
version_properties_path: version_properties_path
|
|
38
|
+
)
|
|
24
39
|
UI.message 'Done!'
|
|
25
40
|
|
|
26
|
-
Fastlane::Helper::Android::GitHelper.commit_version_bump
|
|
41
|
+
Fastlane::Helper::Android::GitHelper.commit_version_bump(
|
|
42
|
+
build_gradle_path: build_gradle_path,
|
|
43
|
+
version_properties_path: version_properties_path
|
|
44
|
+
)
|
|
27
45
|
end
|
|
28
46
|
|
|
29
47
|
#####################################################
|
|
@@ -39,7 +57,24 @@ module Fastlane
|
|
|
39
57
|
end
|
|
40
58
|
|
|
41
59
|
def self.available_options
|
|
42
|
-
|
|
60
|
+
[
|
|
61
|
+
FastlaneCore::ConfigItem.new(key: :build_gradle_path,
|
|
62
|
+
description: 'Path to the build.gradle file',
|
|
63
|
+
type: String,
|
|
64
|
+
optional: true,
|
|
65
|
+
conflicting_options: %i[project_name
|
|
66
|
+
project_root_folder
|
|
67
|
+
version_properties_path]),
|
|
68
|
+
FastlaneCore::ConfigItem.new(key: :version_properties_path,
|
|
69
|
+
description: 'Path to the version.properties file',
|
|
70
|
+
type: String,
|
|
71
|
+
optional: true,
|
|
72
|
+
conflicting_options: %i[build_gradle_path
|
|
73
|
+
project_name
|
|
74
|
+
project_root_folder]),
|
|
75
|
+
Fastlane::Helper::Deprecated.project_root_folder_config_item,
|
|
76
|
+
Fastlane::Helper::Deprecated.project_name_config_item,
|
|
77
|
+
]
|
|
43
78
|
end
|
|
44
79
|
|
|
45
80
|
def self.authors
|
|
@@ -5,9 +5,18 @@ module Fastlane
|
|
|
5
5
|
UI.message 'Bumping app release version for hotfix...'
|
|
6
6
|
|
|
7
7
|
require_relative '../../helper/android/android_git_helper'
|
|
8
|
+
|
|
9
|
+
project_root_folder = params[:project_root_folder]
|
|
10
|
+
project_name = params[:project_name]
|
|
11
|
+
build_gradle_path = params[:build_gradle_path] || (File.join(project_root_folder || '.', project_name, 'build.gradle') unless project_name.nil?)
|
|
12
|
+
version_properties_path = params[:version_properties_path] || File.join(project_root_folder || '.', 'version.properties')
|
|
13
|
+
|
|
8
14
|
Fastlane::Helper::GitHelper.create_branch("release/#{params[:version_name]}", from: params[:previous_version_name])
|
|
9
15
|
|
|
10
|
-
current_version = Fastlane::Helper::Android::VersionHelper.get_release_version
|
|
16
|
+
current_version = Fastlane::Helper::Android::VersionHelper.get_release_version(
|
|
17
|
+
build_gradle_path: build_gradle_path,
|
|
18
|
+
version_properties_path: version_properties_path
|
|
19
|
+
)
|
|
11
20
|
new_version = Fastlane::Helper::Android::VersionHelper.calc_next_hotfix_version(params[:version_name], params[:version_code]) # NOTE: this just puts the name/code values in a tuple, unchanged (no actual calc/bumping)
|
|
12
21
|
new_release_branch = "release/#{params[:version_name]}"
|
|
13
22
|
|
|
@@ -18,10 +27,17 @@ module Fastlane
|
|
|
18
27
|
UI.message("Release branch: #{new_release_branch}")
|
|
19
28
|
|
|
20
29
|
UI.message 'Updating app version...'
|
|
21
|
-
Fastlane::Helper::Android::VersionHelper.update_versions(
|
|
30
|
+
Fastlane::Helper::Android::VersionHelper.update_versions(
|
|
31
|
+
new_version,
|
|
32
|
+
nil,
|
|
33
|
+
version_properties_path: version_properties_path
|
|
34
|
+
)
|
|
22
35
|
UI.message 'Done!'
|
|
23
36
|
|
|
24
|
-
Fastlane::Helper::Android::GitHelper.commit_version_bump
|
|
37
|
+
Fastlane::Helper::Android::GitHelper.commit_version_bump(
|
|
38
|
+
build_gradle_path: build_gradle_path,
|
|
39
|
+
version_properties_path: version_properties_path
|
|
40
|
+
)
|
|
25
41
|
|
|
26
42
|
UI.message 'Done.'
|
|
27
43
|
end
|
|
@@ -52,6 +68,22 @@ module Fastlane
|
|
|
52
68
|
env_name: 'FL_ANDROID_BUMP_VERSION_HOTFIX_PREVIOUS_VERSION',
|
|
53
69
|
description: 'The version to branch from',
|
|
54
70
|
type: String),
|
|
71
|
+
FastlaneCore::ConfigItem.new(key: :build_gradle_path,
|
|
72
|
+
description: 'Path to the build.gradle file',
|
|
73
|
+
type: String,
|
|
74
|
+
optional: true,
|
|
75
|
+
conflicting_options: %i[project_name
|
|
76
|
+
project_root_folder
|
|
77
|
+
version_properties_path]),
|
|
78
|
+
FastlaneCore::ConfigItem.new(key: :version_properties_path,
|
|
79
|
+
description: 'Path to the version.properties file',
|
|
80
|
+
type: String,
|
|
81
|
+
optional: true,
|
|
82
|
+
conflicting_options: %i[build_gradle_path
|
|
83
|
+
project_name
|
|
84
|
+
project_root_folder]),
|
|
85
|
+
Fastlane::Helper::Deprecated.project_root_folder_config_item,
|
|
86
|
+
Fastlane::Helper::Deprecated.project_name_config_item,
|
|
55
87
|
]
|
|
56
88
|
end
|
|
57
89
|
|
|
@@ -8,14 +8,28 @@ module Fastlane
|
|
|
8
8
|
require_relative '../../helper/android/android_version_helper'
|
|
9
9
|
require_relative '../../helper/android/android_git_helper'
|
|
10
10
|
|
|
11
|
+
project_root_folder = params[:project_root_folder]
|
|
12
|
+
project_name = params[:project_name]
|
|
13
|
+
build_gradle_path = params[:build_gradle_path] || (File.join(project_root_folder || '.', project_name, 'build.gradle') unless project_name.nil?)
|
|
14
|
+
version_properties_path = params[:version_properties_path] || File.join(project_root_folder || '.', 'version.properties')
|
|
15
|
+
|
|
11
16
|
default_branch = params[:default_branch]
|
|
12
17
|
other_action.ensure_git_branch(branch: default_branch)
|
|
13
18
|
|
|
14
19
|
# Create new configuration
|
|
15
|
-
new_short_version = Fastlane::Helper::Android::VersionHelper.bump_version_release
|
|
20
|
+
new_short_version = Fastlane::Helper::Android::VersionHelper.bump_version_release(
|
|
21
|
+
build_gradle_path: build_gradle_path,
|
|
22
|
+
version_properties_path: version_properties_path
|
|
23
|
+
)
|
|
16
24
|
|
|
17
|
-
current_version = Fastlane::Helper::Android::VersionHelper.get_release_version
|
|
18
|
-
|
|
25
|
+
current_version = Fastlane::Helper::Android::VersionHelper.get_release_version(
|
|
26
|
+
build_gradle_path: build_gradle_path,
|
|
27
|
+
version_properties_path: version_properties_path
|
|
28
|
+
)
|
|
29
|
+
current_version_alpha = Fastlane::Helper::Android::VersionHelper.get_alpha_version(
|
|
30
|
+
build_gradle_path: build_gradle_path,
|
|
31
|
+
version_properties_path: version_properties_path
|
|
32
|
+
)
|
|
19
33
|
new_version_beta = Fastlane::Helper::Android::VersionHelper.calc_next_release_version(current_version, current_version_alpha)
|
|
20
34
|
new_version_alpha = current_version_alpha.nil? ? nil : Fastlane::Helper::Android::VersionHelper.calc_next_alpha_version(new_version_beta, current_version_alpha)
|
|
21
35
|
new_release_branch = "release/#{new_short_version}"
|
|
@@ -35,8 +49,15 @@ module Fastlane
|
|
|
35
49
|
UI.message 'Done!'
|
|
36
50
|
|
|
37
51
|
UI.message 'Updating app version...'
|
|
38
|
-
Fastlane::Helper::Android::VersionHelper.update_versions(
|
|
39
|
-
|
|
52
|
+
Fastlane::Helper::Android::VersionHelper.update_versions(
|
|
53
|
+
new_version_beta,
|
|
54
|
+
new_version_alpha,
|
|
55
|
+
version_properties_path: version_properties_path
|
|
56
|
+
)
|
|
57
|
+
Fastlane::Helper::Android::GitHelper.commit_version_bump(
|
|
58
|
+
build_gradle_path: build_gradle_path,
|
|
59
|
+
version_properties_path: version_properties_path
|
|
60
|
+
)
|
|
40
61
|
UI.message 'Done.'
|
|
41
62
|
end
|
|
42
63
|
|
|
@@ -59,6 +80,22 @@ module Fastlane
|
|
|
59
80
|
description: 'Default branch of the repository',
|
|
60
81
|
type: String,
|
|
61
82
|
default_value: Fastlane::Helper::GitHelper::DEFAULT_GIT_BRANCH),
|
|
83
|
+
FastlaneCore::ConfigItem.new(key: :build_gradle_path,
|
|
84
|
+
description: 'Path to the build.gradle file',
|
|
85
|
+
type: String,
|
|
86
|
+
optional: true,
|
|
87
|
+
conflicting_options: %i[project_name
|
|
88
|
+
project_root_folder
|
|
89
|
+
version_properties_path]),
|
|
90
|
+
FastlaneCore::ConfigItem.new(key: :version_properties_path,
|
|
91
|
+
description: 'Path to the version.properties file',
|
|
92
|
+
type: String,
|
|
93
|
+
optional: true,
|
|
94
|
+
conflicting_options: %i[build_gradle_path
|
|
95
|
+
project_name
|
|
96
|
+
project_root_folder]),
|
|
97
|
+
Fastlane::Helper::Deprecated.project_root_folder_config_item,
|
|
98
|
+
Fastlane::Helper::Deprecated.project_name_config_item,
|
|
62
99
|
]
|
|
63
100
|
end
|
|
64
101
|
|
|
@@ -11,13 +11,24 @@ module Fastlane
|
|
|
11
11
|
require_relative '../../helper/android/android_version_helper'
|
|
12
12
|
require_relative '../../helper/android/android_git_helper'
|
|
13
13
|
|
|
14
|
+
project_root_folder = params[:project_root_folder]
|
|
15
|
+
project_name = params[:project_name]
|
|
16
|
+
build_gradle_path = params[:build_gradle_path] || (File.join(project_root_folder || '.', project_name, 'build.gradle') unless project_name.nil?)
|
|
17
|
+
version_properties_path = params[:version_properties_path] || File.join(project_root_folder || '.', 'version.properties')
|
|
18
|
+
|
|
14
19
|
# Checkout default branch and update
|
|
15
20
|
default_branch = params[:default_branch]
|
|
16
21
|
Fastlane::Helper::GitHelper.checkout_and_pull(default_branch)
|
|
17
22
|
|
|
18
23
|
# Create versions
|
|
19
|
-
current_version = Fastlane::Helper::Android::VersionHelper.get_release_version
|
|
20
|
-
|
|
24
|
+
current_version = Fastlane::Helper::Android::VersionHelper.get_release_version(
|
|
25
|
+
build_gradle_path: build_gradle_path,
|
|
26
|
+
version_properties_path: version_properties_path
|
|
27
|
+
)
|
|
28
|
+
current_alpha_version = Fastlane::Helper::Android::VersionHelper.get_alpha_version(
|
|
29
|
+
build_gradle_path: build_gradle_path,
|
|
30
|
+
version_properties_path: version_properties_path
|
|
31
|
+
)
|
|
21
32
|
next_version = Fastlane::Helper::Android::VersionHelper.calc_next_release_version(current_version, current_alpha_version)
|
|
22
33
|
next_alpha_version = current_alpha_version.nil? ? nil : Fastlane::Helper::Android::VersionHelper.calc_next_alpha_version(next_version, current_alpha_version)
|
|
23
34
|
|
|
@@ -36,7 +47,10 @@ module Fastlane
|
|
|
36
47
|
other_action.ensure_git_status_clean
|
|
37
48
|
|
|
38
49
|
# Return the current version
|
|
39
|
-
Fastlane::Helper::Android::VersionHelper.get_public_version
|
|
50
|
+
Fastlane::Helper::Android::VersionHelper.get_public_version(
|
|
51
|
+
build_gradle_path: build_gradle_path,
|
|
52
|
+
version_properties_path: version_properties_path
|
|
53
|
+
)
|
|
40
54
|
end
|
|
41
55
|
|
|
42
56
|
#####################################################
|
|
@@ -64,6 +78,22 @@ module Fastlane
|
|
|
64
78
|
description: 'Default branch of the repository',
|
|
65
79
|
type: String,
|
|
66
80
|
default_value: Fastlane::Helper::GitHelper::DEFAULT_GIT_BRANCH),
|
|
81
|
+
FastlaneCore::ConfigItem.new(key: :build_gradle_path,
|
|
82
|
+
description: 'Path to the build.gradle file',
|
|
83
|
+
type: String,
|
|
84
|
+
optional: true,
|
|
85
|
+
conflicting_options: %i[project_name
|
|
86
|
+
project_root_folder
|
|
87
|
+
version_properties_path]),
|
|
88
|
+
FastlaneCore::ConfigItem.new(key: :version_properties_path,
|
|
89
|
+
description: 'Path to the version.properties file',
|
|
90
|
+
type: String,
|
|
91
|
+
optional: true,
|
|
92
|
+
conflicting_options: %i[build_gradle_path
|
|
93
|
+
project_name
|
|
94
|
+
project_root_folder]),
|
|
95
|
+
Fastlane::Helper::Deprecated.project_root_folder_config_item,
|
|
96
|
+
Fastlane::Helper::Deprecated.project_name_config_item,
|
|
67
97
|
]
|
|
68
98
|
end
|
|
69
99
|
|
data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_completecodefreeze_prechecks.rb
CHANGED
|
@@ -11,7 +11,15 @@ module Fastlane
|
|
|
11
11
|
current_branch = Fastlane::Helper::GitHelper.current_git_branch
|
|
12
12
|
UI.user_error!("Current branch - '#{current_branch}' - is not a release branch. Abort.") unless current_branch.start_with?('release/')
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
project_root_folder = params[:project_root_folder]
|
|
15
|
+
project_name = params[:project_name]
|
|
16
|
+
build_gradle_path = params[:build_gradle_path] || (File.join(project_root_folder || '.', project_name, 'build.gradle') unless project_name.nil?)
|
|
17
|
+
version_properties_path = params[:version_properties_path] || File.join(project_root_folder || '.', 'version.properties')
|
|
18
|
+
|
|
19
|
+
version = Fastlane::Helper::Android::VersionHelper.get_public_version(
|
|
20
|
+
build_gradle_path: build_gradle_path,
|
|
21
|
+
version_properties_path: version_properties_path
|
|
22
|
+
)
|
|
15
23
|
message = "Completing code freeze for: #{version}\n"
|
|
16
24
|
if params[:skip_confirm]
|
|
17
25
|
UI.message(message)
|
|
@@ -44,6 +52,22 @@ module Fastlane
|
|
|
44
52
|
description: 'Skips confirmation',
|
|
45
53
|
type: Boolean,
|
|
46
54
|
default_value: false), # the default value if the user didn't provide one
|
|
55
|
+
FastlaneCore::ConfigItem.new(key: :build_gradle_path,
|
|
56
|
+
description: 'Path to the build.gradle file',
|
|
57
|
+
type: String,
|
|
58
|
+
optional: true,
|
|
59
|
+
conflicting_options: %i[project_name
|
|
60
|
+
project_root_folder
|
|
61
|
+
version_properties_path]),
|
|
62
|
+
FastlaneCore::ConfigItem.new(key: :version_properties_path,
|
|
63
|
+
description: 'Path to the version.properties file',
|
|
64
|
+
type: String,
|
|
65
|
+
optional: true,
|
|
66
|
+
conflicting_options: %i[build_gradle_path
|
|
67
|
+
project_name
|
|
68
|
+
project_root_folder]),
|
|
69
|
+
Fastlane::Helper::Deprecated.project_root_folder_config_item,
|
|
70
|
+
Fastlane::Helper::Deprecated.project_name_config_item,
|
|
47
71
|
]
|
|
48
72
|
end
|
|
49
73
|
|
data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_current_branch_is_hotfix.rb
CHANGED
|
@@ -7,7 +7,16 @@ module Fastlane
|
|
|
7
7
|
class AndroidCurrentBranchIsHotfixAction < Action
|
|
8
8
|
def self.run(params)
|
|
9
9
|
require_relative '../../helper/android/android_version_helper'
|
|
10
|
-
|
|
10
|
+
|
|
11
|
+
project_root_folder = params[:project_root_folder]
|
|
12
|
+
project_name = params[:project_name]
|
|
13
|
+
build_gradle_path = params[:build_gradle_path] || (File.join(project_root_folder || '.', project_name, 'build.gradle') unless project_name.nil?)
|
|
14
|
+
version_properties_path = params[:version_properties_path] || File.join(project_root_folder || '.', 'version.properties')
|
|
15
|
+
|
|
16
|
+
version = Fastlane::Helper::Android::VersionHelper.get_release_version(
|
|
17
|
+
build_gradle_path: build_gradle_path,
|
|
18
|
+
version_properties_path: version_properties_path
|
|
19
|
+
)
|
|
11
20
|
Fastlane::Helper::Android::VersionHelper.is_hotfix?(version)
|
|
12
21
|
end
|
|
13
22
|
|
|
@@ -24,7 +33,24 @@ module Fastlane
|
|
|
24
33
|
end
|
|
25
34
|
|
|
26
35
|
def self.available_options
|
|
27
|
-
|
|
36
|
+
[
|
|
37
|
+
FastlaneCore::ConfigItem.new(key: :build_gradle_path,
|
|
38
|
+
description: 'Path to the build.gradle file',
|
|
39
|
+
type: String,
|
|
40
|
+
optional: true,
|
|
41
|
+
conflicting_options: %i[project_name
|
|
42
|
+
project_root_folder
|
|
43
|
+
version_properties_path]),
|
|
44
|
+
FastlaneCore::ConfigItem.new(key: :version_properties_path,
|
|
45
|
+
description: 'Path to the version.properties file',
|
|
46
|
+
type: String,
|
|
47
|
+
optional: true,
|
|
48
|
+
conflicting_options: %i[build_gradle_path
|
|
49
|
+
project_name
|
|
50
|
+
project_root_folder]),
|
|
51
|
+
Fastlane::Helper::Deprecated.project_root_folder_config_item,
|
|
52
|
+
Fastlane::Helper::Deprecated.project_name_config_item,
|
|
53
|
+
]
|
|
28
54
|
end
|
|
29
55
|
|
|
30
56
|
def self.output
|
data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_download_file_by_version.rb
CHANGED
|
@@ -5,7 +5,13 @@ module Fastlane
|
|
|
5
5
|
require_relative '../../helper/android/android_localize_helper'
|
|
6
6
|
require_relative '../../helper/github_helper'
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
project_root_folder = params[:project_root_folder]
|
|
9
|
+
build_gradle_path = params[:build_gradle_path] || File.join(project_root_folder || '.', 'build.gradle')
|
|
10
|
+
|
|
11
|
+
version = Fastlane::Helper::Android::VersionHelper.get_library_version_from_gradle_config(
|
|
12
|
+
build_gradle_path: build_gradle_path,
|
|
13
|
+
import_key: params[:import_key]
|
|
14
|
+
)
|
|
9
15
|
UI.user_error!("Can't find any reference for key #{params[:import_key]}") if version.nil?
|
|
10
16
|
UI.message "Downloading #{params[:file_path]} from #{params[:repository]} at version #{version} to #{params[:download_folder]}"
|
|
11
17
|
|
|
@@ -58,7 +64,13 @@ module Fastlane
|
|
|
58
64
|
description: 'The prefix which is used in the GitHub release title',
|
|
59
65
|
type: String,
|
|
60
66
|
optional: true),
|
|
67
|
+
FastlaneCore::ConfigItem.new(key: :build_gradle_path,
|
|
68
|
+
description: 'Path to the build.gradle file',
|
|
69
|
+
type: String,
|
|
70
|
+
optional: true,
|
|
71
|
+
conflicting_options: [:project_root_folder]),
|
|
61
72
|
Fastlane::Helper::GithubHelper.github_token_config_item,
|
|
73
|
+
Fastlane::Helper::Deprecated.project_root_folder_config_item,
|
|
62
74
|
]
|
|
63
75
|
end
|
|
64
76
|
|
data/lib/fastlane/plugin/wpmreleasetoolkit/actions/android/android_download_translations_action.rb
CHANGED
|
@@ -7,7 +7,8 @@ module Fastlane
|
|
|
7
7
|
require_relative '../../helper/android/android_localize_helper'
|
|
8
8
|
require_relative '../../helper/git_helper'
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
project_root_folder = params[:project_root_folder]
|
|
11
|
+
res_dir = File.join(project_root_folder || '.', params[:res_dir])
|
|
11
12
|
|
|
12
13
|
Fastlane::Helper::Android::LocalizeHelper.create_available_languages_file(
|
|
13
14
|
res_dir: res_dir,
|
|
@@ -94,6 +95,7 @@ module Fastlane
|
|
|
94
95
|
type: Boolean,
|
|
95
96
|
default_value: false
|
|
96
97
|
),
|
|
98
|
+
Fastlane::Helper::Deprecated.project_root_folder_config_item,
|
|
97
99
|
]
|
|
98
100
|
end
|
|
99
101
|
|
|
@@ -15,7 +15,15 @@ module Fastlane
|
|
|
15
15
|
current_branch = Fastlane::Helper::GitHelper.current_git_branch
|
|
16
16
|
UI.user_error!("Current branch - '#{current_branch}' - is not a release branch. Abort.") unless current_branch.start_with?('release/')
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
project_root_folder = params[:project_root_folder]
|
|
19
|
+
project_name = params[:project_name]
|
|
20
|
+
build_gradle_path = params[:build_gradle_path] || (File.join(project_root_folder || '.', project_name, 'build.gradle') unless project_name.nil?)
|
|
21
|
+
version_properties_path = params[:version_properties_path] || File.join(project_root_folder || '.', 'version.properties')
|
|
22
|
+
|
|
23
|
+
version = Fastlane::Helper::Android::VersionHelper.get_public_version(
|
|
24
|
+
build_gradle_path: build_gradle_path,
|
|
25
|
+
version_properties_path: version_properties_path
|
|
26
|
+
)
|
|
19
27
|
message = "Finalizing release: #{version}\n"
|
|
20
28
|
if params[:skip_confirm]
|
|
21
29
|
UI.message(message)
|
|
@@ -51,6 +59,22 @@ module Fastlane
|
|
|
51
59
|
description: 'Skips confirmation',
|
|
52
60
|
type: Boolean,
|
|
53
61
|
default_value: false), # the default value if the user didn't provide one
|
|
62
|
+
FastlaneCore::ConfigItem.new(key: :build_gradle_path,
|
|
63
|
+
description: 'Path to the build.gradle file',
|
|
64
|
+
type: String,
|
|
65
|
+
optional: true,
|
|
66
|
+
conflicting_options: %i[project_name
|
|
67
|
+
project_root_folder
|
|
68
|
+
version_properties_path]),
|
|
69
|
+
FastlaneCore::ConfigItem.new(key: :version_properties_path,
|
|
70
|
+
description: 'Path to the version.properties file',
|
|
71
|
+
type: String,
|
|
72
|
+
optional: true,
|
|
73
|
+
conflicting_options: %i[build_gradle_path
|
|
74
|
+
project_name
|
|
75
|
+
project_root_folder]),
|
|
76
|
+
Fastlane::Helper::Deprecated.project_root_folder_config_item,
|
|
77
|
+
Fastlane::Helper::Deprecated.project_name_config_item,
|
|
54
78
|
]
|
|
55
79
|
end
|
|
56
80
|
|
|
@@ -3,7 +3,16 @@ module Fastlane
|
|
|
3
3
|
class AndroidGetAlphaVersionAction < Action
|
|
4
4
|
def self.run(params)
|
|
5
5
|
require_relative '../../helper/android/android_version_helper'
|
|
6
|
-
|
|
6
|
+
|
|
7
|
+
project_root_folder = params[:project_root_folder]
|
|
8
|
+
project_name = params[:project_name]
|
|
9
|
+
build_gradle_path = params[:build_gradle_path] || (File.join(project_root_folder || '.', project_name, 'build.gradle') unless project_name.nil?)
|
|
10
|
+
version_properties_path = params[:version_properties_path] || File.join(project_root_folder || '.', 'version.properties')
|
|
11
|
+
|
|
12
|
+
Fastlane::Helper::Android::VersionHelper.get_alpha_version(
|
|
13
|
+
build_gradle_path: build_gradle_path,
|
|
14
|
+
version_properties_path: version_properties_path
|
|
15
|
+
)
|
|
7
16
|
end
|
|
8
17
|
|
|
9
18
|
#####################################################
|
|
@@ -19,7 +28,24 @@ module Fastlane
|
|
|
19
28
|
end
|
|
20
29
|
|
|
21
30
|
def self.available_options
|
|
22
|
-
|
|
31
|
+
[
|
|
32
|
+
FastlaneCore::ConfigItem.new(key: :build_gradle_path,
|
|
33
|
+
description: 'Path to the build.gradle file',
|
|
34
|
+
type: String,
|
|
35
|
+
optional: true,
|
|
36
|
+
conflicting_options: %i[project_name
|
|
37
|
+
project_root_folder
|
|
38
|
+
version_properties_path]),
|
|
39
|
+
FastlaneCore::ConfigItem.new(key: :version_properties_path,
|
|
40
|
+
description: 'Path to the version.properties file',
|
|
41
|
+
type: String,
|
|
42
|
+
optional: true,
|
|
43
|
+
conflicting_options: %i[build_gradle_path
|
|
44
|
+
project_name
|
|
45
|
+
project_root_folder]),
|
|
46
|
+
Fastlane::Helper::Deprecated.project_root_folder_config_item,
|
|
47
|
+
Fastlane::Helper::Deprecated.project_name_config_item,
|
|
48
|
+
]
|
|
23
49
|
end
|
|
24
50
|
|
|
25
51
|
def self.output
|
|
@@ -3,7 +3,16 @@ module Fastlane
|
|
|
3
3
|
class AndroidGetAppVersionAction < Action
|
|
4
4
|
def self.run(params)
|
|
5
5
|
require_relative '../../helper/android/android_version_helper'
|
|
6
|
-
|
|
6
|
+
|
|
7
|
+
project_root_folder = params[:project_root_folder]
|
|
8
|
+
project_name = params[:project_name]
|
|
9
|
+
build_gradle_path = params[:build_gradle_path] || (File.join(project_root_folder || '.', project_name, 'build.gradle') unless project_name.nil?)
|
|
10
|
+
version_properties_path = params[:version_properties_path] || File.join(project_root_folder || '.', 'version.properties')
|
|
11
|
+
|
|
12
|
+
Fastlane::Helper::Android::VersionHelper.get_public_version(
|
|
13
|
+
build_gradle_path: build_gradle_path,
|
|
14
|
+
version_properties_path: version_properties_path
|
|
15
|
+
)
|
|
7
16
|
end
|
|
8
17
|
|
|
9
18
|
#####################################################
|
|
@@ -19,7 +28,24 @@ module Fastlane
|
|
|
19
28
|
end
|
|
20
29
|
|
|
21
30
|
def self.available_options
|
|
22
|
-
|
|
31
|
+
[
|
|
32
|
+
FastlaneCore::ConfigItem.new(key: :build_gradle_path,
|
|
33
|
+
description: 'Path to the build.gradle file',
|
|
34
|
+
type: String,
|
|
35
|
+
optional: true,
|
|
36
|
+
conflicting_options: %i[project_name
|
|
37
|
+
project_root_folder
|
|
38
|
+
version_properties_path]),
|
|
39
|
+
FastlaneCore::ConfigItem.new(key: :version_properties_path,
|
|
40
|
+
description: 'Path to the version.properties file',
|
|
41
|
+
type: String,
|
|
42
|
+
optional: true,
|
|
43
|
+
conflicting_options: %i[build_gradle_path
|
|
44
|
+
project_name
|
|
45
|
+
project_root_folder]),
|
|
46
|
+
Fastlane::Helper::Deprecated.project_root_folder_config_item,
|
|
47
|
+
Fastlane::Helper::Deprecated.project_name_config_item,
|
|
48
|
+
]
|
|
23
49
|
end
|
|
24
50
|
|
|
25
51
|
def self.output
|
|
@@ -3,7 +3,16 @@ module Fastlane
|
|
|
3
3
|
class AndroidGetReleaseVersionAction < Action
|
|
4
4
|
def self.run(params)
|
|
5
5
|
require_relative '../../helper/android/android_version_helper'
|
|
6
|
-
|
|
6
|
+
|
|
7
|
+
project_root_folder = params[:project_root_folder]
|
|
8
|
+
project_name = params[:project_name]
|
|
9
|
+
build_gradle_path = params[:build_gradle_path] || (File.join(project_root_folder || '.', project_name, 'build.gradle') unless project_name.nil?)
|
|
10
|
+
version_properties_path = params[:version_properties_path] || File.join(project_root_folder || '.', 'version.properties')
|
|
11
|
+
|
|
12
|
+
Fastlane::Helper::Android::VersionHelper.get_release_version(
|
|
13
|
+
build_gradle_path: build_gradle_path,
|
|
14
|
+
version_properties_path: version_properties_path
|
|
15
|
+
)
|
|
7
16
|
end
|
|
8
17
|
|
|
9
18
|
#####################################################
|
|
@@ -19,7 +28,24 @@ module Fastlane
|
|
|
19
28
|
end
|
|
20
29
|
|
|
21
30
|
def self.available_options
|
|
22
|
-
|
|
31
|
+
[
|
|
32
|
+
FastlaneCore::ConfigItem.new(key: :build_gradle_path,
|
|
33
|
+
description: 'Path to the build.gradle file',
|
|
34
|
+
type: String,
|
|
35
|
+
optional: true,
|
|
36
|
+
conflicting_options: %i[project_name
|
|
37
|
+
project_root_folder
|
|
38
|
+
version_properties_path]),
|
|
39
|
+
FastlaneCore::ConfigItem.new(key: :version_properties_path,
|
|
40
|
+
description: 'Path to the version.properties file',
|
|
41
|
+
type: String,
|
|
42
|
+
optional: true,
|
|
43
|
+
conflicting_options: %i[build_gradle_path
|
|
44
|
+
project_name
|
|
45
|
+
project_root_folder]),
|
|
46
|
+
Fastlane::Helper::Deprecated.project_root_folder_config_item,
|
|
47
|
+
Fastlane::Helper::Deprecated.project_name_config_item,
|
|
48
|
+
]
|
|
23
49
|
end
|
|
24
50
|
|
|
25
51
|
def self.output
|
|
@@ -5,8 +5,19 @@ module Fastlane
|
|
|
5
5
|
require_relative '../../helper/android/android_version_helper'
|
|
6
6
|
require_relative '../../helper/android/android_git_helper'
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
project_root_folder = params[:project_root_folder]
|
|
9
|
+
project_name = params[:project_name]
|
|
10
|
+
build_gradle_path = params[:build_gradle_path] || (File.join(project_root_folder || '.', project_name, 'build.gradle') unless project_name.nil?)
|
|
11
|
+
version_properties_path = params[:version_properties_path] || File.join(project_root_folder || '.', 'version.properties')
|
|
12
|
+
|
|
13
|
+
release_ver = Fastlane::Helper::Android::VersionHelper.get_release_version(
|
|
14
|
+
build_gradle_path: build_gradle_path,
|
|
15
|
+
version_properties_path: version_properties_path
|
|
16
|
+
)
|
|
17
|
+
alpha_ver = Fastlane::Helper::Android::VersionHelper.get_alpha_version(
|
|
18
|
+
build_gradle_path: build_gradle_path,
|
|
19
|
+
version_properties_path: version_properties_path
|
|
20
|
+
)
|
|
10
21
|
Fastlane::Helper::GitHelper.create_tag(release_ver[Fastlane::Helper::Android::VersionHelper::VERSION_NAME])
|
|
11
22
|
Fastlane::Helper::GitHelper.create_tag(alpha_ver[Fastlane::Helper::Android::VersionHelper::VERSION_NAME]) unless alpha_ver.nil? || (params[:tag_alpha] == false)
|
|
12
23
|
end
|
|
@@ -30,6 +41,22 @@ module Fastlane
|
|
|
30
41
|
description: 'True to skip tagging the alpha version',
|
|
31
42
|
type: Boolean,
|
|
32
43
|
default_value: true),
|
|
44
|
+
FastlaneCore::ConfigItem.new(key: :build_gradle_path,
|
|
45
|
+
description: 'Path to the build.gradle file',
|
|
46
|
+
type: String,
|
|
47
|
+
optional: true,
|
|
48
|
+
conflicting_options: %i[project_name
|
|
49
|
+
project_root_folder
|
|
50
|
+
version_properties_path]),
|
|
51
|
+
FastlaneCore::ConfigItem.new(key: :version_properties_path,
|
|
52
|
+
description: 'Path to the version.properties file',
|
|
53
|
+
type: String,
|
|
54
|
+
optional: true,
|
|
55
|
+
conflicting_options: %i[build_gradle_path
|
|
56
|
+
project_name
|
|
57
|
+
project_root_folder]),
|
|
58
|
+
Fastlane::Helper::Deprecated.project_root_folder_config_item,
|
|
59
|
+
Fastlane::Helper::Deprecated.project_name_config_item,
|
|
33
60
|
]
|
|
34
61
|
end
|
|
35
62
|
|
|
@@ -8,6 +8,8 @@ module Fastlane
|
|
|
8
8
|
require_relative '../../helper/release_notes_helper'
|
|
9
9
|
require_relative '../../helper/git_helper'
|
|
10
10
|
|
|
11
|
+
UI.deprecated('The `PROJECT_ROOT_FOLDER` environment variable is deprecated and will be removed in a future release. Please pass a path to the `release_notes_file_path` param instead.') unless ENV['PROJECT_ROOT_FOLDER'].nil?
|
|
12
|
+
|
|
11
13
|
path = params[:release_notes_file_path]
|
|
12
14
|
next_version = Fastlane::Helper::Android::VersionHelper.calc_next_release_short_version(params[:new_version])
|
|
13
15
|
|
|
@@ -8,6 +8,8 @@ module Fastlane
|
|
|
8
8
|
require_relative '../../helper/release_notes_helper'
|
|
9
9
|
require_relative '../../helper/git_helper'
|
|
10
10
|
|
|
11
|
+
UI.deprecated('The `PROJECT_ROOT_FOLDER` environment variable is deprecated and will be removed in a future release. Please pass a path to the `release_notes_file_path` param instead.') unless ENV['PROJECT_ROOT_FOLDER'].nil?
|
|
12
|
+
|
|
11
13
|
path = params[:release_notes_file_path]
|
|
12
14
|
next_version = Fastlane::Helper::Ios::VersionHelper.calc_next_release_version(params[:new_version])
|
|
13
15
|
|
|
@@ -12,17 +12,16 @@ module Fastlane
|
|
|
12
12
|
# @env PROJECT_ROOT_FOLDER The path to the git root of the project
|
|
13
13
|
# @env PROJECT_NAME The name of the directory containing the project code (especially containing the `build.gradle` file)
|
|
14
14
|
#
|
|
15
|
-
def self.commit_version_bump
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
message: 'Bump version number'
|
|
20
|
-
files: File.join(ENV['PROJECT_ROOT_FOLDER'], 'version.properties')
|
|
15
|
+
def self.commit_version_bump(build_gradle_path:, version_properties_path:)
|
|
16
|
+
if File.exist?(version_properties_path)
|
|
17
|
+
git_commit(
|
|
18
|
+
path: version_properties_path,
|
|
19
|
+
message: 'Bump version number'
|
|
21
20
|
)
|
|
22
21
|
else
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
git_commit(
|
|
23
|
+
path: build_gradle_path,
|
|
24
|
+
message: 'Bump version number'
|
|
26
25
|
)
|
|
27
26
|
end
|
|
28
27
|
end
|
|
@@ -30,8 +30,11 @@ module Fastlane
|
|
|
30
30
|
# - If this version is a hotfix (more than 2 parts and 3rd part is non-zero), returns the "X.Y.Z" formatted string
|
|
31
31
|
# - Otherwise (not a hotfix / 3rd part of version is 0), returns "X.Y" formatted version number
|
|
32
32
|
#
|
|
33
|
-
def self.get_public_version
|
|
34
|
-
version = get_release_version
|
|
33
|
+
def self.get_public_version(build_gradle_path:, version_properties_path:)
|
|
34
|
+
version = get_release_version(
|
|
35
|
+
build_gradle_path: build_gradle_path,
|
|
36
|
+
version_properties_path: version_properties_path
|
|
37
|
+
)
|
|
35
38
|
vp = get_version_parts(version[VERSION_NAME])
|
|
36
39
|
return "#{vp[MAJOR_NUMBER]}.#{vp[MINOR_NUMBER]}" unless is_hotfix?(version)
|
|
37
40
|
|
|
@@ -42,33 +45,28 @@ module Fastlane
|
|
|
42
45
|
#
|
|
43
46
|
# @return [Hash] A hash with 2 keys "name" and "code" containing the extracted version name and code, respectively
|
|
44
47
|
#
|
|
45
|
-
def self.get_release_version
|
|
46
|
-
return get_version_from_properties if File.exist?(
|
|
48
|
+
def self.get_release_version(build_gradle_path:, version_properties_path:)
|
|
49
|
+
return get_version_from_properties(version_properties_path: version_properties_path) if File.exist?(version_properties_path)
|
|
47
50
|
|
|
48
51
|
section = ENV['HAS_ALPHA_VERSION'].nil? ? 'defaultConfig' : 'vanilla {'
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
code = get_version_build_from_gradle_file(gradle_path, section)
|
|
52
|
+
name = get_version_name_from_gradle_file(build_gradle_path, section)
|
|
53
|
+
code = get_version_build_from_gradle_file(build_gradle_path, section)
|
|
52
54
|
return { VERSION_NAME => name, VERSION_CODE => code }
|
|
53
55
|
end
|
|
54
56
|
|
|
55
|
-
def self.version_properties_file
|
|
56
|
-
File.join(ENV['PROJECT_ROOT_FOLDER'] || '.', 'version.properties')
|
|
57
|
-
end
|
|
58
|
-
|
|
59
57
|
# Extract the version name and code from the `version.properties` file in the project root
|
|
60
58
|
#
|
|
61
59
|
# @param [Boolean] is_alpha true if the alpha version should be returned, false otherwise
|
|
62
60
|
#
|
|
63
61
|
# @return [Hash] A hash with 2 keys "name" and "code" containing the extracted version name and code, respectively
|
|
64
62
|
#
|
|
65
|
-
def self.get_version_from_properties(is_alpha: false)
|
|
66
|
-
return nil unless File.exist?(
|
|
63
|
+
def self.get_version_from_properties(version_properties_path:, is_alpha: false)
|
|
64
|
+
return nil unless File.exist?(version_properties_path)
|
|
67
65
|
|
|
68
66
|
version_name_key = is_alpha ? 'alpha.versionName' : 'versionName'
|
|
69
67
|
version_code_key = is_alpha ? 'alpha.versionCode' : 'versionCode'
|
|
70
68
|
|
|
71
|
-
text = File.read(
|
|
69
|
+
text = File.read(version_properties_path)
|
|
72
70
|
name = text.match(/#{version_name_key}=(\S*)/m)&.captures&.first
|
|
73
71
|
code = text.match(/#{version_code_key}=(\S*)/m)&.captures&.first
|
|
74
72
|
|
|
@@ -80,15 +78,14 @@ module Fastlane
|
|
|
80
78
|
# @return [Hash] A hash with 2 keys `"name"` and `"code"` containing the extracted version name and code, respectively,
|
|
81
79
|
# or `nil` if `$HAS_ALPHA_VERSION` is not defined.
|
|
82
80
|
#
|
|
83
|
-
def self.get_alpha_version
|
|
84
|
-
return get_version_from_properties(is_alpha: true) if File.exist?(
|
|
81
|
+
def self.get_alpha_version(build_gradle_path:, version_properties_path:)
|
|
82
|
+
return get_version_from_properties(version_properties_path: version_properties_path, is_alpha: true) if File.exist?(version_properties_path)
|
|
85
83
|
|
|
86
84
|
return nil if ENV['HAS_ALPHA_VERSION'].nil?
|
|
87
85
|
|
|
88
86
|
section = 'defaultConfig'
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
code = get_version_build_from_gradle_file(gradle_path, section)
|
|
87
|
+
name = get_version_name_from_gradle_file(build_gradle_path, section)
|
|
88
|
+
code = get_version_build_from_gradle_file(build_gradle_path, section)
|
|
92
89
|
return { VERSION_NAME => name, VERSION_CODE => code }
|
|
93
90
|
end
|
|
94
91
|
|
|
@@ -280,9 +277,12 @@ module Fastlane
|
|
|
280
277
|
#
|
|
281
278
|
# @return [String] The next release version name to use after bumping the currently used release version.
|
|
282
279
|
#
|
|
283
|
-
def self.bump_version_release
|
|
280
|
+
def self.bump_version_release(build_gradle_path:, version_properties_path:)
|
|
284
281
|
# Bump release
|
|
285
|
-
current_version = self.get_release_version
|
|
282
|
+
current_version = self.get_release_version(
|
|
283
|
+
build_gradle_path: build_gradle_path,
|
|
284
|
+
version_properties_path: version_properties_path
|
|
285
|
+
)
|
|
286
286
|
UI.message("Current version: #{current_version[VERSION_NAME]}")
|
|
287
287
|
new_version = calc_next_release_base_version(current_version)
|
|
288
288
|
UI.message("New version: #{new_version[VERSION_NAME]}")
|
|
@@ -296,21 +296,21 @@ module Fastlane
|
|
|
296
296
|
# @param [Hash] new_version_beta The version hash for the beta, containing values for keys "name" and "code"
|
|
297
297
|
# @param [Hash] new_version_alpha The version hash for the alpha , containing values for keys "name" and "code"
|
|
298
298
|
#
|
|
299
|
-
def self.update_versions(new_version_beta, new_version_alpha)
|
|
300
|
-
if File.exist?(
|
|
299
|
+
def self.update_versions(new_version_beta, new_version_alpha, version_properties_path:)
|
|
300
|
+
if File.exist?(version_properties_path)
|
|
301
301
|
replacements = {
|
|
302
302
|
versionName: (new_version_beta || {})[VERSION_NAME],
|
|
303
303
|
versionCode: (new_version_beta || {})[VERSION_CODE],
|
|
304
304
|
'alpha.versionName': (new_version_alpha || {})[VERSION_NAME],
|
|
305
305
|
'alpha.versionCode': (new_version_alpha || {})[VERSION_CODE]
|
|
306
306
|
}
|
|
307
|
-
content = File.read(
|
|
307
|
+
content = File.read(version_properties_path)
|
|
308
308
|
content.gsub!(/^(.*) ?=.*$/) do |line|
|
|
309
309
|
key = Regexp.last_match(1).to_sym
|
|
310
310
|
value = replacements[key]
|
|
311
311
|
value.nil? ? line : "#{key}=#{value}"
|
|
312
312
|
end
|
|
313
|
-
File.write(
|
|
313
|
+
File.write(version_properties_path, content)
|
|
314
314
|
else
|
|
315
315
|
self.update_version(new_version_beta, ENV['HAS_ALPHA_VERSION'].nil? ? 'defaultConfig' : 'vanilla {')
|
|
316
316
|
self.update_version(new_version_alpha, 'defaultConfig') unless new_version_alpha.nil?
|
|
@@ -337,12 +337,10 @@ module Fastlane
|
|
|
337
337
|
# @param [String] import_key The key to look for
|
|
338
338
|
# @return [String] The value of the key, or nil if not found
|
|
339
339
|
#
|
|
340
|
-
def self.get_library_version_from_gradle_config(import_key:)
|
|
341
|
-
|
|
340
|
+
def self.get_library_version_from_gradle_config(build_gradle_path:, import_key:)
|
|
341
|
+
return nil unless File.exist?(build_gradle_path)
|
|
342
342
|
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
File.open(gradle_file_path, 'r') do |f|
|
|
343
|
+
File.open(build_gradle_path, 'r') do |f|
|
|
346
344
|
text = f.read
|
|
347
345
|
text.match(/^\s*(?:\w*\.)?#{Regexp.escape(import_key)}\s*=\s*['"](.*?)["']/m)&.captures&.first
|
|
348
346
|
end
|
|
@@ -456,19 +454,6 @@ module Fastlane
|
|
|
456
454
|
return nil
|
|
457
455
|
end
|
|
458
456
|
|
|
459
|
-
# The path to the build.gradle file for the project.
|
|
460
|
-
#
|
|
461
|
-
# @env PROJECT_ROOT_FOLDER The path to the root of the project (the folder containing the `.git` directory).
|
|
462
|
-
# @env PROJECT_NAME The name of the project, i.e. the name of the subdirectory containing the project's `build.gradle` file.
|
|
463
|
-
#
|
|
464
|
-
# @return [String] The path of the `build.gradle` file inside the project subfolder in the project's repo
|
|
465
|
-
#
|
|
466
|
-
def self.gradle_path
|
|
467
|
-
UI.user_error!("You need to set the `PROJECT_ROOT_FOLDER` environment variable to the path to the project's root") if ENV['PROJECT_ROOT_FOLDER'].nil?
|
|
468
|
-
UI.user_error!('You need to set the `PROJECT_NAME` environment variable to the relative path to the project subfolder name') if ENV['PROJECT_NAME'].nil?
|
|
469
|
-
File.join(ENV['PROJECT_ROOT_FOLDER'], ENV['PROJECT_NAME'], 'build.gradle')
|
|
470
|
-
end
|
|
471
|
-
|
|
472
457
|
# Update both the versionName and versionCode of the build.gradle file to the specified version.
|
|
473
458
|
#
|
|
474
459
|
# @param [Hash] version The version hash, containing values for keys "name" and "code"
|
|
@@ -477,12 +462,11 @@ module Fastlane
|
|
|
477
462
|
# @todo This implementation is very fragile. This should be done parsing the file in a proper way.
|
|
478
463
|
# Leveraging gradle itself is probably the easiest way.
|
|
479
464
|
#
|
|
480
|
-
def self.update_version(version, section)
|
|
481
|
-
gradle_path = self.gradle_path
|
|
465
|
+
def self.update_version(version, section, build_gradle_path:)
|
|
482
466
|
temp_file = Tempfile.new('fastlaneIncrementVersion')
|
|
483
467
|
found_section = false
|
|
484
468
|
version_updated = 0
|
|
485
|
-
File.open(
|
|
469
|
+
File.open(build_gradle_path, 'r') do |file|
|
|
486
470
|
file.each_line do |line|
|
|
487
471
|
if found_section
|
|
488
472
|
if version_updated < 2
|
|
@@ -508,7 +492,7 @@ module Fastlane
|
|
|
508
492
|
end
|
|
509
493
|
temp_file.rewind
|
|
510
494
|
temp_file.close
|
|
511
|
-
FileUtils.mv(temp_file.path,
|
|
495
|
+
FileUtils.mv(temp_file.path, build_gradle_path)
|
|
512
496
|
temp_file.unlink
|
|
513
497
|
end
|
|
514
498
|
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
module Fastlane
|
|
2
|
+
module Helper
|
|
3
|
+
# A helper class to store deprecated methods and actions
|
|
4
|
+
class Deprecated
|
|
5
|
+
# Creates a project_root_folder Fastlane ConfigItem
|
|
6
|
+
#
|
|
7
|
+
# @return [FastlaneCore::ConfigItem] The Fastlane ConfigItem for the `PROJECT_ROOT_FOLDER` environment variable
|
|
8
|
+
#
|
|
9
|
+
def self.project_root_folder_config_item
|
|
10
|
+
verify_block = proc do
|
|
11
|
+
UI.deprecated('DEPRECATED: The PROJECT_ROOT_FOLDER environment variable and config item are deprecated and will be removed in a future version of the Release Toolkit. Please provide a full path instead.')
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
FastlaneCore::ConfigItem.new(
|
|
15
|
+
key: :project_root_folder,
|
|
16
|
+
env_name: 'PROJECT_ROOT_FOLDER',
|
|
17
|
+
description: 'The path to the project root folder',
|
|
18
|
+
deprecated: true,
|
|
19
|
+
optional: true,
|
|
20
|
+
verify_block: verify_block,
|
|
21
|
+
type: String
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# Creates a project_root_folder Fastlane ConfigItem
|
|
26
|
+
#
|
|
27
|
+
# @return [FastlaneCore::ConfigItem] The Fastlane ConfigItem for the `PROJECT_ROOT_FOLDER` environment variable
|
|
28
|
+
#
|
|
29
|
+
def self.project_name_config_item
|
|
30
|
+
verify_block = proc do
|
|
31
|
+
UI.deprecated('DEPRECATED: The PROJECT_NAME environment variable and config item are deprecated and will be removed in a future version of the Release Toolkit. Please provide a full path instead.')
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
FastlaneCore::ConfigItem.new(
|
|
35
|
+
key: :project_name,
|
|
36
|
+
env_name: 'PROJECT_NAME',
|
|
37
|
+
description: 'The app project name',
|
|
38
|
+
deprecated: true,
|
|
39
|
+
optional: true,
|
|
40
|
+
verify_block: verify_block,
|
|
41
|
+
type: String
|
|
42
|
+
)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fastlane-plugin-wpmreleasetoolkit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 9.
|
|
4
|
+
version: 9.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Automattic
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-
|
|
11
|
+
date: 2023-10-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -499,6 +499,7 @@ files:
|
|
|
499
499
|
- lib/fastlane/plugin/wpmreleasetoolkit/helper/app_size_metrics_helper.rb
|
|
500
500
|
- lib/fastlane/plugin/wpmreleasetoolkit/helper/ci_helper.rb
|
|
501
501
|
- lib/fastlane/plugin/wpmreleasetoolkit/helper/configure_helper.rb
|
|
502
|
+
- lib/fastlane/plugin/wpmreleasetoolkit/helper/deprecated.rb
|
|
502
503
|
- lib/fastlane/plugin/wpmreleasetoolkit/helper/encryption_helper.rb
|
|
503
504
|
- lib/fastlane/plugin/wpmreleasetoolkit/helper/filesystem_helper.rb
|
|
504
505
|
- lib/fastlane/plugin/wpmreleasetoolkit/helper/git_helper.rb
|