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 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
- source:
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'
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
@@ -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.1.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: 2011-10-19 00:00:00.000000000 Z
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: &13194740 !ruby/object:Gem::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: '0'
21
+ version: 0.3.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *13194740
24
+ version_requirements: *19249580
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: vclog
27
- requirement: &13189880 !ruby/object:Gem::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: *13189880
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
- - GPL3.txt
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.5
76
+ rubygems_version: 1.8.11
72
77
  signing_key:
73
78
  specification_version: 3
74
79
  summary: VCLog plugin for Detroit