fastlane-plugin-changelog 0.15.0 → 0.16.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 +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
|