fastlane-plugin-properties 0.1.0 → 1.1.1
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 +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.
|