fastlane-plugin-write_changelog_from_commits 0.1.0 → 3.0.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
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5707d97c28c877e78013eb1b8e5bf6757e064f6bf5d77e326a8abb1f052ed4a6
|
4
|
+
data.tar.gz: 24ca778219cfd443a9ae03fcfd28fd82e62f97787899c2a1ad453121635b5691
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 10517b260337dc51802a33db747bcd9edcceecf79528b049ef6ec96843ade82c2e12c92690739b17cd4d1cb0cdc9c4054f89950f00c51605e2feeec2df6663d1
|
7
|
+
data.tar.gz: 243b911308f277f9292ee14ed08d3728aee6b160768f2370d4c55ee7e1d6ea33135824860a131bb4f5ead13d3ac156e3a23913924470d10a2ca678a04a97ef62
|
data/lib/fastlane/plugin/write_changelog_from_commits/actions/write_changelog_from_commits_action.rb
CHANGED
@@ -1,19 +1,21 @@
|
|
1
|
-
require
|
2
|
-
require_relative
|
1
|
+
require "fastlane/action"
|
2
|
+
require_relative "../helper/write_changelog_from_commits_helper"
|
3
3
|
|
4
4
|
module Fastlane
|
5
5
|
module Actions
|
6
6
|
class WriteChangelogFromCommitsAction < Action
|
7
|
-
OTHER_SECTION = "Other"
|
8
|
-
|
9
7
|
def self.run(params)
|
8
|
+
if params[:additional_section_name].nil? && params[:commit_prefixes].nil?
|
9
|
+
raise "Please provide either 'additional_section_name' or 'commit_prefixes' to action"
|
10
|
+
end
|
11
|
+
|
10
12
|
from = Actions.last_git_tag_name
|
11
13
|
UI.verbose("Found the last Git tag: #{from}")
|
12
|
-
to =
|
14
|
+
to = "HEAD"
|
13
15
|
|
14
16
|
if params[:path].nil?
|
15
17
|
UI.message("No path provided, using default at '/'")
|
16
|
-
params[:path] =
|
18
|
+
params[:path] = "./" unless params[:path]
|
17
19
|
end
|
18
20
|
|
19
21
|
params[:commit_prefixes] ||= []
|
@@ -23,7 +25,7 @@ module Fastlane
|
|
23
25
|
changelog = changelog.gsub("\n\n", "\n") if changelog # as there are duplicate newlines
|
24
26
|
raise "No logs found since last tag" if changelog.strip.empty?
|
25
27
|
|
26
|
-
raw_release_notes = create_raw_release_notes(changelog, params[:commit_prefixes])
|
28
|
+
raw_release_notes = create_raw_release_notes(changelog, params[:commit_prefixes], params[:additional_section_name])
|
27
29
|
|
28
30
|
release_notes = create_release_notes(raw_release_notes)
|
29
31
|
Actions.lane_context[SharedValues::FL_CHANGELOG] = release_notes
|
@@ -32,7 +34,7 @@ module Fastlane
|
|
32
34
|
end
|
33
35
|
|
34
36
|
if params[:version_code]
|
35
|
-
write_release_notes(release_notes, params[:version_code], params[:changelog_dir])
|
37
|
+
write_release_notes(release_notes, params[:version_code], params[:changelog_dir]) unless params[:read_only]
|
36
38
|
else
|
37
39
|
UI.message("No version code provided, so could not write file")
|
38
40
|
end
|
@@ -40,19 +42,21 @@ module Fastlane
|
|
40
42
|
end
|
41
43
|
end
|
42
44
|
|
43
|
-
def self.create_raw_release_notes(changelog, commit_prefixes)
|
45
|
+
def self.create_raw_release_notes(changelog, commit_prefixes, additional_section_name)
|
44
46
|
raw_release_notes = commit_prefixes.to_h { |p| [p.capitalize, []] }
|
45
|
-
raw_release_notes[
|
47
|
+
raw_release_notes[additional_section_name.capitalize] = [] if additional_section_name
|
46
48
|
changelog.each_line do |line|
|
47
49
|
section_exists = false
|
48
50
|
commit_prefixes.each do |prefix|
|
49
51
|
next unless line.downcase.start_with?(prefix.downcase)
|
50
52
|
|
51
|
-
raw_release_notes[prefix.capitalize] << line.slice(prefix.length..line.length).strip
|
53
|
+
raw_release_notes[prefix.capitalize] << line.slice(prefix.length..line.length).strip.capitalize
|
52
54
|
section_exists = true
|
53
55
|
break
|
54
56
|
end
|
55
|
-
|
57
|
+
if additional_section_name && !section_exists
|
58
|
+
raw_release_notes[additional_section_name.capitalize] << line.strip.capitalize
|
59
|
+
end
|
56
60
|
end
|
57
61
|
raw_release_notes
|
58
62
|
end
|
@@ -95,38 +99,52 @@ module Fastlane
|
|
95
99
|
[
|
96
100
|
FastlaneCore::ConfigItem.new(
|
97
101
|
key: :path,
|
98
|
-
env_name:
|
99
|
-
description:
|
102
|
+
env_name: "WRITE_CHANGELOG_FROM_COMMITS_PATH",
|
103
|
+
description: "Path of the git repository",
|
100
104
|
optional: true,
|
101
|
-
default_value:
|
105
|
+
default_value: "./",
|
102
106
|
),
|
103
107
|
FastlaneCore::ConfigItem.new(
|
104
108
|
key: :quiet,
|
105
|
-
env_name:
|
106
|
-
description:
|
109
|
+
env_name: "WRITE_CHANGELOG_FROM_COMMITS_TAG_QUIET",
|
110
|
+
description: "Whether or not to disable changelog output",
|
107
111
|
optional: true,
|
108
112
|
default_value: false,
|
109
|
-
is_string: false
|
113
|
+
is_string: false,
|
110
114
|
),
|
111
115
|
FastlaneCore::ConfigItem.new(
|
112
116
|
key: :changelog_dir,
|
113
|
-
env_name:
|
114
|
-
description:
|
115
|
-
optional: false
|
117
|
+
env_name: "WRITE_CHANGELOG_FROM_COMMITS_CHANGELOG_DIR",
|
118
|
+
description: "Path to write new changelogs",
|
119
|
+
optional: false,
|
116
120
|
),
|
117
121
|
FastlaneCore::ConfigItem.new(
|
118
122
|
key: :commit_prefixes,
|
119
|
-
env_name: "
|
120
|
-
description: "List of prefixes to group in the changelog",
|
123
|
+
env_name: "WRITE_CHANGELOG_FROM_COMMITS_PREFIXES",
|
124
|
+
description: "List of prefixes to group in the changelog (omit to place all lines under additional_section_name)",
|
121
125
|
type: Array,
|
122
|
-
optional: true
|
126
|
+
optional: true,
|
127
|
+
),
|
128
|
+
FastlaneCore::ConfigItem.new(
|
129
|
+
key: :additional_section_name,
|
130
|
+
env_name: "WRITE_CHANGELOG_FROM_COMMITS_ADDITIONAL_SECTION",
|
131
|
+
description: "Section to contain all other commit lines (omit if you only want to log lines beginning with prefixes)",
|
132
|
+
optional: true,
|
123
133
|
),
|
124
134
|
FastlaneCore::ConfigItem.new(
|
125
135
|
key: :version_code,
|
126
|
-
env_name: "
|
136
|
+
env_name: "WRITE_CHANGELOG_FROM_COMMITS_VERSION_CODE",
|
127
137
|
description: "Version code used to create file",
|
128
|
-
optional: true
|
129
|
-
)
|
138
|
+
optional: true,
|
139
|
+
),
|
140
|
+
FastlaneCore::ConfigItem.new(
|
141
|
+
key: :read_only,
|
142
|
+
env_name: "WRITE_CHANGELOG_FROM_COMMITS_READ_ONLY",
|
143
|
+
description: "If true will simply return the changelog rather than writing it",
|
144
|
+
optional: true,
|
145
|
+
default_value: false,
|
146
|
+
is_string: false,
|
147
|
+
),
|
130
148
|
]
|
131
149
|
end
|
132
150
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-write_changelog_from_commits
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lewis Bright
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-04-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pry
|
@@ -84,16 +84,16 @@ dependencies:
|
|
84
84
|
name: rubocop
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0
|
89
|
+
version: '0'
|
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: 0
|
96
|
+
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rubocop-require_tools
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,6 +108,34 @@ dependencies:
|
|
108
108
|
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rubocop-rake
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rubocop-rspec
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
111
139
|
- !ruby/object:Gem::Dependency
|
112
140
|
name: simplecov
|
113
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,14 +156,14 @@ dependencies:
|
|
128
156
|
requirements:
|
129
157
|
- - ">="
|
130
158
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
159
|
+
version: '0'
|
132
160
|
type: :development
|
133
161
|
prerelease: false
|
134
162
|
version_requirements: !ruby/object:Gem::Requirement
|
135
163
|
requirements:
|
136
164
|
- - ">="
|
137
165
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
166
|
+
version: '0'
|
139
167
|
description:
|
140
168
|
email: lewis_bright@yahoo.com
|
141
169
|
executables: []
|