fastlane-plugin-changelog 0.5.1 → 0.6.0
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e2a3068eec0233c38bcec3e8c1f0cc9487dec34
|
4
|
+
data.tar.gz: 94e86e6da58136da6ab607f14354029d9836fbc8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e1617f7c34fdce1e1cdcb8956df0fedffbccb828da1c5ca8f2ad49f9988e13b03fec5d43a1c271b788f7cb3f11a0ce81f17e34b85bec43bf0cf37879a1368bf
|
7
|
+
data.tar.gz: 6638d73d36df78ec25a1dae2f78c154f64e88c0bfa42c552227d6314d5d9404e8c75afc9534513bf708a32f2168f4b8fa7faa5b5dfa7119bb86faef9b78d5dfb
|
data/README.md
CHANGED
@@ -56,6 +56,69 @@ stamp_changelog(
|
|
56
56
|
)
|
57
57
|
```
|
58
58
|
|
59
|
+
### 😁 emojify_changelog
|
60
|
+
Emojifies the output of `read_changelog` action. When you share changelog with the rest of your team on e.g.: Slack channel, it's nice to sprinkle your subsections with a bit of visuals so it immediately catches eyes of your teammates. `emojify_changelog` uses the output of `read_changelog` action to append an emoji to known subsections, for example:
|
61
|
+
|
62
|
+
```
|
63
|
+
Added:
|
64
|
+
- New awesome feature
|
65
|
+
|
66
|
+
Changed:
|
67
|
+
- Onboarding flow
|
68
|
+
|
69
|
+
Fixed:
|
70
|
+
- Fix Markdown links
|
71
|
+
|
72
|
+
Removed:
|
73
|
+
- User tracking
|
74
|
+
|
75
|
+
Work In Progress:
|
76
|
+
- Sales screen
|
77
|
+
|
78
|
+
Security:
|
79
|
+
- Enable SSL pinning
|
80
|
+
|
81
|
+
Deprecated:
|
82
|
+
- Obsolete contact screen
|
83
|
+
```
|
84
|
+
|
85
|
+
into
|
86
|
+
|
87
|
+
|
88
|
+
```
|
89
|
+
Added 🎁:
|
90
|
+
- New awesome feature
|
91
|
+
|
92
|
+
Changed ↔️:
|
93
|
+
- Onboarding flow UI
|
94
|
+
|
95
|
+
Fixed ✅:
|
96
|
+
- Fix Markdown links
|
97
|
+
|
98
|
+
Removed 🚫:
|
99
|
+
- User tracking
|
100
|
+
|
101
|
+
Work In Progress 🚧:
|
102
|
+
- Sales screen
|
103
|
+
|
104
|
+
Security 🔒:
|
105
|
+
- Enable SSL pinning
|
106
|
+
|
107
|
+
Deprecated 💨:
|
108
|
+
- Obsolete contact screen
|
109
|
+
```
|
110
|
+
|
111
|
+
Example of use:
|
112
|
+
``` ruby
|
113
|
+
changelog = read_changelog # Read changelog
|
114
|
+
pilot(changelog: changelog) # Send binary and changelog to TestFlight
|
115
|
+
emojified_changelog = emojify_changelog
|
116
|
+
slack(message: "Hey team, we have a new build for you, which includes the following: #{emojified_changelog}")
|
117
|
+
|
118
|
+
```
|
119
|
+
|
120
|
+
*NOTE*: do not send emojified changelog to iTunes Connect as it cannot handle emojies.
|
121
|
+
|
59
122
|
## Example
|
60
123
|
As a developer you have to **remember to keep your CHANGELOG.md up-to-date** with whatever features, bug fixes etc. your repo contains and let [`fastlane`](https://fastlane.tools) do the rest.
|
61
124
|
|
@@ -0,0 +1,86 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
module SharedValues
|
4
|
+
EMOJIFY_CHANGELOG_CONTENT = :EMOJIFY_CHANGELOG_CONTENT
|
5
|
+
end
|
6
|
+
|
7
|
+
class EmojifyChangelogAction < Action
|
8
|
+
SUBSECTION_IDENTIFIERS = ['Added', 'Changed', 'Fixed', 'Removed', 'Work In Progress', 'Security', 'Deprecated']
|
9
|
+
|
10
|
+
def self.run(params)
|
11
|
+
UI.message "Emojifying the output of read_changelog action"
|
12
|
+
|
13
|
+
read_changelog_output = lane_context[SharedValues::READ_CHANGELOG_SECTION_CONTENT]
|
14
|
+
changelog_path = lane_context[SharedValues::READ_CHANGELOG_CHANGELOG_PATH]
|
15
|
+
|
16
|
+
line_separator = Helper::ChangelogHelper.get_line_separator(changelog_path)
|
17
|
+
emojified_content = ""
|
18
|
+
|
19
|
+
# Read through read changelog output string
|
20
|
+
read_changelog_output.each_line do |line|
|
21
|
+
# Remove leading or trailing whitespaces
|
22
|
+
stripped = line.strip
|
23
|
+
# Remove trailing colon (if any)
|
24
|
+
if stripped.end_with?(':')
|
25
|
+
stripped.chop!
|
26
|
+
chopped_colon = true
|
27
|
+
end
|
28
|
+
|
29
|
+
if SUBSECTION_IDENTIFIERS.include?(stripped)
|
30
|
+
emojified_string = case stripped
|
31
|
+
when 'Added' then 'Added 🎁'
|
32
|
+
when 'Changed' then 'Changed ↔️'
|
33
|
+
when 'Fixed' then 'Fixed ✅'
|
34
|
+
when 'Removed' then 'Removed 🚫'
|
35
|
+
when 'Work In Progress' then 'Work In Progress 🚧'
|
36
|
+
when 'Security' then 'Security 🔒'
|
37
|
+
when 'Deprecated' then 'Deprecated 💨'
|
38
|
+
end
|
39
|
+
|
40
|
+
# Add back trailing colon, if previously removed
|
41
|
+
if chopped_colon
|
42
|
+
emojified_string.concat(':')
|
43
|
+
end
|
44
|
+
|
45
|
+
# Add line break to the end of the string, in order to start next line on the next line
|
46
|
+
emojified_string.concat(line_separator)
|
47
|
+
|
48
|
+
# Output updated line
|
49
|
+
emojified_content.concat(emojified_string)
|
50
|
+
else
|
51
|
+
# Output updated line
|
52
|
+
emojified_content.concat(line)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
UI.success("Successfuly emojified output of read_changelog action")
|
57
|
+
|
58
|
+
Actions.lane_context[SharedValues::EMOJIFY_CHANGELOG_CONTENT] = emojified_content
|
59
|
+
end
|
60
|
+
|
61
|
+
#####################################################
|
62
|
+
# @!group Documentation
|
63
|
+
#####################################################
|
64
|
+
|
65
|
+
def self.description
|
66
|
+
"Emojifies the output of read_changelog action"
|
67
|
+
end
|
68
|
+
|
69
|
+
def self.details
|
70
|
+
"This action uses the output of read_changelog action to append an emoji to known subsections"
|
71
|
+
end
|
72
|
+
|
73
|
+
def self.available_options
|
74
|
+
[]
|
75
|
+
end
|
76
|
+
|
77
|
+
def self.authors
|
78
|
+
["pajapro"]
|
79
|
+
end
|
80
|
+
|
81
|
+
def self.is_supported?(platform)
|
82
|
+
true
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
@@ -2,6 +2,7 @@ module Fastlane
|
|
2
2
|
module Actions
|
3
3
|
module SharedValues
|
4
4
|
READ_CHANGELOG_SECTION_CONTENT = :READ_CHANGELOG_SECTION_CONTENT
|
5
|
+
READ_CHANGELOG_CHANGELOG_PATH = :READ_CHANGELOG_CHANGELOG_PATH
|
5
6
|
end
|
6
7
|
|
7
8
|
class ReadChangelogAction < Action
|
@@ -40,6 +41,7 @@ module Fastlane
|
|
40
41
|
|
41
42
|
UI.success("Finished reading #{section_identifier} section from '#{changelog_path}'") unless section_content.empty?
|
42
43
|
|
44
|
+
Actions.lane_context[SharedValues::READ_CHANGELOG_CHANGELOG_PATH] = changelog_path
|
43
45
|
Actions.lane_context[SharedValues::READ_CHANGELOG_SECTION_CONTENT] = section_content
|
44
46
|
end
|
45
47
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-changelog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Prochazka
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-12-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pry
|
@@ -100,6 +100,7 @@ executables: []
|
|
100
100
|
extensions: []
|
101
101
|
extra_rdoc_files: []
|
102
102
|
files:
|
103
|
+
- lib/fastlane/plugin/changelog/actions/emojify_changelog.rb
|
103
104
|
- lib/fastlane/plugin/changelog/actions/read_changelog.rb
|
104
105
|
- lib/fastlane/plugin/changelog/actions/stamp_changelog.rb
|
105
106
|
- lib/fastlane/plugin/changelog/actions/update_changelog.rb
|