detroit-vclog 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|