fastlane-plugin-changelog 0.15.0 → 0.16.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 +1 -1
- data/lib/fastlane/plugin/changelog/actions/emojify_changelog.rb +1 -1
- data/lib/fastlane/plugin/changelog/actions/stamp_changelog.rb +17 -8
- data/lib/fastlane/plugin/changelog/actions/update_changelog.rb +18 -6
- data/lib/fastlane/plugin/changelog/helper/changelog_helper.rb +1 -1
- data/lib/fastlane/plugin/changelog/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 88dc3f6cc69c73c660b54513b941382eda0f8866
|
4
|
+
data.tar.gz: bc40d6fe17cebb7a3ae63ffac3a2fe1f8a9a9a12
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 691abf1f00864a292359498499cf6af7b1fb308373f268ba7ac440e04ef73016af2ccb575190fa5b7c294c549be53e4806790a97809778d233cd65814e166033
|
7
|
+
data.tar.gz: 5ee732505ba076fd8bff381ade7e0ff6041f78edad5cb9a2160aca477e1c2d241102b07029086e65c51fc611f09afdd5dc7e6ae35cede277195bca694583d745
|
data/README.md
CHANGED
@@ -14,7 +14,7 @@ fastlane add_plugin changelog
|
|
14
14
|
|
15
15
|
This plugin is inspired by and based on [Keep a CHANGELOG](http://keepachangelog.com/) project. [Keep a CHANGELOG](http://keepachangelog.com/) proposes a standardised format for keeping change log of your project repository in `CHANGELOG.md` file. This file contains a curated, chronologically ordered list of notable changes for each version of a project in human readable format.
|
16
16
|
|
17
|
-
Since [Keep a CHANGELOG](http://keepachangelog.com/) project proposes a well-defined structure with _sections_ (e.g.: `[Unreleased]`, `0.3.0]`) and _subsections_ (`Added`, `Changed`, `Deprecated`, `Removed`, `Fixed`, `Security`) it opens up an opportunity to automate reading from/writing to `CHANGELOG.md` with [`fastlane`](https://fastlane.tools).
|
17
|
+
Since [Keep a CHANGELOG](http://keepachangelog.com/) project proposes a well-defined structure with _sections_ (e.g.: `[Unreleased]`, `[0.3.0]`) and _subsections_ (`Added`, `Changed`, `Deprecated`, `Removed`, `Fixed`, `Security`) it opens up an opportunity to automate reading from/writing to `CHANGELOG.md` with [`fastlane`](https://fastlane.tools).
|
18
18
|
|
19
19
|
## Actions
|
20
20
|
`fastlane-plugin-changelog` consists of 3 actions enabling you to manipulate `CHANGELOG.md` from [`fastlane`](https://fastlane.tools).
|
@@ -57,7 +57,7 @@ module Fastlane
|
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
|
-
UI.success("
|
60
|
+
UI.success("Successfully emojified output of read_changelog action")
|
61
61
|
|
62
62
|
Actions.lane_context[SharedValues::EMOJIFY_CHANGELOG_CONTENT] = emojified_content
|
63
63
|
end
|
@@ -14,20 +14,22 @@ module Fastlane
|
|
14
14
|
UI.important("WARNING: No changes in [Unreleased] section to stamp!")
|
15
15
|
else
|
16
16
|
section_identifier = params[:section_identifier] unless params[:section_identifier].to_s.empty?
|
17
|
-
|
17
|
+
should_stamp_date = params[:should_stamp_date]
|
18
|
+
stamp_datetime_format = params[:stamp_datetime_format]
|
18
19
|
git_tag = params[:git_tag]
|
19
20
|
placeholder_line = params[:placeholder_line]
|
20
21
|
|
21
|
-
stamp(changelog_path, section_identifier,
|
22
|
+
stamp(changelog_path, section_identifier, should_stamp_date, stamp_datetime_format, git_tag, placeholder_line)
|
22
23
|
end
|
23
24
|
end
|
24
25
|
|
25
|
-
def self.stamp(changelog_path, section_identifier,
|
26
|
+
def self.stamp(changelog_path, section_identifier, should_stamp_date, stamp_datetime_format, git_tag, placeholder_line)
|
26
27
|
# 1. Update [Unreleased] section with given identifier
|
27
28
|
Actions::UpdateChangelogAction.run(changelog_path: changelog_path,
|
28
29
|
section_identifier: UNRELEASED_IDENTIFIER,
|
29
30
|
updated_section_identifier: section_identifier,
|
30
|
-
|
31
|
+
should_append_date: should_stamp_date,
|
32
|
+
append_datetime_format: stamp_datetime_format,
|
31
33
|
excluded_placeholder_line: placeholder_line)
|
32
34
|
|
33
35
|
file_content = ""
|
@@ -101,7 +103,7 @@ module Fastlane
|
|
101
103
|
changelog = File.open(changelog_path, "w")
|
102
104
|
changelog.puts(file_content)
|
103
105
|
changelog.close
|
104
|
-
UI.success("
|
106
|
+
UI.success("Successfully stamped #{section_identifier} in #{changelog_path}")
|
105
107
|
end
|
106
108
|
|
107
109
|
#####################################################
|
@@ -129,10 +131,17 @@ module Fastlane
|
|
129
131
|
env_name: "FL_STAMP_CHANGELOG_SECTION_IDENTIFIER",
|
130
132
|
description: "The unique section identifier to stamp the [Unreleased] section with",
|
131
133
|
is_string: true),
|
132
|
-
FastlaneCore::ConfigItem.new(key: :
|
133
|
-
env_name: "
|
134
|
-
description: "Specifies whether the current date should be
|
134
|
+
FastlaneCore::ConfigItem.new(key: :should_stamp_date,
|
135
|
+
env_name: "FL_STAMP_CHANGELOG_SHOULD_STAMP_DATE",
|
136
|
+
description: "Specifies whether the current date as per the stamp_datetime_format should be stamped to the section identifier",
|
135
137
|
default_value: true,
|
138
|
+
is_string: false,
|
139
|
+
optional: true),
|
140
|
+
FastlaneCore::ConfigItem.new(key: :stamp_datetime_format,
|
141
|
+
env_name: "FL_STAMP_CHANGELOG_DATETIME_FORMAT",
|
142
|
+
description: "The strftime format string to use for the date in the stamped section",
|
143
|
+
default_value: '%FZ',
|
144
|
+
is_string: true,
|
136
145
|
optional: true),
|
137
146
|
FastlaneCore::ConfigItem.new(key: :git_tag,
|
138
147
|
env_name: "FL_STAMP_CHANGELOG_GIT_TAG",
|
@@ -48,8 +48,14 @@ module Fastlane
|
|
48
48
|
line_old = line.dup
|
49
49
|
line.sub!(section_name, new_section_identifier)
|
50
50
|
|
51
|
-
|
52
|
-
|
51
|
+
should_append_date = params[:should_append_date]
|
52
|
+
|
53
|
+
if should_append_date
|
54
|
+
append_datetime_format = params[:append_datetime_format]
|
55
|
+
|
56
|
+
now = Time.now.utc.strftime(append_datetime_format)
|
57
|
+
ENV["FL_UPDATE_APPEND_DATETIME_VAL"] = now
|
58
|
+
|
53
59
|
line.concat(" - " + now)
|
54
60
|
line.delete!(line_separator) # remove line break, because concatenation adds line break between section identifer & date
|
55
61
|
line.concat(line_separator) # add line break to the end of the string, in order to start next line on the next line
|
@@ -72,7 +78,7 @@ module Fastlane
|
|
72
78
|
changelog = File.open(changelog_path, "w")
|
73
79
|
changelog.puts(file_content)
|
74
80
|
changelog.close
|
75
|
-
UI.success("
|
81
|
+
UI.success("Successfully updated #{changelog_path}")
|
76
82
|
end
|
77
83
|
|
78
84
|
def self.is_section_line(line)
|
@@ -114,12 +120,18 @@ module Fastlane
|
|
114
120
|
description: "The updated unique section identifier (without square brackets)",
|
115
121
|
is_string: true,
|
116
122
|
optional: true),
|
117
|
-
FastlaneCore::ConfigItem.new(key: :
|
118
|
-
env_name: "
|
119
|
-
description: "
|
123
|
+
FastlaneCore::ConfigItem.new(key: :should_append_date,
|
124
|
+
env_name: "FL_UPDATE_CHANGELOG_SHOULD_APPEND_DATE",
|
125
|
+
description: "Specifies whether the current date as per the append_datetime_format should be appended to section identifier",
|
120
126
|
default_value: true,
|
121
127
|
is_string: false,
|
122
128
|
optional: true),
|
129
|
+
FastlaneCore::ConfigItem.new(key: :append_datetime_format,
|
130
|
+
env_name: "FL_UPDATE_CHANGELOG_APPEND_DATETIME_FORMAT",
|
131
|
+
description: "The strftime format string to use for the date after the section identifier",
|
132
|
+
default_value: '%FZ',
|
133
|
+
is_string: true,
|
134
|
+
optional: true),
|
123
135
|
FastlaneCore::ConfigItem.new(key: :excluded_placeholder_line,
|
124
136
|
env_name: "FL_UPDATE_CHANGELOG_EXCLUDED_PLACEHOLDER_LINE",
|
125
137
|
description: "Placeholder string to be ignored in updated section",
|
@@ -65,7 +65,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
|
65
65
|
# Writes given content to CHANGELOG.md in project root
|
66
66
|
def self.write_to_changelog(changelog)
|
67
67
|
File.open(CHANGELOG_PATH, 'w') { |f| f.write(changelog) }
|
68
|
-
FastlaneCore::UI.success('
|
68
|
+
FastlaneCore::UI.success('Successfully created CHANGELOG.md')
|
69
69
|
end
|
70
70
|
|
71
71
|
def self.get_line_separator(file_path)
|
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.16.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:
|
11
|
+
date: 2021-03-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -129,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
129
129
|
version: '0'
|
130
130
|
requirements: []
|
131
131
|
rubyforge_project:
|
132
|
-
rubygems_version: 2.
|
132
|
+
rubygems_version: 2.6.13
|
133
133
|
signing_key:
|
134
134
|
specification_version: 4
|
135
135
|
summary: Automate changes to your project CHANGELOG.md
|