fastlane-plugin-properties 0.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +13 -12
- data/lib/fastlane/plugin/properties/actions/get_properties_value.rb +2 -4
- data/lib/fastlane/plugin/properties/actions/increment_version_code_in_properties_file.rb +2 -4
- data/lib/fastlane/plugin/properties/actions/increment_version_name_in_properties_file.rb +4 -7
- data/lib/fastlane/plugin/properties/actions/parse_properties_file.rb +51 -0
- data/lib/fastlane/plugin/properties/actions/set_properties_value.rb +4 -7
- data/lib/fastlane/plugin/properties/actions/write_properties_file.rb +56 -0
- data/lib/fastlane/plugin/properties/helper/properties_helper.rb +8 -8
- data/lib/fastlane/plugin/properties/version.rb +1 -1
- metadata +22 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 2aa93e94b2bcf6b8d84a1b9f2c2249c16bc418b3bc3f8ad2d44be5aba2823b7d
|
4
|
+
data.tar.gz: a88eace38425870d601b2d8f92b0a6bf343d52fd46c28db6f6b08598db516572
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 97498e511ed97cb975277690c4b2a02c2ea6bac6998b9cc171c96959f277a35beed9a5c540ddc9a95c9e41b529390539bd79c1f60618fa806009b9b4cca72bc3
|
7
|
+
data.tar.gz: b7dd159b6ff260a2118afca6e7b96bffea619adb0501f75beb066664b10f3fd252e98e3fbf28e6b7a5d68b25ac06d3dadf05ef2354cea1bb14df77336797f50a
|
data/README.md
CHANGED
@@ -13,8 +13,11 @@ fastlane add_plugin properties
|
|
13
13
|
## About properties
|
14
14
|
|
15
15
|
Adds 2 actions to fastlane to read and update properties files.
|
16
|
+
Adds 2 actions to read/write the whole properties file.
|
16
17
|
Adds 2 more actions to increase versionCode and versionName fast.
|
17
18
|
|
19
|
+
Your file does not require to be `.properties`. This plugin can work with any file which content is in the `KEY=VALUE` format, ie `.env` files or etc.
|
20
|
+
|
18
21
|
## Example
|
19
22
|
|
20
23
|
```ruby
|
@@ -48,20 +51,18 @@ lane :test do
|
|
48
51
|
update_type: "minor"
|
49
52
|
)
|
50
53
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
To run both the tests, and code style validation, run
|
54
|
+
# Read the versions.properties file and sttore it as a hash-map in the content variable
|
55
|
+
content = parse_properties_file(
|
56
|
+
path: "./Configs/versions.properties"
|
57
|
+
)
|
57
58
|
|
58
|
-
|
59
|
-
|
60
|
-
|
59
|
+
# Rewrites your versions.properties with new data, generated from some_hash
|
60
|
+
write_properties_file(
|
61
|
+
path: "./Configs/versions.properties",
|
62
|
+
hash: some_hash
|
63
|
+
)
|
61
64
|
|
62
|
-
|
63
|
-
```
|
64
|
-
rubocop -a
|
65
|
+
end
|
65
66
|
```
|
66
67
|
|
67
68
|
## Issues and Feedback
|
@@ -33,8 +33,7 @@ module Fastlane
|
|
33
33
|
env_name: "PROPERIES_GET_VALUE_PARAM_KEY",
|
34
34
|
description: "Key of properie in .properties file",
|
35
35
|
optional: false,
|
36
|
-
type: String
|
37
|
-
),
|
36
|
+
type: String),
|
38
37
|
FastlaneCore::ConfigItem.new(key: :path,
|
39
38
|
env_name: "PROPERIES_GET_VALUE_PARAM_PATH",
|
40
39
|
description: "Path to .properies file you want to update",
|
@@ -42,8 +41,7 @@ module Fastlane
|
|
42
41
|
optional: false,
|
43
42
|
verify_block: proc do |value|
|
44
43
|
UI.user_error!("Couldn't find .properties file at path '#{value}'") unless File.exist?(File.expand_path(value))
|
45
|
-
end
|
46
|
-
)
|
44
|
+
end)
|
47
45
|
]
|
48
46
|
end
|
49
47
|
|
@@ -36,8 +36,7 @@ module Fastlane
|
|
36
36
|
env_name: "PROPERIES_GET_VALUE_PARAM_KEY",
|
37
37
|
description: "Key of properie in .properties file",
|
38
38
|
optional: false,
|
39
|
-
type: String
|
40
|
-
),
|
39
|
+
type: String),
|
41
40
|
FastlaneCore::ConfigItem.new(key: :path,
|
42
41
|
env_name: "PROPERIES_GET_VALUE_PARAM_PATH",
|
43
42
|
description: "Path to .properies file you want to update",
|
@@ -45,8 +44,7 @@ module Fastlane
|
|
45
44
|
optional: false,
|
46
45
|
verify_block: proc do |value|
|
47
46
|
UI.user_error!("Couldn't find .properties file at path '#{value}'") unless File.exist?(File.expand_path(value))
|
48
|
-
end
|
49
|
-
)
|
47
|
+
end)
|
50
48
|
]
|
51
49
|
end
|
52
50
|
|
@@ -23,7 +23,7 @@ module Fastlane
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def self.return_value
|
26
|
-
"New version name."
|
26
|
+
"New version name."
|
27
27
|
end
|
28
28
|
|
29
29
|
def self.details
|
@@ -37,8 +37,7 @@ module Fastlane
|
|
37
37
|
env_name: "PROPERIES_GET_VALUE_PARAM_KEY",
|
38
38
|
description: "Key of properie in .properties file",
|
39
39
|
optional: false,
|
40
|
-
type: String
|
41
|
-
),
|
40
|
+
type: String),
|
42
41
|
FastlaneCore::ConfigItem.new(key: :path,
|
43
42
|
env_name: "PROPERIES_GET_VALUE_PARAM_PATH",
|
44
43
|
description: "Path to .properies file you want to update",
|
@@ -46,14 +45,12 @@ module Fastlane
|
|
46
45
|
optional: false,
|
47
46
|
verify_block: proc do |value|
|
48
47
|
UI.user_error!("Couldn't find .properties file at path '#{value}'") unless File.exist?(File.expand_path(value))
|
49
|
-
end
|
50
|
-
),
|
48
|
+
end),
|
51
49
|
FastlaneCore::ConfigItem.new(key: :update_type,
|
52
50
|
env_name: "PROPERIES_GET_VALUE_PARAM_KEY",
|
53
51
|
description: "Key of properie in .properties file",
|
54
52
|
optional: true,
|
55
|
-
type: String
|
56
|
-
)
|
53
|
+
type: String)
|
57
54
|
]
|
58
55
|
end
|
59
56
|
|
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'fastlane/action'
|
2
|
+
require 'java-properties'
|
3
|
+
|
4
|
+
module Fastlane
|
5
|
+
module Actions
|
6
|
+
class ParsePropertiesFileAction < Action
|
7
|
+
def self.run(params)
|
8
|
+
content = JavaProperties.load(params[:path])
|
9
|
+
return content
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.description
|
13
|
+
"Load .properties file and returns it as a ruby hash-map."
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.authors
|
17
|
+
["Pavlo Pakholka"]
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.return_value
|
21
|
+
'Content of properties file.'
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.details
|
25
|
+
# Optional:
|
26
|
+
""
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.available_options
|
30
|
+
[
|
31
|
+
FastlaneCore::ConfigItem.new(key: :path,
|
32
|
+
env_name: "PROPERIES_READ_HASH_PATH",
|
33
|
+
description: "Path to .properies file you want to read",
|
34
|
+
type: String,
|
35
|
+
optional: false,
|
36
|
+
verify_block: proc do |value|
|
37
|
+
UI.user_error!("Couldn't find .properties file at path '#{value}'") unless File.exist?(File.expand_path(value))
|
38
|
+
end)
|
39
|
+
]
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.is_supported?(platform)
|
43
|
+
# Adjust this if your plugin only works for a particular platform (iOS vs. Android, for example)
|
44
|
+
# See: https://docs.fastlane.tools/advanced/#control-configuration-by-lane-and-by-platform
|
45
|
+
#
|
46
|
+
# [:ios, :mac, :android].include?(platform)
|
47
|
+
true
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -20,7 +20,7 @@ module Fastlane
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def self.return_value
|
23
|
-
nil
|
23
|
+
nil
|
24
24
|
end
|
25
25
|
|
26
26
|
def self.details
|
@@ -34,15 +34,13 @@ module Fastlane
|
|
34
34
|
env_name: "PROPERIES_GET_VALUE_PARAM_KEY",
|
35
35
|
description: "Key of properie in .properties file",
|
36
36
|
optional: false,
|
37
|
-
type: String
|
38
|
-
),
|
37
|
+
type: String),
|
39
38
|
FastlaneCore::ConfigItem.new(key: :value,
|
40
39
|
env_name: "PROPERIES_SET_VALUE_PARAM_VALUE",
|
41
40
|
description: "Value to set",
|
42
41
|
skip_type_validation: true, # skipping type validation as fastlane converts YES/NO/true/false strings into booleans
|
43
42
|
type: String,
|
44
|
-
optional: false
|
45
|
-
),
|
43
|
+
optional: false),
|
46
44
|
FastlaneCore::ConfigItem.new(key: :path,
|
47
45
|
env_name: "PROPERIES_GET_VALUE_PARAM_PATH",
|
48
46
|
description: "Path to .properies file you want to update",
|
@@ -50,8 +48,7 @@ module Fastlane
|
|
50
48
|
optional: false,
|
51
49
|
verify_block: proc do |value|
|
52
50
|
UI.user_error!("Couldn't find .properties file at path '#{value}'") unless File.exist?(File.expand_path(value))
|
53
|
-
end
|
54
|
-
)
|
51
|
+
end)
|
55
52
|
]
|
56
53
|
end
|
57
54
|
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'fastlane/action'
|
2
|
+
require 'java-properties'
|
3
|
+
|
4
|
+
module Fastlane
|
5
|
+
module Actions
|
6
|
+
class WritePropertiesFileAction < Action
|
7
|
+
def self.run(params)
|
8
|
+
content = JavaProperties.write(params[:hash], params[:path])
|
9
|
+
return content
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.description
|
13
|
+
"Write any Hash-like structure as a properties file. This action won't create a new file."
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.authors
|
17
|
+
["Pavlo Pakholka"]
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.return_value
|
21
|
+
''
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.details
|
25
|
+
# Optional:
|
26
|
+
""
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.available_options
|
30
|
+
[
|
31
|
+
FastlaneCore::ConfigItem.new(key: :key,
|
32
|
+
env_name: "PROPERIES_WRITE_HASH_MAP",
|
33
|
+
description: "Hashmap you want to convert and write to file",
|
34
|
+
optional: false,
|
35
|
+
type: Hash),
|
36
|
+
FastlaneCore::ConfigItem.new(key: :path,
|
37
|
+
env_name: "PROPERIES_WRITE_HASH_PATH",
|
38
|
+
description: "Path to .properies file you want to update",
|
39
|
+
type: String,
|
40
|
+
optional: false,
|
41
|
+
verify_block: proc do |value|
|
42
|
+
UI.user_error!("Couldn't find .properties file at path '#{value}'") unless File.exist?(File.expand_path(value))
|
43
|
+
end)
|
44
|
+
]
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.is_supported?(platform)
|
48
|
+
# Adjust this if your plugin only works for a particular platform (iOS vs. Android, for example)
|
49
|
+
# See: https://docs.fastlane.tools/advanced/#control-configuration-by-lane-and-by-platform
|
50
|
+
#
|
51
|
+
# [:ios, :mac, :android].include?(platform)
|
52
|
+
true
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -7,27 +7,27 @@ module Fastlane
|
|
7
7
|
class PropertiesHelper
|
8
8
|
# Available in actions as `Helper::PropertiesHelper.update_semver_version`
|
9
9
|
def self.update_semver_version(type, version_name)
|
10
|
-
type
|
10
|
+
type ||= 'minor'
|
11
11
|
version = version_name.split(".")
|
12
12
|
major = version[0].to_i
|
13
13
|
minor = version[1].to_i
|
14
14
|
patch = version[2].to_i
|
15
|
-
|
15
|
+
|
16
16
|
if type == 'major'
|
17
|
-
major+=1
|
17
|
+
major += 1
|
18
18
|
minor = 0
|
19
19
|
patch = 0
|
20
20
|
end
|
21
|
-
|
21
|
+
|
22
22
|
if type == 'minor'
|
23
|
-
minor+=1
|
23
|
+
minor += 1
|
24
24
|
patch = 0
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
if type == 'patch'
|
28
|
-
patch+=1
|
28
|
+
patch += 1
|
29
29
|
end
|
30
|
-
|
30
|
+
|
31
31
|
return "#{major}.#{minor}.#{patch}"
|
32
32
|
end
|
33
33
|
end
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-properties
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavlo Pakholka
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-12-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: java-properties
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: pry
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,14 +142,14 @@ dependencies:
|
|
128
142
|
requirements:
|
129
143
|
- - ">="
|
130
144
|
- !ruby/object:Gem::Version
|
131
|
-
version: 2.
|
145
|
+
version: 2.130.0
|
132
146
|
type: :development
|
133
147
|
prerelease: false
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
135
149
|
requirements:
|
136
150
|
- - ">="
|
137
151
|
- !ruby/object:Gem::Version
|
138
|
-
version: 2.
|
152
|
+
version: 2.130.0
|
139
153
|
description:
|
140
154
|
email: pavlo.pakholka@bolt.eu
|
141
155
|
executables: []
|
@@ -148,10 +162,12 @@ files:
|
|
148
162
|
- lib/fastlane/plugin/properties/actions/get_properties_value.rb
|
149
163
|
- lib/fastlane/plugin/properties/actions/increment_version_code_in_properties_file.rb
|
150
164
|
- lib/fastlane/plugin/properties/actions/increment_version_name_in_properties_file.rb
|
165
|
+
- lib/fastlane/plugin/properties/actions/parse_properties_file.rb
|
151
166
|
- lib/fastlane/plugin/properties/actions/set_properties_value.rb
|
167
|
+
- lib/fastlane/plugin/properties/actions/write_properties_file.rb
|
152
168
|
- lib/fastlane/plugin/properties/helper/properties_helper.rb
|
153
169
|
- lib/fastlane/plugin/properties/version.rb
|
154
|
-
homepage:
|
170
|
+
homepage: https://github.com/Kerizer/fastlane-plugin-properties
|
155
171
|
licenses:
|
156
172
|
- MIT
|
157
173
|
metadata: {}
|
@@ -170,8 +186,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
170
186
|
- !ruby/object:Gem::Version
|
171
187
|
version: '0'
|
172
188
|
requirements: []
|
173
|
-
|
174
|
-
rubygems_version: 2.5.2.3
|
189
|
+
rubygems_version: 3.0.3
|
175
190
|
signing_key:
|
176
191
|
specification_version: 4
|
177
192
|
summary: Adds 4 actions to fastlane to read and update properties files.
|