detroit-vclog 0.1.0 → 0.2.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.
- data/.ruby +13 -10
- data/{GPL3.txt → LICENSE.txt} +0 -0
- data/lib/detroit-vclog.rb +350 -0
- data/man/detroit-vclog.5 +124 -0
- data/man/detroit-vclog.5.html +173 -0
- data/man/detroit-vclog.5.ronn +93 -0
- metadata +16 -11
data/.ruby
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
---
|
2
|
+
source:
|
3
|
+
- meta
|
2
4
|
authors:
|
3
5
|
- name: T. Sawyer
|
4
6
|
email: transfire@gmail.com
|
@@ -6,28 +8,29 @@ copyrights:
|
|
6
8
|
- holder: Thomas Sawyer
|
7
9
|
year: '2011'
|
8
10
|
license: GPL-3
|
9
|
-
replacements: []
|
10
|
-
conflicts: []
|
11
11
|
requirements:
|
12
12
|
- name: detroit
|
13
|
+
version: 0.3.0+
|
13
14
|
- name: vclog
|
14
15
|
dependencies: []
|
16
|
+
alternatives: []
|
17
|
+
conflicts: []
|
15
18
|
repositories: []
|
16
19
|
resources:
|
17
20
|
home: http://detroit.github.com/
|
18
21
|
code: http://github.com/detroit/detroit-vclog
|
19
22
|
mail: http://groups.google.com/group/rubyworks-mailinglist
|
23
|
+
extra: {}
|
20
24
|
load_path:
|
21
25
|
- lib
|
22
|
-
extra: {}
|
23
26
|
revision: 0
|
24
|
-
|
25
|
-
- Profile
|
26
|
-
alternatives: []
|
27
|
-
version: 0.1.0
|
28
|
-
date: '2011-10-16'
|
29
|
-
name: detroit-vclog
|
30
|
-
title: Detroit VCLog
|
27
|
+
created: '2011-10-16'
|
31
28
|
summary: VCLog plugin for Detroit
|
29
|
+
title: Detroit VCLog
|
30
|
+
version: 0.2.0
|
31
|
+
name: detroit-vclog
|
32
|
+
suite: detroit
|
32
33
|
description: VCLog plugin for Detroit build system. This plugin generates changelog
|
33
34
|
and/or history documents for a project during the document phase.
|
35
|
+
organization: rubyworks
|
36
|
+
date: '2012-04-01'
|
data/{GPL3.txt → LICENSE.txt}
RENAMED
File without changes
|
@@ -0,0 +1,350 @@
|
|
1
|
+
require 'detroit/tool'
|
2
|
+
|
3
|
+
module Detroit
|
4
|
+
|
5
|
+
# VCLog tool.
|
6
|
+
def VClog(options={})
|
7
|
+
VClog.new(options)
|
8
|
+
end
|
9
|
+
|
10
|
+
# VClog service generates changelogs from
|
11
|
+
# SCM commit messages.
|
12
|
+
#
|
13
|
+
# TODO: Support multiple formats in one pass.
|
14
|
+
class VClog < Tool
|
15
|
+
|
16
|
+
#
|
17
|
+
VALID_FORMATS = /^(html|yaml|json|xml|rdoc|md|markdown|gnu|txt|atom|rss|ansi)$/
|
18
|
+
|
19
|
+
#
|
20
|
+
VALID_TYPES = /^(log|rel|history|changelog)$/
|
21
|
+
|
22
|
+
|
23
|
+
# A T T R I B U T E S
|
24
|
+
|
25
|
+
# Current version of project.
|
26
|
+
attr_accessor :version
|
27
|
+
|
28
|
+
# Changelog layout type (+changelog+ or +history+). Default is +changelog+.
|
29
|
+
attr_reader :type
|
30
|
+
|
31
|
+
# Output is either a file name with a clear extension to infer type
|
32
|
+
# or a list of such file names, or a hash mapping file name to type.
|
33
|
+
#
|
34
|
+
# output: NOTES.rdoc
|
35
|
+
#
|
36
|
+
# output:
|
37
|
+
# - NOTES.rdoc
|
38
|
+
# - site/notes.html
|
39
|
+
#
|
40
|
+
# output:
|
41
|
+
# NOTES: markdown
|
42
|
+
# site/notes.html: html
|
43
|
+
#
|
44
|
+
# Recognized formats include `html`, `xml`, `atom`, `rss`, `json`, `yaml`,
|
45
|
+
# `rdoc`, `markdown` and `md`, `ansi`, `gnu` and `txt`.
|
46
|
+
attr_accessor :output
|
47
|
+
|
48
|
+
# Show revision/reference numbers (true/false)?
|
49
|
+
attr_accessor :id
|
50
|
+
|
51
|
+
# Some formats, such as +rdoc+, use a title field. Defaults to project title.
|
52
|
+
attr_accessor :title
|
53
|
+
|
54
|
+
# Some formats can reference an optional stylesheet (namely +xml+ and +html+).
|
55
|
+
attr_accessor :style
|
56
|
+
|
57
|
+
# Minimum change level to include.
|
58
|
+
attr_accessor :level
|
59
|
+
|
60
|
+
# Divide messages into change points (true/false)?
|
61
|
+
attr_accessor :point
|
62
|
+
|
63
|
+
# Reduced detail?
|
64
|
+
attr_accessor :summary
|
65
|
+
|
66
|
+
# Set output type.
|
67
|
+
def type=(f)
|
68
|
+
type = f.to_s.downcase
|
69
|
+
if type !~ VALID_TYPES
|
70
|
+
abort "Invalid vclog type - #{type}"
|
71
|
+
end
|
72
|
+
@type = type
|
73
|
+
end
|
74
|
+
|
75
|
+
|
76
|
+
# A S S E M B L Y M E T H O D S
|
77
|
+
|
78
|
+
#
|
79
|
+
def assemble?(station, options={})
|
80
|
+
case station
|
81
|
+
when :document then true
|
82
|
+
when :reset then true
|
83
|
+
when :purge then true
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
#
|
88
|
+
def assemble(station, options={})
|
89
|
+
case station
|
90
|
+
when :document then document
|
91
|
+
when :reset then reset
|
92
|
+
when :purge then purge
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
|
97
|
+
# S E R V I C E M E T H O D S
|
98
|
+
|
99
|
+
# TODO: Check the output files and see if they are older than
|
100
|
+
# the current change log.
|
101
|
+
#
|
102
|
+
# @return [Boolean] whether output is up-to-date
|
103
|
+
def current?
|
104
|
+
false
|
105
|
+
#output_mapping.each do |file, format|
|
106
|
+
# return false if outofdate?(file, *dnote_session.files)
|
107
|
+
#else
|
108
|
+
# "VCLogs are current."
|
109
|
+
#end
|
110
|
+
end
|
111
|
+
|
112
|
+
# Generate the log.
|
113
|
+
def document
|
114
|
+
output_mapping.each do |file, format, type|
|
115
|
+
next unless verify_format(format, file)
|
116
|
+
#file = File.join(output, fname)
|
117
|
+
trace "vclog --#{type} -f #{format} >> #{file}"
|
118
|
+
if dryrun?
|
119
|
+
false # file hasn't changed
|
120
|
+
else
|
121
|
+
changed = save(file, format, type)
|
122
|
+
if changed
|
123
|
+
report "Updated " + relative_from_root(file)
|
124
|
+
else
|
125
|
+
report "Current " + relative_from_root(file)
|
126
|
+
end
|
127
|
+
changed
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
# Save changelog/history to +output+ file.
|
133
|
+
def save(file, format, type)
|
134
|
+
text = render(format, type)
|
135
|
+
if File.exist?(file)
|
136
|
+
return false if File.read(file) == text
|
137
|
+
else
|
138
|
+
dir = File.dirname(file)
|
139
|
+
mkdir_p(dir) unless File.exist?(dir)
|
140
|
+
end
|
141
|
+
File.open(file, 'w'){ |f| f << text }
|
142
|
+
return true
|
143
|
+
end
|
144
|
+
|
145
|
+
# Mark the output directory as out of date.
|
146
|
+
def reset
|
147
|
+
output_mapping.each do |file, format, type|
|
148
|
+
if File.exist?(file)
|
149
|
+
utime(0,0,file)
|
150
|
+
report "Reset #{file}."
|
151
|
+
end
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
155
|
+
# TODO: anything to remove ?
|
156
|
+
def clean
|
157
|
+
end
|
158
|
+
|
159
|
+
# Remove output directory output directory.
|
160
|
+
def purge
|
161
|
+
output_mapping.each do |file, format, type|
|
162
|
+
if File.exist?(file)
|
163
|
+
rm(file)
|
164
|
+
report "Removed #{file}"
|
165
|
+
end
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
# Access to version control system.
|
170
|
+
def repo
|
171
|
+
@repo ||= VCLog::Repo.new(project.root.to_s)
|
172
|
+
end
|
173
|
+
|
174
|
+
# Convert log to desired format.
|
175
|
+
def render(format, doctype)
|
176
|
+
doctype = type if doctype.nil?
|
177
|
+
doctype = 'history' if doctype == 'rel'
|
178
|
+
doctype = 'changelog' if doctype == 'log'
|
179
|
+
|
180
|
+
options = {
|
181
|
+
:type => doctype,
|
182
|
+
:format => format,
|
183
|
+
:stylesheet => style,
|
184
|
+
:level => level,
|
185
|
+
:point => point,
|
186
|
+
:is => id,
|
187
|
+
:version => version,
|
188
|
+
:title => title,
|
189
|
+
:summary => summary
|
190
|
+
}
|
191
|
+
|
192
|
+
repo.report(options)
|
193
|
+
end
|
194
|
+
|
195
|
+
private
|
196
|
+
|
197
|
+
#
|
198
|
+
def verify_format(format, file)
|
199
|
+
if format !~ VALID_FORMATS
|
200
|
+
report "Invalid format for `#{file}' - `#{fmt}'." # report_error
|
201
|
+
false
|
202
|
+
else
|
203
|
+
true
|
204
|
+
end
|
205
|
+
end
|
206
|
+
|
207
|
+
# Convert output into a list of [file, format, type].
|
208
|
+
#++
|
209
|
+
# TODO: apply_naming_policy ?
|
210
|
+
#--
|
211
|
+
def output_mapping
|
212
|
+
@output_mapping ||= (
|
213
|
+
list = []
|
214
|
+
case output
|
215
|
+
when Array
|
216
|
+
output.each do |path|
|
217
|
+
list << [path, infer_format(path), infer_type(path)]
|
218
|
+
end
|
219
|
+
when String
|
220
|
+
list << [output, infer_format(output), infer_type(output)]
|
221
|
+
when Hash
|
222
|
+
output.each do |path, format|
|
223
|
+
list << [path, format, infer_type(path)]
|
224
|
+
end
|
225
|
+
end
|
226
|
+
list
|
227
|
+
)
|
228
|
+
end
|
229
|
+
|
230
|
+
#
|
231
|
+
def infer_format(file)
|
232
|
+
fmt = File.extname(file).sub('.','')
|
233
|
+
fmt = DEFAULT_FORMAT if type.empty?
|
234
|
+
fmt
|
235
|
+
end
|
236
|
+
|
237
|
+
#
|
238
|
+
def infer_type(file)
|
239
|
+
case file
|
240
|
+
when /history/i
|
241
|
+
'history'
|
242
|
+
when /log/
|
243
|
+
'changelog'
|
244
|
+
else
|
245
|
+
type
|
246
|
+
end
|
247
|
+
end
|
248
|
+
|
249
|
+
#
|
250
|
+
def relative_from_root(path)
|
251
|
+
begin
|
252
|
+
Pathname.new(path).relative_path_from(project.root)
|
253
|
+
rescue
|
254
|
+
path
|
255
|
+
end
|
256
|
+
end
|
257
|
+
|
258
|
+
#
|
259
|
+
def initialize_requires
|
260
|
+
require 'vclog'
|
261
|
+
end
|
262
|
+
|
263
|
+
#
|
264
|
+
def initialize_defaults
|
265
|
+
@version = metadata.version
|
266
|
+
@title = metadata.title
|
267
|
+
@output = project.log + 'changelog.atom'
|
268
|
+
@type = 'log'
|
269
|
+
@level = 0
|
270
|
+
@summary = false
|
271
|
+
end
|
272
|
+
|
273
|
+
## Returns changelog or history depending on type selection.
|
274
|
+
#def log
|
275
|
+
# @log ||= (
|
276
|
+
# case type
|
277
|
+
# when 'log', 'changelog'
|
278
|
+
# log = repo.changelog
|
279
|
+
# when 'rel', 'history'
|
280
|
+
# log = repo.history(:title=>title, :version=>version)
|
281
|
+
# else
|
282
|
+
# log = repo.changelog
|
283
|
+
# end
|
284
|
+
# )
|
285
|
+
#end
|
286
|
+
|
287
|
+
#def vclog_config
|
288
|
+
# @vclog_config ||= (
|
289
|
+
# vcf = VCLog::Config.new(project.root.to_s)
|
290
|
+
# vcf.level = level
|
291
|
+
# vcf
|
292
|
+
# )
|
293
|
+
#end
|
294
|
+
|
295
|
+
=begin
|
296
|
+
# Convert formats into a hash of `format => fname`.
|
297
|
+
def formats_mapping(formats=nil)
|
298
|
+
formats ||= self.formats
|
299
|
+
case formats
|
300
|
+
when String
|
301
|
+
formats_mapping([formats])
|
302
|
+
when Array
|
303
|
+
h = {}
|
304
|
+
formats.each do |format|
|
305
|
+
h[format] = infer_output_fname(format, type)
|
306
|
+
end
|
307
|
+
h
|
308
|
+
when Hash
|
309
|
+
formats
|
310
|
+
else
|
311
|
+
raise ArgumentError, "invalid formats field -- #{formats.inspect}"
|
312
|
+
end
|
313
|
+
end
|
314
|
+
|
315
|
+
#
|
316
|
+
def infer_output_fname(format, type)
|
317
|
+
fname = case type
|
318
|
+
when 'rel', 'history'
|
319
|
+
'history'
|
320
|
+
else
|
321
|
+
'changelog'
|
322
|
+
end
|
323
|
+
#apply_naming_policy(fname, log_format.downcase)
|
324
|
+
ext = format_extension(format)
|
325
|
+
fname + ext
|
326
|
+
end
|
327
|
+
|
328
|
+
#
|
329
|
+
def format_extension(format)
|
330
|
+
".#{format}"
|
331
|
+
end
|
332
|
+
|
333
|
+
# #
|
334
|
+
# def valid?
|
335
|
+
# return false unless output.all?{ |x, f| f =~ VALID_FORMATS }
|
336
|
+
# return false unless type =~ VALID_TYPES
|
337
|
+
# return true
|
338
|
+
# end
|
339
|
+
|
340
|
+
=end
|
341
|
+
|
342
|
+
public
|
343
|
+
|
344
|
+
def self.man_page
|
345
|
+
File.dirname(__FILE__)+'/../man/detroit-vclog.5'
|
346
|
+
end
|
347
|
+
|
348
|
+
end
|
349
|
+
|
350
|
+
end
|
data/man/detroit-vclog.5
ADDED
@@ -0,0 +1,124 @@
|
|
1
|
+
.\" generated with Ronn/v0.7.3
|
2
|
+
.\" http://github.com/rtomayko/ronn/tree/0.7.3
|
3
|
+
.
|
4
|
+
.TH "DETROIT\-VCLOG" "5" "October 2011" "" ""
|
5
|
+
.
|
6
|
+
.SH "NAME"
|
7
|
+
\fBdetroit\-vclog\fR \- generate changelogs using vclog for detroit
|
8
|
+
.
|
9
|
+
.SH "DESCRIPTION"
|
10
|
+
The VcLog plug\-in for Detroit utilize the \fBvclog\fR command line tool to generate nicely formated changelogs and/or history documents\.
|
11
|
+
.
|
12
|
+
.SH "OPTIONS"
|
13
|
+
The following options can be used in the Detroit assembly file for defining a vclog service\.
|
14
|
+
.
|
15
|
+
.IP "\(bu" 4
|
16
|
+
\fBoutput\fR \- Output is either a file name with a clear extension to infer the file format, or a list of such file names, or a hash mapping file name to file format\. Recognized formats include \fBhtml\fR, \fBxml\fR, \fBatom\fR, \fBrss\fR, \fBjson\fR, \fByaml\fR, \fBrdoc\fR, \fBmarkdown\fR and \fBmd\fR, \fBansi\fR, \fBgnu\fR and \fBtxt\fR\. See EXAMPLES below\.
|
17
|
+
.
|
18
|
+
.IP "\(bu" 4
|
19
|
+
\fBlevel\fR \- Minimum change level to include\. VCLog categorizes commits by level\. This setting filters commits with a level lower than the figure given\.
|
20
|
+
.
|
21
|
+
.IP "\(bu" 4
|
22
|
+
\fBrev\fR \- Show revision numbers\. Default is \fBfalse\fR\.
|
23
|
+
.
|
24
|
+
.IP "\(bu" 4
|
25
|
+
\fBsummary\fR \- Show reduced detail\. Default is \fBfalse\fR\.
|
26
|
+
.
|
27
|
+
.IP "\(bu" 4
|
28
|
+
\fBtitle\fR \- Some formats, such as +rdoc+, use a title field\. Defaults to project title from project metadata\.
|
29
|
+
.
|
30
|
+
.IP "\(bu" 4
|
31
|
+
\fBversion\fR \- The current version of the project\. The default is extracted from project metadata\.
|
32
|
+
.
|
33
|
+
.IP "\(bu" 4
|
34
|
+
\fBtype\fR \- Changelog layout type can be either \fBchangelog\fR or \fBhistory\fR\. If type is not given explicitly it will be infered from the name of the output file\. Otherwise if defaults to +changelog+\.
|
35
|
+
.
|
36
|
+
.IP "\(bu" 4
|
37
|
+
\fBstyle\fR \- Use external stylesheet\. Some formats, namely \fBxml\fR and \fBhtml\fR, can use a stylesheet\. Give the location of this file reltive to the output\.
|
38
|
+
.
|
39
|
+
.IP "" 0
|
40
|
+
.
|
41
|
+
.SH "Examples:"
|
42
|
+
The simplist entry is
|
43
|
+
.
|
44
|
+
.IP "" 4
|
45
|
+
.
|
46
|
+
.nf
|
47
|
+
|
48
|
+
vclog:
|
49
|
+
output: HISTORY\.rdoc
|
50
|
+
.
|
51
|
+
.fi
|
52
|
+
.
|
53
|
+
.IP "" 0
|
54
|
+
.
|
55
|
+
.P
|
56
|
+
To produce multiple formats use a list\.
|
57
|
+
.
|
58
|
+
.IP "" 4
|
59
|
+
.
|
60
|
+
.nf
|
61
|
+
|
62
|
+
vclog:
|
63
|
+
output:
|
64
|
+
\- log/CHANGES\.md
|
65
|
+
\- log/HISTORY\.md
|
66
|
+
.
|
67
|
+
.fi
|
68
|
+
.
|
69
|
+
.IP "" 0
|
70
|
+
.
|
71
|
+
.P
|
72
|
+
If the extension is atypical use a mapping\.
|
73
|
+
.
|
74
|
+
.IP "" 4
|
75
|
+
.
|
76
|
+
.nf
|
77
|
+
|
78
|
+
vclog:
|
79
|
+
output:
|
80
|
+
HISTORY: markdown
|
81
|
+
site/history\.html: html
|
82
|
+
.
|
83
|
+
.fi
|
84
|
+
.
|
85
|
+
.IP "" 0
|
86
|
+
.
|
87
|
+
.P
|
88
|
+
A fuller example might look something like this\.
|
89
|
+
.
|
90
|
+
.IP "" 4
|
91
|
+
.
|
92
|
+
.nf
|
93
|
+
|
94
|
+
vclog:
|
95
|
+
rev: true
|
96
|
+
level: \-2
|
97
|
+
output:
|
98
|
+
\- HISTORY\.rdoc
|
99
|
+
\- CHANGELOG\.rdoc
|
100
|
+
\- site/HISTORY\.html
|
101
|
+
.
|
102
|
+
.fi
|
103
|
+
.
|
104
|
+
.IP "" 0
|
105
|
+
.
|
106
|
+
.SH "RESOURCES"
|
107
|
+
For more information:
|
108
|
+
.
|
109
|
+
.IP "\(bu" 4
|
110
|
+
API Documentation \fIhttp://rubydoc\.info/gems/detroit\-vclog\fR
|
111
|
+
.
|
112
|
+
.IP "\(bu" 4
|
113
|
+
Development Site \fIhttp://github\.com/detroit/detroit\-vclog\fR
|
114
|
+
.
|
115
|
+
.IP "" 0
|
116
|
+
.
|
117
|
+
.SH "COPYRIGHT"
|
118
|
+
Copyright (c) 2010 Thomas Sawyer, Rubyworks
|
119
|
+
.
|
120
|
+
.P
|
121
|
+
Detroit VCLog is distributable in accordance with the GPL v\.3 license\.
|
122
|
+
.
|
123
|
+
.SH "SEE ALSO"
|
124
|
+
detroit(1), vclog(1)
|
@@ -0,0 +1,173 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta http-equiv='content-type' value='text/html;charset=utf8'>
|
5
|
+
<meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'>
|
6
|
+
<title>detroit-vclog(5) - generate changelogs using vclog for detroit</title>
|
7
|
+
<style type='text/css' media='all'>
|
8
|
+
/* style: man */
|
9
|
+
body#manpage {margin:0}
|
10
|
+
.mp {max-width:100ex;padding:0 9ex 1ex 4ex}
|
11
|
+
.mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
|
12
|
+
.mp h2 {margin:10px 0 0 0}
|
13
|
+
.mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
|
14
|
+
.mp h3 {margin:0 0 0 4ex}
|
15
|
+
.mp dt {margin:0;clear:left}
|
16
|
+
.mp dt.flush {float:left;width:8ex}
|
17
|
+
.mp dd {margin:0 0 0 9ex}
|
18
|
+
.mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
|
19
|
+
.mp pre {margin-bottom:20px}
|
20
|
+
.mp pre+h2,.mp pre+h3 {margin-top:22px}
|
21
|
+
.mp h2+pre,.mp h3+pre {margin-top:5px}
|
22
|
+
.mp img {display:block;margin:auto}
|
23
|
+
.mp h1.man-title {display:none}
|
24
|
+
.mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
|
25
|
+
.mp h2 {font-size:16px;line-height:1.25}
|
26
|
+
.mp h1 {font-size:20px;line-height:2}
|
27
|
+
.mp {text-align:justify;background:#fff}
|
28
|
+
.mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
|
29
|
+
.mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
|
30
|
+
.mp u {text-decoration:underline}
|
31
|
+
.mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
|
32
|
+
.mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
|
33
|
+
.mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
|
34
|
+
.mp b.man-ref {font-weight:normal;color:#434241}
|
35
|
+
.mp pre {padding:0 4ex}
|
36
|
+
.mp pre code {font-weight:normal;color:#434241}
|
37
|
+
.mp h2+pre,h3+pre {padding-left:0}
|
38
|
+
ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
|
39
|
+
ol.man-decor {width:100%}
|
40
|
+
ol.man-decor li.tl {text-align:left}
|
41
|
+
ol.man-decor li.tc {text-align:center;letter-spacing:4px}
|
42
|
+
ol.man-decor li.tr {text-align:right;float:right}
|
43
|
+
</style>
|
44
|
+
</head>
|
45
|
+
<!--
|
46
|
+
The following styles are deprecated and will be removed at some point:
|
47
|
+
div#man, div#man ol.man, div#man ol.head, div#man ol.man.
|
48
|
+
|
49
|
+
The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
|
50
|
+
.man-navigation should be used instead.
|
51
|
+
-->
|
52
|
+
<body id='manpage'>
|
53
|
+
<div class='mp' id='man'>
|
54
|
+
|
55
|
+
<div class='man-navigation' style='display:none'>
|
56
|
+
<a href="#NAME">NAME</a>
|
57
|
+
<a href="#DESCRIPTION">DESCRIPTION</a>
|
58
|
+
<a href="#OPTIONS">OPTIONS</a>
|
59
|
+
<a href="#Examples-">Examples:</a>
|
60
|
+
<a href="#RESOURCES">RESOURCES</a>
|
61
|
+
<a href="#COPYRIGHT">COPYRIGHT</a>
|
62
|
+
<a href="#SEE-ALSO">SEE ALSO</a>
|
63
|
+
</div>
|
64
|
+
|
65
|
+
<ol class='man-decor man-head man head'>
|
66
|
+
<li class='tl'>detroit-vclog(5)</li>
|
67
|
+
<li class='tc'></li>
|
68
|
+
<li class='tr'>detroit-vclog(5)</li>
|
69
|
+
</ol>
|
70
|
+
|
71
|
+
<h2 id="NAME">NAME</h2>
|
72
|
+
<p class="man-name">
|
73
|
+
<code>detroit-vclog</code> - <span class="man-whatis">generate changelogs using vclog for detroit</span>
|
74
|
+
</p>
|
75
|
+
|
76
|
+
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
77
|
+
|
78
|
+
<p>The VcLog plug-in for Detroit utilize the <code>vclog</code> command line tool
|
79
|
+
to generate nicely formated changelogs and/or history documents.</p>
|
80
|
+
|
81
|
+
<h2 id="OPTIONS">OPTIONS</h2>
|
82
|
+
|
83
|
+
<p>The following options can be used in the Detroit assembly file
|
84
|
+
for defining a vclog service.</p>
|
85
|
+
|
86
|
+
<ul>
|
87
|
+
<li><p><code>output</code> - Output is either a file name with a clear extension to infer
|
88
|
+
the file format, or a list of such file names, or a hash mapping file name
|
89
|
+
to file format. Recognized formats include <code>html</code>, <code>xml</code>, <code>atom</code>, <code>rss</code>,
|
90
|
+
<code>json</code>, <code>yaml</code>, <code>rdoc</code>, <code>markdown</code> and <code>md</code>, <code>ansi</code>, <code>gnu</code> and <code>txt</code>.
|
91
|
+
See EXAMPLES below.</p></li>
|
92
|
+
<li><p><code>level</code> - Minimum change level to include. VCLog categorizes commits
|
93
|
+
by level. This setting filters commits with a level lower than the
|
94
|
+
figure given.</p></li>
|
95
|
+
<li><p><code>rev</code> - Show revision numbers. Default is <code>false</code>.</p></li>
|
96
|
+
<li><p><code>summary</code> - Show reduced detail. Default is <code>false</code>.</p></li>
|
97
|
+
<li><p><code>title</code> - Some formats, such as +rdoc+, use a title field.
|
98
|
+
Defaults to project title from project metadata.</p></li>
|
99
|
+
<li><p><code>version</code> - The current version of the project. The default is extracted
|
100
|
+
from project metadata.</p></li>
|
101
|
+
<li><p><code>type</code> - Changelog layout type can be either <code>changelog</code> or <code>history</code>.
|
102
|
+
If type is not given explicitly it will be infered from the name of
|
103
|
+
the output file. Otherwise if defaults to +changelog+.</p></li>
|
104
|
+
<li><p><code>style</code> - Use external stylesheet. Some formats, namely <code>xml</code> and <code>html</code>,
|
105
|
+
can use a stylesheet. Give the location of this file reltive to the output.</p></li>
|
106
|
+
</ul>
|
107
|
+
|
108
|
+
|
109
|
+
<h2 id="Examples-">Examples:</h2>
|
110
|
+
|
111
|
+
<p>The simplist entry is</p>
|
112
|
+
|
113
|
+
<pre><code>vclog:
|
114
|
+
output: HISTORY.rdoc
|
115
|
+
</code></pre>
|
116
|
+
|
117
|
+
<p>To produce multiple formats use a list.</p>
|
118
|
+
|
119
|
+
<pre><code>vclog:
|
120
|
+
output:
|
121
|
+
- log/CHANGES.md
|
122
|
+
- log/HISTORY.md
|
123
|
+
</code></pre>
|
124
|
+
|
125
|
+
<p>If the extension is atypical use a mapping.</p>
|
126
|
+
|
127
|
+
<pre><code> vclog:
|
128
|
+
output:
|
129
|
+
HISTORY: markdown
|
130
|
+
site/history.html: html
|
131
|
+
</code></pre>
|
132
|
+
|
133
|
+
<p>A fuller example might look something like this.</p>
|
134
|
+
|
135
|
+
<pre><code> vclog:
|
136
|
+
rev: true
|
137
|
+
level: -2
|
138
|
+
output:
|
139
|
+
- HISTORY.rdoc
|
140
|
+
- CHANGELOG.rdoc
|
141
|
+
- site/HISTORY.html
|
142
|
+
</code></pre>
|
143
|
+
|
144
|
+
<h2 id="RESOURCES">RESOURCES</h2>
|
145
|
+
|
146
|
+
<p>For more information:</p>
|
147
|
+
|
148
|
+
<ul>
|
149
|
+
<li><p><a href="http://rubydoc.info/gems/detroit-vclog">API Documentation</a></p></li>
|
150
|
+
<li><p><a href="http://github.com/detroit/detroit-vclog">Development Site</a></p></li>
|
151
|
+
</ul>
|
152
|
+
|
153
|
+
|
154
|
+
<h2 id="COPYRIGHT">COPYRIGHT</h2>
|
155
|
+
|
156
|
+
<p>Copyright (c) 2010 Thomas Sawyer, Rubyworks</p>
|
157
|
+
|
158
|
+
<p>Detroit VCLog is distributable in accordance with the GPL v.3 license.</p>
|
159
|
+
|
160
|
+
<h2 id="SEE-ALSO">SEE ALSO</h2>
|
161
|
+
|
162
|
+
<p><span class="man-ref">detroit<span class="s">(1)</span></span>, <span class="man-ref">vclog<span class="s">(1)</span></span></p>
|
163
|
+
|
164
|
+
|
165
|
+
<ol class='man-decor man-foot man foot'>
|
166
|
+
<li class='tl'></li>
|
167
|
+
<li class='tc'>October 2011</li>
|
168
|
+
<li class='tr'>detroit-vclog(5)</li>
|
169
|
+
</ol>
|
170
|
+
|
171
|
+
</div>
|
172
|
+
</body>
|
173
|
+
</html>
|
@@ -0,0 +1,93 @@
|
|
1
|
+
detroit-vclog(5) - generate changelogs using vclog for detroit
|
2
|
+
==============================================================
|
3
|
+
|
4
|
+
## DESCRIPTION
|
5
|
+
|
6
|
+
The VCLog plug-in for Detroit utilize the `vclog` command line tool
|
7
|
+
to generate nicely formatted changelogs and/or history documents.
|
8
|
+
|
9
|
+
|
10
|
+
## OPTIONS
|
11
|
+
|
12
|
+
The following options can be used in the Detroit assembly file
|
13
|
+
for defining a vclog service.
|
14
|
+
|
15
|
+
* `output` - Output is either a file name with a clear extension to infer
|
16
|
+
the file format, or a list of such file names, or a hash mapping file name
|
17
|
+
to file format. Recognized formats include `html`, `xml`, `atom`, `rss`,
|
18
|
+
`json`, `yaml`, `rdoc`, `markdown` and `md`, `ansi`, `gnu` and `txt`.
|
19
|
+
See EXAMPLES below.
|
20
|
+
|
21
|
+
* `level` - Minimum change level to include. VCLog categorizes commits
|
22
|
+
by level. This setting filters commits with a level lower than the
|
23
|
+
figure given.
|
24
|
+
|
25
|
+
* `rev` - Show revision numbers. Default is `false`.
|
26
|
+
|
27
|
+
* `summary` - Show reduced detail. Default is `false`.
|
28
|
+
|
29
|
+
* `title` - Some formats, such as +rdoc+, use a title field.
|
30
|
+
Defaults to project title from project metadata.
|
31
|
+
|
32
|
+
* `version` - The current version of the project. The default is extracted
|
33
|
+
from project metadata.
|
34
|
+
|
35
|
+
* `type` - Changelog layout type can be either `changelog` or `history`.
|
36
|
+
If type is not given explicitly it will be inferred from the name of
|
37
|
+
the output file. Otherwise if defaults to +changelog+.
|
38
|
+
|
39
|
+
* `style` - Use external stylesheet. Some formats, namely `xml` and `html`,
|
40
|
+
can use a stylesheet. Give the location of this file relative to the output.
|
41
|
+
|
42
|
+
|
43
|
+
## Examples:
|
44
|
+
|
45
|
+
The simplest entry is
|
46
|
+
|
47
|
+
vclog:
|
48
|
+
output: HISTORY.rdoc
|
49
|
+
|
50
|
+
To produce multiple formats use a list.
|
51
|
+
|
52
|
+
vclog:
|
53
|
+
output:
|
54
|
+
- log/CHANGES.md
|
55
|
+
- log/HISTORY.md
|
56
|
+
|
57
|
+
If the extension is atypical use a mapping.
|
58
|
+
|
59
|
+
vclog:
|
60
|
+
output:
|
61
|
+
HISTORY: markdown
|
62
|
+
site/history.html: html
|
63
|
+
|
64
|
+
A fuller example might look something like this.
|
65
|
+
|
66
|
+
vclog:
|
67
|
+
rev: true
|
68
|
+
level: -2
|
69
|
+
output:
|
70
|
+
- HISTORY.rdoc
|
71
|
+
- CHANGELOG.rdoc
|
72
|
+
- site/HISTORY.html
|
73
|
+
|
74
|
+
|
75
|
+
## RESOURCES
|
76
|
+
|
77
|
+
For more information:
|
78
|
+
|
79
|
+
* [API Documentation](http://rubydoc.info/gems/detroit-vclog)
|
80
|
+
|
81
|
+
* [Development Site](http://github.com/detroit/detroit-vclog)
|
82
|
+
|
83
|
+
|
84
|
+
## COPYRIGHT
|
85
|
+
|
86
|
+
Copyright (c) 2010 Thomas Sawyer, Rubyworks
|
87
|
+
|
88
|
+
Detroit VCLog is distributable in accordance with the GPL v.3 license.
|
89
|
+
|
90
|
+
|
91
|
+
## SEE ALSO
|
92
|
+
|
93
|
+
detroit(1), vclog(1)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: detroit-vclog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,22 +9,22 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-04-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: detroit
|
16
|
-
requirement: &
|
16
|
+
requirement: &19249580 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: 0.3.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *19249580
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: vclog
|
27
|
-
requirement: &
|
27
|
+
requirement: &19249100 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *19249100
|
36
36
|
description: VCLog plugin for Detroit build system. This plugin generates changelog
|
37
37
|
and/or history documents for a project during the document phase.
|
38
38
|
email:
|
@@ -40,16 +40,21 @@ email:
|
|
40
40
|
executables: []
|
41
41
|
extensions: []
|
42
42
|
extra_rdoc_files:
|
43
|
-
-
|
43
|
+
- LICENSE.txt
|
44
44
|
- README.rdoc
|
45
45
|
- COPYING.rdoc
|
46
46
|
files:
|
47
47
|
- .ruby
|
48
|
+
- lib/detroit-vclog.rb
|
49
|
+
- man/detroit-vclog.5
|
50
|
+
- man/detroit-vclog.5.html
|
51
|
+
- man/detroit-vclog.5.ronn
|
52
|
+
- LICENSE.txt
|
48
53
|
- README.rdoc
|
49
|
-
- GPL3.txt
|
50
54
|
- COPYING.rdoc
|
51
55
|
homepage: http://detroit.github.com/
|
52
|
-
licenses:
|
56
|
+
licenses:
|
57
|
+
- GPL-3
|
53
58
|
post_install_message:
|
54
59
|
rdoc_options: []
|
55
60
|
require_paths:
|
@@ -68,7 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
68
73
|
version: '0'
|
69
74
|
requirements: []
|
70
75
|
rubyforge_project:
|
71
|
-
rubygems_version: 1.8.
|
76
|
+
rubygems_version: 1.8.11
|
72
77
|
signing_key:
|
73
78
|
specification_version: 3
|
74
79
|
summary: VCLog plugin for Detroit
|