fastlane-plugin-icon_versioning 1.1.1 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +5 -3
- data/lib/fastlane/plugin/icon_versioning/actions/icon_versioning_action.rb +8 -78
- data/lib/fastlane/plugin/icon_versioning/actions/version_icon_action.rb +121 -0
- data/lib/fastlane/plugin/icon_versioning/helper/{icon_versioning_helper.rb → version_icon_helper.rb} +49 -36
- data/lib/fastlane/plugin/icon_versioning/version.rb +1 -1
- metadata +52 -52
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 04b3a71b5173e2096cdb92088e148ccb69526bf464d5616583c6d3f85d42bd02
|
4
|
+
data.tar.gz: 35983b790c8ec6517d343752214d66cdfd8fcff6f4d7b0b659a587365f93610e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d6571cdb8c6134c64b1abea3e8a198449ff4e8a2c3ba2c03fc5f9583d08720e5fbc7550ec1d4e9717360ab0c4ae1df41da63d59475c4337c10d0bafdbd84aa2a
|
7
|
+
data.tar.gz: 3ead798ca60dc50985ed8dfc0394e806a7778bdc09837d62fffe6125d958baacde0162aa411be66e86b5c73bc2efde9a5059f1ee5966e3350e8ecb5824a3da95
|
data/README.md
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
# icon_versioning plugin
|
2
2
|
|
3
3
|
[![fastlane Plugin Badge](https://rawcdn.githack.com/fastlane/fastlane/master/fastlane/assets/plugin-badge.svg)](https://rubygems.org/gems/fastlane-plugin-icon_versioning)
|
4
|
-
[![Build Status](https://travis-ci.
|
4
|
+
[![Build Status](https://travis-ci.com/revolter/fastlane-plugin-icon_versioning.svg?branch=master)](https://travis-ci.com/revolter/fastlane-plugin-icon_versioning)
|
5
5
|
[![Coverage Status](https://coveralls.io/repos/github/revolter/fastlane-plugin-icon_versioning/badge.svg)](https://coveralls.io/github/revolter/fastlane-plugin-icon_versioning)
|
6
|
+
[![Maintainability](https://api.codeclimate.com/v1/badges/c25b5a17cfad82881a70/maintainability)](https://codeclimate.com/github/revolter/fastlane-plugin-icon_versioning/maintainability)
|
6
7
|
|
7
8
|
## Getting Started
|
8
9
|
|
@@ -21,7 +22,8 @@ Overlay build information on top of your app icon. Based on original work by Krz
|
|
21
22
|
Over the original implementation by Krzysztof, I also added:
|
22
23
|
- automatic font scaling and blur spreading that ensures a consistent look between different sized icons
|
23
24
|
- text lines preservation that doesn't break long lines to prevent unexpected results
|
24
|
-
- possibility to specify custom text
|
25
|
+
- possibility to specify custom text and text color
|
26
|
+
- text margins and band height that remain responsive to different icon sizes
|
25
27
|
|
26
28
|
### Integrating
|
27
29
|
|
@@ -53,7 +55,7 @@ export FASTLANE_DISABLE_COLORS=1 # optional, to remove from the build log the AN
|
|
53
55
|
export FASTLANE_SKIP_UPDATE_CHECK=1 # optional, to make sure that the versioning finishes as fast as possible in case there is an available update
|
54
56
|
export FASTLANE_HIDE_GITHUB_ISSUES=1 # optional, to make sure that the versioning finishes as fast as possible in case the plugin crashes
|
55
57
|
|
56
|
-
bundle exec fastlane run
|
58
|
+
bundle exec fastlane run version_icon appiconset_path:'/path/to/AppIcon.appiconset' text:'1.2.3 (11.03.2018)\n[ead76f1] {Staging}\nmaster'
|
57
59
|
```
|
58
60
|
|
59
61
|
_Make sure the script is executable by running `chmod +x /scripts/icon_versioning.sh`_
|
@@ -1,91 +1,21 @@
|
|
1
1
|
require 'fastlane/action'
|
2
|
-
require_relative '
|
2
|
+
require_relative 'version_icon_action'
|
3
3
|
|
4
4
|
module Fastlane
|
5
5
|
module Actions
|
6
|
-
class IconVersioningAction <
|
6
|
+
class IconVersioningAction < VersionIconAction
|
7
7
|
def self.run(params)
|
8
|
-
|
8
|
+
UI.important('This action was deprecated. Please use "version_icon" instead.')
|
9
9
|
|
10
|
-
return
|
10
|
+
return super
|
11
11
|
end
|
12
12
|
|
13
|
-
def self.
|
14
|
-
|
13
|
+
def self.category
|
14
|
+
:deprecated
|
15
15
|
end
|
16
16
|
|
17
|
-
def self.
|
18
|
-
|
19
|
-
end
|
20
|
-
|
21
|
-
def self.available_options
|
22
|
-
[
|
23
|
-
FastlaneCore::ConfigItem.new(
|
24
|
-
key: :appiconset_path,
|
25
|
-
env_name: 'ICON_VERSIONING_APPICONSET_PATH',
|
26
|
-
description: 'The path to the `.appiconset` directory containing the icon images',
|
27
|
-
verify_block: proc do |value|
|
28
|
-
path = File.expand_path(value.to_s)
|
29
|
-
|
30
|
-
UI.user_error!('Appiconset not found') unless File.exist?(path)
|
31
|
-
UI.user_error!('Appiconset is not a directory') unless File.directory?(path)
|
32
|
-
UI.user_error!('Appiconset does not end with .appiconset') unless path.end_with?('.appiconset')
|
33
|
-
end,
|
34
|
-
type: String
|
35
|
-
),
|
36
|
-
FastlaneCore::ConfigItem.new(
|
37
|
-
key: :text,
|
38
|
-
env_name: 'ICON_VERSIONING_TEXT',
|
39
|
-
description: 'The text to overlay over the icon images',
|
40
|
-
type: String
|
41
|
-
),
|
42
|
-
FastlaneCore::ConfigItem.new(
|
43
|
-
key: :band_height_percentage,
|
44
|
-
env_name: 'ICON_VERSIONING_BAND_HEIGHT_PERCENTAGE',
|
45
|
-
description: 'The percentage of the text band height relative to the image\'s height. A float number between 0 and 1',
|
46
|
-
default_value: 0.5,
|
47
|
-
verify_block: proc do |value|
|
48
|
-
UI.user_error!('Band height percentage is less than 0') if value < 0
|
49
|
-
UI.user_error!('Band height percentage is greater than 1') if value > 1
|
50
|
-
end,
|
51
|
-
optional: true,
|
52
|
-
type: Float
|
53
|
-
),
|
54
|
-
FastlaneCore::ConfigItem.new(
|
55
|
-
key: :band_blur_radius_percentage,
|
56
|
-
env_name: 'ICON_VERSIONING_BAND_BLUR_RADIUS_PERCENTAGE',
|
57
|
-
description: 'The blur radius percentage of the text band. The default value behaves like an automatic setting which produces the best results. More details: http://www.imagemagick.org/Usage/blur/#blur_args',
|
58
|
-
default_value: 0,
|
59
|
-
verify_block: proc do |value|
|
60
|
-
UI.user_error!('Band blur radius percentage is less than 0') if value < 0
|
61
|
-
end,
|
62
|
-
optional: true,
|
63
|
-
type: Float
|
64
|
-
),
|
65
|
-
FastlaneCore::ConfigItem.new(
|
66
|
-
key: :band_blur_sigma_percentage,
|
67
|
-
env_name: 'ICON_VERSIONING_BAND_BLUR_SIGMA_PERCENTAGE',
|
68
|
-
description: 'The blur sigma percentage of the text band. More details: http://www.imagemagick.org/Usage/blur/#blur_args',
|
69
|
-
default_value: 0.05,
|
70
|
-
verify_block: proc do |value|
|
71
|
-
UI.user_error!('Band blur sigma percentage is less than 0') if value < 0
|
72
|
-
UI.user_error!('Band blur sigma percentage is greater than 65355') if value > 65_355
|
73
|
-
end,
|
74
|
-
optional: true,
|
75
|
-
type: Float
|
76
|
-
),
|
77
|
-
FastlaneCore::ConfigItem.new(
|
78
|
-
key: :ignored_icons_regex,
|
79
|
-
env_name: 'ICON_VERSIONING_IGNORED_ICONS_REGEX',
|
80
|
-
description: 'An optional regex that causes the icons that match agains it not to be versioned',
|
81
|
-
optional: true,
|
82
|
-
type: Regexp
|
83
|
-
)
|
84
|
-
]
|
85
|
-
end
|
86
|
-
|
87
|
-
def self.is_supported?(platform)
|
88
|
-
[:ios].include?(platform)
|
17
|
+
def self.deprecated_notes
|
18
|
+
'Please use the `version_icon` action instead.'
|
89
19
|
end
|
90
20
|
end
|
91
21
|
end
|
@@ -0,0 +1,121 @@
|
|
1
|
+
require 'fastlane/action'
|
2
|
+
require_relative '../helper/version_icon_helper'
|
3
|
+
|
4
|
+
module Fastlane
|
5
|
+
module Actions
|
6
|
+
class VersionIconAction < Action
|
7
|
+
def self.run(params)
|
8
|
+
version_icon_helper = Helper::VersionIconHelper.new(params)
|
9
|
+
|
10
|
+
return version_icon_helper.run()
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.description
|
14
|
+
'Overlay build information on top of your app icon. Based on original work by Krzysztof Zabłocki (https://github.com/krzysztofzablocki/Bootstrap).'
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.authors
|
18
|
+
['Iulian Onofrei', 'Krzysztof Zabłocki']
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.available_options
|
22
|
+
[
|
23
|
+
FastlaneCore::ConfigItem.new(
|
24
|
+
key: :appiconset_path,
|
25
|
+
env_name: 'VERSION_ICON_APPICONSET_PATH',
|
26
|
+
description: 'The path to the `.appiconset` directory containing the icon images',
|
27
|
+
verify_block: proc do |value|
|
28
|
+
path = File.expand_path(value.to_s)
|
29
|
+
|
30
|
+
UI.user_error!('Appiconset not found') unless File.exist?(path)
|
31
|
+
UI.user_error!('Appiconset is not a directory') unless File.directory?(path)
|
32
|
+
UI.user_error!('Appiconset does not end with .appiconset') unless path.end_with?('.appiconset')
|
33
|
+
end,
|
34
|
+
type: String
|
35
|
+
),
|
36
|
+
FastlaneCore::ConfigItem.new(
|
37
|
+
key: :versioned_appiconset_suffix,
|
38
|
+
env_name: 'VERSION_ICON_VERSIONED_APPICONSET_SUFFIX',
|
39
|
+
description: 'The suffix for the versioned `.appiconset` directory',
|
40
|
+
default_value: 'Versioned',
|
41
|
+
optional: true,
|
42
|
+
type: String
|
43
|
+
),
|
44
|
+
FastlaneCore::ConfigItem.new(
|
45
|
+
key: :text,
|
46
|
+
env_name: 'VERSION_ICON_TEXT',
|
47
|
+
description: 'The text to overlay over the icon images',
|
48
|
+
type: String
|
49
|
+
),
|
50
|
+
FastlaneCore::ConfigItem.new(
|
51
|
+
key: :text_color,
|
52
|
+
env_name: 'VERSION_ICON_TEXT_COLOR',
|
53
|
+
description: 'Optional color for the text overlaying the icon images. It must be a color name (`red`) or a set of numbers as described here: https://www.imagemagick.org/script/color.php',
|
54
|
+
default_value: 'white',
|
55
|
+
optional: true,
|
56
|
+
type: String
|
57
|
+
),
|
58
|
+
FastlaneCore::ConfigItem.new(
|
59
|
+
key: :text_margins_percentages,
|
60
|
+
env_name: 'VERSION_ICON_TEXT_MARGINS_PERCENTAGES',
|
61
|
+
description: 'Optional percentages of the text margins relative to the image\'s size. The array must have all four margins: `text_margins_percentages: [top, right, bottom, left]`, two values: `text_margins_percentages: [vertical, horizontal]` or one value for all of them: `text_margins: [all]`',
|
62
|
+
default_value: [0.06],
|
63
|
+
verify_block: proc do |value|
|
64
|
+
UI.user_error!('The number of margins is not equal to 1, 2 or 4') unless value.length == 1 || value.length == 2 || value.length == 4
|
65
|
+
UI.user_error!('At least one margin percentage is less than 0') if value.any? { |percentage| percentage < 0 }
|
66
|
+
UI.user_error!('At least one margin percentage is greater than 1') if value.any? { |percentage| percentage > 1 }
|
67
|
+
end,
|
68
|
+
optional: true,
|
69
|
+
type: Array
|
70
|
+
),
|
71
|
+
FastlaneCore::ConfigItem.new(
|
72
|
+
key: :band_height_percentage,
|
73
|
+
env_name: 'VERSION_ICON_BAND_HEIGHT_PERCENTAGE',
|
74
|
+
description: 'Optional percentage of the text band height relative to the image\'s height. A float number between 0 and 1',
|
75
|
+
default_value: 0.5,
|
76
|
+
verify_block: proc do |value|
|
77
|
+
UI.user_error!('Band height percentage is less than 0') if value < 0
|
78
|
+
UI.user_error!('Band height percentage is greater than 1') if value > 1
|
79
|
+
end,
|
80
|
+
optional: true,
|
81
|
+
type: Float
|
82
|
+
),
|
83
|
+
FastlaneCore::ConfigItem.new(
|
84
|
+
key: :band_blur_radius_percentage,
|
85
|
+
env_name: 'VERSION_ICON_BAND_BLUR_RADIUS_PERCENTAGE',
|
86
|
+
description: 'Optional blur radius percentage of the text band. The default value behaves like an automatic setting which produces the best results. More details: http://www.imagemagick.org/Usage/blur/#blur_args',
|
87
|
+
default_value: 0,
|
88
|
+
verify_block: proc do |value|
|
89
|
+
UI.user_error!('Band blur radius percentage is less than 0') if value < 0
|
90
|
+
end,
|
91
|
+
optional: true,
|
92
|
+
type: Float
|
93
|
+
),
|
94
|
+
FastlaneCore::ConfigItem.new(
|
95
|
+
key: :band_blur_sigma_percentage,
|
96
|
+
env_name: 'VERSION_ICON_BAND_BLUR_SIGMA_PERCENTAGE',
|
97
|
+
description: 'Optional blur sigma percentage of the text band. More details: http://www.imagemagick.org/Usage/blur/#blur_args',
|
98
|
+
default_value: 0.05,
|
99
|
+
verify_block: proc do |value|
|
100
|
+
UI.user_error!('Band blur sigma percentage is less than 0') if value < 0
|
101
|
+
UI.user_error!('Band blur sigma percentage is greater than 65355') if value > 65_355
|
102
|
+
end,
|
103
|
+
optional: true,
|
104
|
+
type: Float
|
105
|
+
),
|
106
|
+
FastlaneCore::ConfigItem.new(
|
107
|
+
key: :ignored_icons_regex,
|
108
|
+
env_name: 'VERSION_ICON_IGNORED_ICONS_REGEX',
|
109
|
+
description: 'Optional regex that causes the icons that match against it not to be versioned',
|
110
|
+
optional: true,
|
111
|
+
type: Regexp
|
112
|
+
)
|
113
|
+
]
|
114
|
+
end
|
115
|
+
|
116
|
+
def self.is_supported?(platform)
|
117
|
+
[:ios].include?(platform)
|
118
|
+
end
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
data/lib/fastlane/plugin/icon_versioning/helper/{icon_versioning_helper.rb → version_icon_helper.rb}
RENAMED
@@ -9,31 +9,35 @@ module Fastlane
|
|
9
9
|
UI = FastlaneCore::UI unless Fastlane.const_defined?('UI')
|
10
10
|
|
11
11
|
module Helper
|
12
|
-
class
|
12
|
+
class VersionIconHelper
|
13
13
|
CACHE_FILE_NAME = 'cache.yml'.freeze
|
14
|
+
CONTENTS_JSON_FILE_NAME = 'Contents.json'.freeze
|
14
15
|
|
15
|
-
|
16
|
-
|
16
|
+
def initialize(params)
|
17
|
+
@appiconset_path = File.expand_path(params[:appiconset_path])
|
18
|
+
@versioned_appiconset_suffix = params[:versioned_appiconset_suffix]
|
19
|
+
@text = params[:text]
|
20
|
+
@text_color = params[:text_color]
|
17
21
|
|
18
|
-
|
19
|
-
attr_accessor :band_blur_radius_percentage
|
20
|
-
attr_accessor :band_blur_sigma_percentage
|
22
|
+
text_margins_percentages = params[:text_margins_percentages]
|
21
23
|
|
22
|
-
|
24
|
+
text_margins_percentages *= 4 if text_margins_percentages.length == 1
|
25
|
+
text_margins_percentages *= 2 if text_margins_percentages.length == 2
|
23
26
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
+
@text_top_margin_percentage = text_margins_percentages[0]
|
28
|
+
@text_right_margin_percentage = text_margins_percentages[1]
|
29
|
+
@text_bottom_margin_percentage = text_margins_percentages[2]
|
30
|
+
@text_left_margin_percentage = text_margins_percentages[3]
|
27
31
|
|
28
|
-
|
29
|
-
|
30
|
-
|
32
|
+
@band_height_percentage = params[:band_height_percentage]
|
33
|
+
@band_blur_radius_percentage = params[:band_blur_radius_percentage]
|
34
|
+
@band_blur_sigma_percentage = params[:band_blur_sigma_percentage]
|
31
35
|
|
32
|
-
|
36
|
+
@ignored_icons_regex = params[:ignored_icons_regex]
|
33
37
|
end
|
34
38
|
|
35
39
|
def run()
|
36
|
-
versioned_appiconset_path = self.class.get_versioned_path(
|
40
|
+
versioned_appiconset_path = self.class.get_versioned_path(@appiconset_path, @versioned_appiconset_suffix)
|
37
41
|
|
38
42
|
Dir.mkdir(versioned_appiconset_path) unless Dir.exist?(versioned_appiconset_path)
|
39
43
|
|
@@ -45,10 +49,12 @@ module Fastlane
|
|
45
49
|
cache = {}
|
46
50
|
end
|
47
51
|
|
48
|
-
|
49
|
-
versioned_icon_path = self.class.get_versioned_path(original_icon_path)
|
52
|
+
FileUtils.copy("#{@appiconset_path}/#{CONTENTS_JSON_FILE_NAME}", "#{versioned_appiconset_path}/#{CONTENTS_JSON_FILE_NAME}")
|
50
53
|
|
51
|
-
|
54
|
+
Dir.glob("#{@appiconset_path}/*.png").each do |original_icon_path|
|
55
|
+
versioned_icon_path = self.class.get_versioned_path(original_icon_path, @versioned_appiconset_suffix)
|
56
|
+
|
57
|
+
text_sha = Digest::SHA2.hexdigest(@text)
|
52
58
|
|
53
59
|
unless cache[original_icon_path].nil?
|
54
60
|
if File.exist?(versioned_icon_path)
|
@@ -61,7 +67,7 @@ module Fastlane
|
|
61
67
|
end
|
62
68
|
end
|
63
69
|
|
64
|
-
if
|
70
|
+
if @ignored_icons_regex && !(original_icon_path =~ @ignored_icons_regex).nil?
|
65
71
|
FileUtils.copy(original_icon_path, versioned_icon_path)
|
66
72
|
else
|
67
73
|
version_icon(original_icon_path, versioned_icon_path)
|
@@ -76,21 +82,28 @@ module Fastlane
|
|
76
82
|
File.open(cache_file_path, 'w') { |file| file.write(cache.to_yaml) }
|
77
83
|
end
|
78
84
|
|
79
|
-
def self.get_versioned_path(path)
|
80
|
-
return path.gsub(/([^.]+)(\.appiconset)/,
|
85
|
+
def self.get_versioned_path(path, suffix)
|
86
|
+
return path.gsub(/([^.]+)(\.appiconset)/, "\\1-#{suffix}\\2")
|
81
87
|
end
|
82
88
|
|
83
|
-
private
|
89
|
+
private
|
90
|
+
|
91
|
+
def version_icon(original_icon_path, versioned_icon_path)
|
84
92
|
image = MiniMagick::Image.open(original_icon_path)
|
85
93
|
|
86
|
-
|
87
|
-
|
94
|
+
image_width = image[:width]
|
95
|
+
image_height = image[:height]
|
88
96
|
|
89
|
-
band_height =
|
90
|
-
band_blur_radius =
|
91
|
-
band_blur_sigma =
|
97
|
+
band_height = image_height * @band_height_percentage
|
98
|
+
band_blur_radius = image_width * @band_blur_radius_percentage
|
99
|
+
band_blur_sigma = image_width * @band_blur_sigma_percentage
|
92
100
|
|
93
|
-
band_top_position =
|
101
|
+
band_top_position = image_height - band_height
|
102
|
+
|
103
|
+
text_top_margin = image_height * @text_top_margin_percentage
|
104
|
+
text_right_margin = image_width * @text_right_margin_percentage
|
105
|
+
text_bottom_margin = image_height * @text_bottom_margin_percentage
|
106
|
+
text_left_margin = image_width * @text_left_margin_percentage
|
94
107
|
|
95
108
|
blurred_icon_path = suffix(versioned_icon_path, 'blurred')
|
96
109
|
mask_icon_path = suffix(versioned_icon_path, 'mask')
|
@@ -108,25 +121,25 @@ module Fastlane
|
|
108
121
|
convert << blurred_icon_path
|
109
122
|
convert << '-gamma' << '0'
|
110
123
|
convert << '-fill' << 'white'
|
111
|
-
convert << '-draw' << "rectangle 0, #{band_top_position}, #{
|
124
|
+
convert << '-draw' << "rectangle 0, #{band_top_position}, #{image_width}, #{image_height}"
|
112
125
|
convert << mask_icon_path
|
113
126
|
end
|
114
127
|
|
115
128
|
MiniMagick::Tool::Convert.new do |convert|
|
116
|
-
convert << '-size' << "#{
|
129
|
+
convert << '-size' << "#{image_width}x#{band_height}"
|
117
130
|
convert << 'xc:none'
|
118
131
|
convert << '-fill' << 'rgba(0, 0, 0, 0.2)'
|
119
|
-
convert << '-draw' << "rectangle 0, 0, #{
|
132
|
+
convert << '-draw' << "rectangle 0, 0, #{image_width}, #{band_height}"
|
120
133
|
convert << text_base_icon_path
|
121
134
|
end
|
122
135
|
|
123
136
|
MiniMagick::Tool::Convert.new do |convert|
|
124
137
|
convert << '-background' << 'none'
|
125
|
-
convert << '-size' << "#{
|
126
|
-
convert << '-fill' <<
|
138
|
+
convert << '-size' << "#{image_width - (text_left_margin + text_right_margin)}x#{band_height - (text_top_margin + text_bottom_margin)}"
|
139
|
+
convert << '-fill' << @text_color
|
127
140
|
convert << '-gravity' << 'center'
|
128
141
|
# using label instead of caption prevents wrapping long lines
|
129
|
-
convert << "label:#{
|
142
|
+
convert << "label:#{@text}"
|
130
143
|
convert << text_icon_path
|
131
144
|
end
|
132
145
|
|
@@ -146,7 +159,7 @@ module Fastlane
|
|
146
159
|
convert << '-geometry' << "+0+#{band_top_position}"
|
147
160
|
convert << '-composite'
|
148
161
|
convert << text_icon_path
|
149
|
-
convert << '-geometry' << "
|
162
|
+
convert << '-geometry' << "+#{text_left_margin}+#{band_top_position + text_top_margin}"
|
150
163
|
convert << '-composite'
|
151
164
|
convert << versioned_icon_path
|
152
165
|
end
|
@@ -154,7 +167,7 @@ module Fastlane
|
|
154
167
|
File.delete(text_base_icon_path, text_icon_path, temp_icon_path)
|
155
168
|
end
|
156
169
|
|
157
|
-
|
170
|
+
def suffix(path, text)
|
158
171
|
extension = File.extname(path)
|
159
172
|
|
160
173
|
return path.gsub(extension, "_#{text}#{extension}")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-icon_versioning
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Iulian Onofrei
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mini_magick
|
@@ -16,154 +16,154 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 4.5.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 4.5.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 1.12.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 1.12.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: coveralls
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 0.7.2
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 0.7.2
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: fastlane
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 2.89.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 2.89.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: pry
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 0.11.3
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 0.11.3
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rake
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: 12.3.1
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
96
|
+
version: 12.3.1
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: rspec
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
103
|
+
version: 3.7.0
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
110
|
+
version: 3.7.0
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: rspec_junit_formatter
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
117
|
+
version: 0.3.0
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
124
|
+
version: 0.3.0
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: rubocop
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - "
|
129
|
+
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
131
|
+
version: 0.54.0
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- - "
|
136
|
+
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
138
|
+
version: 0.54.0
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
140
|
+
name: rubocop-require_tools
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- - "
|
143
|
+
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
145
|
+
version: 0.1.2
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- - "
|
150
|
+
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
152
|
+
version: 0.1.2
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
154
|
+
name: simplecov
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
|
-
- - "
|
157
|
+
- - "~>"
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
159
|
+
version: 0.16.1
|
160
160
|
type: :development
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
|
-
- - "
|
164
|
+
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
166
|
+
version: 0.16.1
|
167
167
|
description:
|
168
168
|
email: 6d0847b9@opayq.com
|
169
169
|
executables: []
|
@@ -174,7 +174,8 @@ files:
|
|
174
174
|
- README.md
|
175
175
|
- lib/fastlane/plugin/icon_versioning.rb
|
176
176
|
- lib/fastlane/plugin/icon_versioning/actions/icon_versioning_action.rb
|
177
|
-
- lib/fastlane/plugin/icon_versioning/
|
177
|
+
- lib/fastlane/plugin/icon_versioning/actions/version_icon_action.rb
|
178
|
+
- lib/fastlane/plugin/icon_versioning/helper/version_icon_helper.rb
|
178
179
|
- lib/fastlane/plugin/icon_versioning/version.rb
|
179
180
|
homepage: https://github.com/revolter/fastlane-plugin-icon_versioning
|
180
181
|
licenses:
|
@@ -195,8 +196,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
195
196
|
- !ruby/object:Gem::Version
|
196
197
|
version: '0'
|
197
198
|
requirements: []
|
198
|
-
|
199
|
-
rubygems_version: 2.5.2
|
199
|
+
rubygems_version: 3.0.3
|
200
200
|
signing_key:
|
201
201
|
specification_version: 4
|
202
202
|
summary: Overlay build information on top of your app icon
|