fastlane-plugin-android_version_manager 0.4.0 → 0.4.1
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/android_version_manager/actions/android_base_action.rb +34 -0
- data/lib/fastlane/plugin/android_version_manager/actions/android_get_value_from_build_action.rb +6 -22
- data/lib/fastlane/plugin/android_version_manager/actions/android_get_version_code_action.rb +5 -21
- data/lib/fastlane/plugin/android_version_manager/actions/android_get_version_name_action.rb +5 -21
- data/lib/fastlane/plugin/android_version_manager/actions/android_increment_version_code_action.rb +4 -21
- data/lib/fastlane/plugin/android_version_manager/actions/android_increment_version_name_action.rb +4 -22
- data/lib/fastlane/plugin/android_version_manager/actions/android_version_manager_action.rb +3 -20
- data/lib/fastlane/plugin/android_version_manager/helper/android_version_manager_helper.rb +8 -0
- data/lib/fastlane/plugin/android_version_manager/helper/build_gradle_file.rb +38 -0
- data/lib/fastlane/plugin/android_version_manager/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b1e0dfd8cc3942fb547b66ce72266627f0dc60cb85a7f943dc9751dcaa9297f
|
4
|
+
data.tar.gz: 7551c6c16f603d46d4f49020718f7db55e36bb8c41fb7852354a16903d79b0df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 107429d92fab3046a9dafe59b57996e85eb24eda8d478f8adfbcc59cfc5fe2014ff34fad8648be74adad15bfd1badbabcc04d6ec9284b14203ff741d2df9affc
|
7
|
+
data.tar.gz: 8bbabcef5a2ebf190f91ecd4cd133047f6306f36f33545b52f4dfcdfc4518af1289fafcd6a88d874e04174d86f39887a4716f6f5104f05678c5d1e3a37cbf046
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require "fastlane/action"
|
2
|
+
require_relative "../helper/android_version_manager_helper"
|
3
|
+
|
4
|
+
module Fastlane
|
5
|
+
module Actions
|
6
|
+
class AndroidBaseAction < Action
|
7
|
+
def self.authors
|
8
|
+
["Jonathan Cardoso", "@_jonathancardos", "JCMais", "Nicolas Verinaud"]
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.is_supported?(platform)
|
12
|
+
platform == :android
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.app_project_dir_action
|
16
|
+
FastlaneCore::ConfigItem.new(
|
17
|
+
key: :app_project_dir,
|
18
|
+
env_name: "FL_ANDROID_GET_VERSION_CODE_APP_PROJECT_DIR",
|
19
|
+
description: "The path to the application source folder in the Android project (default: android/app)",
|
20
|
+
optional: true,
|
21
|
+
type: String,
|
22
|
+
default_value: "android/app",
|
23
|
+
verify_block: proc do |value|
|
24
|
+
UI.user_error!("Couldn't find build.gradle or build.gradle.kts file at path '#{value}'") unless Helper::AndroidVersionManagerHelper.build_gradle_exists?(value)
|
25
|
+
end
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.find_build_gradle(app_project_dir)
|
30
|
+
Helper::AndroidVersionManagerHelper.find_build_gradle(app_project_dir)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/lib/fastlane/plugin/android_version_manager/actions/android_get_value_from_build_action.rb
CHANGED
@@ -1,40 +1,24 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require "fileutils"
|
1
|
+
require_relative 'android_base_action'
|
2
|
+
require_relative '../helper/android_version_manager_helper'
|
4
3
|
|
5
4
|
module Fastlane
|
6
5
|
module Actions
|
7
|
-
class AndroidGetValueFromBuildAction <
|
6
|
+
class AndroidGetValueFromBuildAction < AndroidBaseAction
|
8
7
|
def self.run(params)
|
9
8
|
app_project_dir ||= params[:app_project_dir]
|
10
|
-
|
9
|
+
file_path = find_build_gradle(app_project_dir)
|
10
|
+
value, _line, _line_index = Helper::AndroidVersionManagerHelper.get_key_from_gradle_file(file_path, params[:key])
|
11
11
|
return value
|
12
12
|
end
|
13
13
|
|
14
14
|
def self.available_options
|
15
15
|
[
|
16
|
-
|
17
|
-
description: "The path to the application source folder in the Android project, the one that contains the build.gradle file (default: android/app)",
|
18
|
-
optional: true,
|
19
|
-
type: String,
|
20
|
-
default_value: "android/app",
|
21
|
-
verify_block: proc do |value|
|
22
|
-
# Not using File.exist?("#{value}/build.gradle") because it does not handle globs
|
23
|
-
UI.user_error!("Couldn't find build.gradle file at path '#{value}'") unless Dir["#{value}/build.gradle"].any?
|
24
|
-
end),
|
16
|
+
app_project_dir_action,
|
25
17
|
FastlaneCore::ConfigItem.new(key: :key,
|
26
18
|
description: "The property key to retrieve the value from",
|
27
19
|
type: String),
|
28
20
|
]
|
29
21
|
end
|
30
|
-
|
31
|
-
def self.authors
|
32
|
-
["Jonathan Cardoso", "@_jonathancardos", "JCMais"]
|
33
|
-
end
|
34
|
-
|
35
|
-
def self.is_supported?(platform)
|
36
|
-
platform == :android
|
37
|
-
end
|
38
22
|
end
|
39
23
|
end
|
40
24
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
require_relative 'android_base_action'
|
2
2
|
require_relative "../helper/android_version_manager_helper"
|
3
3
|
|
4
4
|
module Fastlane
|
@@ -8,14 +8,15 @@ module Fastlane
|
|
8
8
|
ANDROID_VERSION_CODE ||= :ANDROID_VERSION_CODE
|
9
9
|
end
|
10
10
|
|
11
|
-
class AndroidGetVersionCodeAction <
|
11
|
+
class AndroidGetVersionCodeAction < AndroidBaseAction
|
12
12
|
def self.run(params)
|
13
13
|
# fastlane will take care of reading in the parameter and fetching the environment variable:
|
14
14
|
UI.message("Parameter app_project_dir: #{params[:app_project_dir]}")
|
15
15
|
UI.message("Parameter key: #{params[:key]}")
|
16
16
|
|
17
|
+
file_path = find_build_gradle(params[:app_project_dir])
|
17
18
|
# We can expect version_code to be an existing and valid version code
|
18
|
-
version_code = Helper::AndroidVersionManagerHelper.get_version_code_from_gradle_file(
|
19
|
+
version_code = Helper::AndroidVersionManagerHelper.get_version_code_from_gradle_file(file_path, params[:key])
|
19
20
|
|
20
21
|
Actions.lane_context[Fastlane::Actions::SharedValues::ANDROID_VERSION_CODE] = version_code
|
21
22
|
|
@@ -36,16 +37,7 @@ module Fastlane
|
|
36
37
|
|
37
38
|
def self.available_options
|
38
39
|
[
|
39
|
-
|
40
|
-
env_name: "FL_ANDROID_GET_VERSION_CODE_APP_PROJECT_DIR",
|
41
|
-
description: "The path to the application source folder in the Android project (default: android/app)",
|
42
|
-
optional: true,
|
43
|
-
type: String,
|
44
|
-
default_value: "android/app",
|
45
|
-
verify_block: proc do |value|
|
46
|
-
# Not using File.exist?("#{value}/build.gradle") because it does not handle globs
|
47
|
-
UI.user_error!("Couldn't find build.gradle file at path '#{value}'") unless Dir["#{value}/build.gradle"].any?
|
48
|
-
end),
|
40
|
+
app_project_dir_action,
|
49
41
|
FastlaneCore::ConfigItem.new(key: :key,
|
50
42
|
env_name: "FL_ANDROID_GET_VERSION_CODE_KEY",
|
51
43
|
description: "The property key",
|
@@ -84,14 +76,6 @@ module Fastlane
|
|
84
76
|
# https://github.com/fastlane/fastlane/blob/051e5012984d97257571a76627c1261946afb8f8/fastlane/lib/fastlane/action.rb#L23-L30
|
85
77
|
:int
|
86
78
|
end
|
87
|
-
|
88
|
-
def self.authors
|
89
|
-
["Jonathan Cardoso", "@_jonathancardos", "JCMais"]
|
90
|
-
end
|
91
|
-
|
92
|
-
def self.is_supported?(platform)
|
93
|
-
platform == :android
|
94
|
-
end
|
95
79
|
end
|
96
80
|
end
|
97
81
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
require_relative 'android_base_action'
|
2
2
|
require_relative "../helper/android_version_manager_helper"
|
3
3
|
|
4
4
|
module Fastlane
|
@@ -8,14 +8,15 @@ module Fastlane
|
|
8
8
|
ANDROID_VERSION_NAME ||= :ANDROID_VERSION_NAME
|
9
9
|
end
|
10
10
|
|
11
|
-
class AndroidGetVersionNameAction <
|
11
|
+
class AndroidGetVersionNameAction < AndroidBaseAction
|
12
12
|
def self.run(params)
|
13
13
|
# fastlane will take care of reading in the parameter and fetching the environment variable:
|
14
14
|
UI.message("Parameter app_project_dir: #{params[:app_project_dir]}")
|
15
15
|
UI.message("Parameter key: #{params[:key]}")
|
16
16
|
|
17
|
+
file_path = find_build_gradle(params[:app_project_dir])
|
17
18
|
# We can expect version_name to be an existing and valid semver version name
|
18
|
-
version_name = Helper::AndroidVersionManagerHelper.get_version_name_from_gradle_file(
|
19
|
+
version_name = Helper::AndroidVersionManagerHelper.get_version_name_from_gradle_file(file_path, params[:key])
|
19
20
|
|
20
21
|
Actions.lane_context[Fastlane::Actions::SharedValues::ANDROID_VERSION_NAME] = version_name
|
21
22
|
|
@@ -36,16 +37,7 @@ module Fastlane
|
|
36
37
|
|
37
38
|
def self.available_options
|
38
39
|
[
|
39
|
-
|
40
|
-
env_name: "FL_ANDROID_GET_VERSION_CODE_APP_PROJECT_DIR",
|
41
|
-
description: "The path to the application source folder in the Android project (default: android/app)",
|
42
|
-
optional: true,
|
43
|
-
type: String,
|
44
|
-
default_value: "android/app",
|
45
|
-
verify_block: proc do |value|
|
46
|
-
# Not using File.exist?("#{value}/build.gradle") because it does not handle globs
|
47
|
-
UI.user_error!("Couldn't find build.gradle file at path '#{value}'") unless Dir["#{value}/build.gradle"].any?
|
48
|
-
end),
|
40
|
+
app_project_dir_action,
|
49
41
|
FastlaneCore::ConfigItem.new(key: :key,
|
50
42
|
env_name: "FL_ANDROID_GET_VERSION_CODE_KEY",
|
51
43
|
description: "The property key",
|
@@ -84,14 +76,6 @@ module Fastlane
|
|
84
76
|
# https://github.com/fastlane/fastlane/blob/051e5012984d97257571a76627c1261946afb8f8/fastlane/lib/fastlane/action.rb#L23-L30
|
85
77
|
:int
|
86
78
|
end
|
87
|
-
|
88
|
-
def self.authors
|
89
|
-
["Jonathan Cardoso", "@_jonathancardos", "JCMais"]
|
90
|
-
end
|
91
|
-
|
92
|
-
def self.is_supported?(platform)
|
93
|
-
platform == :android
|
94
|
-
end
|
95
79
|
end
|
96
80
|
end
|
97
81
|
end
|
data/lib/fastlane/plugin/android_version_manager/actions/android_increment_version_code_action.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
require_relative 'android_base_action'
|
2
2
|
require_relative "../helper/android_version_manager_helper"
|
3
3
|
|
4
4
|
module Fastlane
|
@@ -8,13 +8,13 @@ module Fastlane
|
|
8
8
|
ANDROID_VERSION_CODE ||= :ANDROID_VERSION_CODE
|
9
9
|
end
|
10
10
|
|
11
|
-
class AndroidIncrementVersionCodeAction <
|
11
|
+
class AndroidIncrementVersionCodeAction < AndroidBaseAction
|
12
12
|
def self.run(params)
|
13
13
|
UI.message("Param app_project_dir: #{params[:app_project_dir]}")
|
14
14
|
UI.message("Param version_code: #{params[:version_code]}")
|
15
15
|
UI.message("Param key: #{params[:key]}")
|
16
16
|
|
17
|
-
file_path =
|
17
|
+
file_path = find_build_gradle(params[:app_project_dir])
|
18
18
|
|
19
19
|
# We can expect version_code to be an existing and valid version code
|
20
20
|
version_code = Helper::AndroidVersionManagerHelper.get_version_code_from_gradle_file(file_path, params[:key])
|
@@ -45,16 +45,7 @@ module Fastlane
|
|
45
45
|
|
46
46
|
def self.available_options
|
47
47
|
[
|
48
|
-
|
49
|
-
env_name: "FL_ANDROID_INCREMENT_VERSION_CODE_APP_PROJECT_DIR",
|
50
|
-
description: "The path to the application source folder in the Android project (default: android/app)",
|
51
|
-
optional: true,
|
52
|
-
type: String,
|
53
|
-
default_value: "android/app",
|
54
|
-
verify_block: proc do |value|
|
55
|
-
# Not using File.exist?("#{value}/build.gradle") because it does not handle globs
|
56
|
-
UI.user_error!("Couldn't find build.gradle file at path '#{value}'") unless Dir["#{value}/build.gradle"].any?
|
57
|
-
end),
|
48
|
+
app_project_dir_action,
|
58
49
|
FastlaneCore::ConfigItem.new(key: :key,
|
59
50
|
env_name: "FL_ANDROID_INCREMENT_VERSION_CODE_KEY",
|
60
51
|
description: "The property key",
|
@@ -98,14 +89,6 @@ module Fastlane
|
|
98
89
|
# https://github.com/fastlane/fastlane/blob/051e5012984d97257571a76627c1261946afb8f8/fastlane/lib/fastlane/action.rb#L23-L30
|
99
90
|
:int
|
100
91
|
end
|
101
|
-
|
102
|
-
def self.authors
|
103
|
-
["Jonathan Cardoso", "@_jonathancardos", "JCMais"]
|
104
|
-
end
|
105
|
-
|
106
|
-
def self.is_supported?(platform)
|
107
|
-
platform == :android
|
108
|
-
end
|
109
92
|
end
|
110
93
|
end
|
111
94
|
end
|
data/lib/fastlane/plugin/android_version_manager/actions/android_increment_version_name_action.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
|
-
require "fastlane/action"
|
2
1
|
require "semantic"
|
3
|
-
|
2
|
+
require_relative 'android_base_action'
|
4
3
|
require_relative "../helper/android_version_manager_helper"
|
5
4
|
|
6
5
|
module Fastlane
|
@@ -10,14 +9,14 @@ module Fastlane
|
|
10
9
|
ANDROID_VERSION_NAME ||= :ANDROID_VERSION_NAME
|
11
10
|
end
|
12
11
|
|
13
|
-
class AndroidIncrementVersionNameAction <
|
12
|
+
class AndroidIncrementVersionNameAction < AndroidBaseAction
|
14
13
|
def self.run(params)
|
15
14
|
UI.message("Param app_project_dir: #{params[:app_project_dir]}")
|
16
15
|
UI.message("Param version_name: #{params[:version_name]}")
|
17
16
|
UI.message("Param increment_type: #{params[:increment_type]}")
|
18
17
|
UI.message("Param key: #{params[:key]}")
|
19
18
|
|
20
|
-
file_path =
|
19
|
+
file_path = find_build_gradle(params[:app_project_dir])
|
21
20
|
increment_type = params[:increment_type].to_sym
|
22
21
|
|
23
22
|
# We can expect version_code to be an existing and valid version code
|
@@ -58,16 +57,7 @@ module Fastlane
|
|
58
57
|
|
59
58
|
def self.available_options
|
60
59
|
[
|
61
|
-
|
62
|
-
env_name: "FL_ANDROID_INCREMENT_VERSION_NAME_APP_PROJECT_DIR",
|
63
|
-
description: "The path to the application source folder in the Android project (default: android/app)",
|
64
|
-
optional: true,
|
65
|
-
type: String,
|
66
|
-
default_value: "android/app",
|
67
|
-
verify_block: proc do |value|
|
68
|
-
# Not using File.exist?("#{value}/build.gradle") because it does not handle globs
|
69
|
-
UI.user_error!("Couldn't find build.gradle file at path '#{value}'") unless Dir["#{value}/build.gradle"].any?
|
70
|
-
end),
|
60
|
+
app_project_dir_action,
|
71
61
|
FastlaneCore::ConfigItem.new(key: :key,
|
72
62
|
env_name: "FL_ANDROID_INCREMENT_VERSION_NAME_KEY",
|
73
63
|
description: "The property key",
|
@@ -120,14 +110,6 @@ module Fastlane
|
|
120
110
|
# https://github.com/fastlane/fastlane/blob/051e5012984d97257571a76627c1261946afb8f8/fastlane/lib/fastlane/action.rb#L23-L30
|
121
111
|
:int
|
122
112
|
end
|
123
|
-
|
124
|
-
def self.authors
|
125
|
-
["Jonathan Cardoso", "@_jonathancardos", "JCMais"]
|
126
|
-
end
|
127
|
-
|
128
|
-
def self.is_supported?(platform)
|
129
|
-
platform == :android
|
130
|
-
end
|
131
113
|
end
|
132
114
|
end
|
133
115
|
end
|
@@ -1,9 +1,9 @@
|
|
1
|
-
|
1
|
+
require_relative 'android_base_action'
|
2
2
|
require_relative '../helper/android_version_manager_helper'
|
3
3
|
|
4
4
|
module Fastlane
|
5
5
|
module Actions
|
6
|
-
class AndroidVersionManagerAction <
|
6
|
+
class AndroidVersionManagerAction < AndroidBaseAction
|
7
7
|
def self.run(params)
|
8
8
|
UI.message("The android_version_manager plugin is working!")
|
9
9
|
end
|
@@ -12,10 +12,6 @@ module Fastlane
|
|
12
12
|
"Android's App Version Managment"
|
13
13
|
end
|
14
14
|
|
15
|
-
def self.authors
|
16
|
-
["Jonathan Cardoso Machado"]
|
17
|
-
end
|
18
|
-
|
19
15
|
def self.return_value
|
20
16
|
# If your method provides a return value, you can describe here what it does
|
21
17
|
end
|
@@ -27,22 +23,9 @@ module Fastlane
|
|
27
23
|
|
28
24
|
def self.available_options
|
29
25
|
[
|
30
|
-
|
31
|
-
env_name: "ANDROID_VERSIONING_APP_PROJECT_DIR",
|
32
|
-
description: "The path to the application source folder in the Android project (default: android/app)",
|
33
|
-
optional: true,
|
34
|
-
type: String,
|
35
|
-
default_value: "android/app"),
|
36
|
-
FastlaneCore::ConfigItem.new(key: :key,
|
37
|
-
description: "The property key",
|
38
|
-
type: String)
|
39
|
-
|
26
|
+
app_project_dir_action
|
40
27
|
]
|
41
28
|
end
|
42
|
-
|
43
|
-
def self.is_supported?(platform)
|
44
|
-
platform == :android
|
45
|
-
end
|
46
29
|
end
|
47
30
|
end
|
48
31
|
end
|
@@ -9,6 +9,14 @@ module Fastlane
|
|
9
9
|
|
10
10
|
module Helper
|
11
11
|
class AndroidVersionManagerHelper
|
12
|
+
def self.build_gradle_exists?(app_project_dir)
|
13
|
+
return BuildGradleFile.new(app_project_dir).exists?
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.find_build_gradle(app_project_dir)
|
17
|
+
return BuildGradleFile.new(app_project_dir).find
|
18
|
+
end
|
19
|
+
|
12
20
|
# class methods that you define here become available in your action
|
13
21
|
# as `Helper::AndroidVersionManagerHelper.your_method`
|
14
22
|
# Most actions code are here to follow this advice: https://docs.fastlane.tools/advanced/actions/#calling-other-actions
|
@@ -0,0 +1,38 @@
|
|
1
|
+
|
2
|
+
class BuildGradleFile
|
3
|
+
def initialize(app_project_dir)
|
4
|
+
@app_project_dir = app_project_dir
|
5
|
+
end
|
6
|
+
|
7
|
+
def find
|
8
|
+
if kts_exists?
|
9
|
+
return kts
|
10
|
+
end
|
11
|
+
return classic
|
12
|
+
end
|
13
|
+
|
14
|
+
def exists?
|
15
|
+
return kts_exists? || classic_exists?
|
16
|
+
end
|
17
|
+
|
18
|
+
def kts_exists?
|
19
|
+
return file_exists?(kts)
|
20
|
+
end
|
21
|
+
|
22
|
+
def classic_exists?
|
23
|
+
return file_exists?(classic)
|
24
|
+
end
|
25
|
+
|
26
|
+
def kts
|
27
|
+
return "#{@app_project_dir}/build.gradle.kts"
|
28
|
+
end
|
29
|
+
|
30
|
+
def classic
|
31
|
+
return "#{@app_project_dir}/build.gradle"
|
32
|
+
end
|
33
|
+
|
34
|
+
def file_exists?(path)
|
35
|
+
# Not using File.exist? because it does not handle globs
|
36
|
+
return Dir[path].any?
|
37
|
+
end
|
38
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-android_version_manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Cardoso Machado
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: semantic
|
@@ -159,6 +159,7 @@ files:
|
|
159
159
|
- LICENSE
|
160
160
|
- README.md
|
161
161
|
- lib/fastlane/plugin/android_version_manager.rb
|
162
|
+
- lib/fastlane/plugin/android_version_manager/actions/android_base_action.rb
|
162
163
|
- lib/fastlane/plugin/android_version_manager/actions/android_get_value_from_build_action.rb
|
163
164
|
- lib/fastlane/plugin/android_version_manager/actions/android_get_version_code_action.rb
|
164
165
|
- lib/fastlane/plugin/android_version_manager/actions/android_get_version_name_action.rb
|
@@ -166,6 +167,7 @@ files:
|
|
166
167
|
- lib/fastlane/plugin/android_version_manager/actions/android_increment_version_name_action.rb
|
167
168
|
- lib/fastlane/plugin/android_version_manager/actions/android_version_manager_action.rb
|
168
169
|
- lib/fastlane/plugin/android_version_manager/helper/android_version_manager_helper.rb
|
170
|
+
- lib/fastlane/plugin/android_version_manager/helper/build_gradle_file.rb
|
169
171
|
- lib/fastlane/plugin/android_version_manager/version.rb
|
170
172
|
homepage: https://github.com/JCMais/fastlane-plugin-android_version_manager
|
171
173
|
licenses:
|