fastlane-plugin-wpmreleasetoolkit 9.1.0 → 9.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|