inochi 2.0.1 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CREDITS +8 -4
- data/lib/inochi/inochi.rb +8 -16
- data/lib/inochi/tasks/2-api.rake +1 -1
- data/lib/inochi/tasks/3-man.rake +3 -3
- data/lib/inochi/tasks/4-ann.rake +3 -4
- data/lib/inochi/tasks/6-pub.rake +4 -4
- data/lib/inochi/templates/CREDITS.rbs +11 -2
- data/lib/inochi/templates/README.rbs +0 -4
- data/lib/inochi/templates/inochi.rb.rbs +6 -15
- data/lib/inochi/templates/test_helper.rb.rbs +1 -1
- data/man.html +89 -82
- data/man/man1/inochi.1.gz +0 -0
- metadata +35 -18
data/CREDITS
CHANGED
@@ -1,12 +1,16 @@
|
|
1
|
+
%#----------------------------------------------------------------------------
|
2
|
+
## AUTHORS
|
3
|
+
%#----------------------------------------------------------------------------
|
4
|
+
|
5
|
+
Suraj N. Kurapati
|
6
|
+
|
1
7
|
%#----------------------------------------------------------------------------
|
2
8
|
## CREDITS
|
3
9
|
%#----------------------------------------------------------------------------
|
4
10
|
|
5
|
-
|
6
|
-
Peileppe Production
|
7
|
-
Florian Gilcher
|
11
|
+
Florian Gilcher,
|
12
|
+
Peileppe Production
|
8
13
|
|
9
|
-
### Logo
|
10
14
|
%< "logo/README"
|
11
15
|
|
12
16
|
%#----------------------------------------------------------------------------
|
data/lib/inochi/inochi.rb
CHANGED
@@ -18,12 +18,12 @@ module Inochi
|
|
18
18
|
##
|
19
19
|
# Number of this release of this project.
|
20
20
|
#
|
21
|
-
VERSION = '
|
21
|
+
VERSION = '3.0.0'
|
22
22
|
|
23
23
|
##
|
24
24
|
# Date of this release of this project.
|
25
25
|
#
|
26
|
-
RELDATE = '2010-04-
|
26
|
+
RELDATE = '2010-04-27'
|
27
27
|
|
28
28
|
##
|
29
29
|
# Description of this release of this project.
|
@@ -55,6 +55,7 @@ module Inochi
|
|
55
55
|
# }
|
56
56
|
#
|
57
57
|
RUNTIME = {
|
58
|
+
'ember' => [ '>= 0.3.0' , '< 1' ], # for eRuby templates
|
58
59
|
'highline' => [ '>= 1.5' , '< 2' ], # for echoless password entry
|
59
60
|
'mechanize' => [ '~> 1' ], # for publishing announcements
|
60
61
|
'nokogiri' => [ '>= 1.4' , '< 2' ], # for parsing HTML and XML
|
@@ -84,26 +85,17 @@ module Inochi
|
|
84
85
|
'dfect' => [ '>= 1.1.0', '< 2' ], # for unit testing
|
85
86
|
}
|
86
87
|
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
#
|
92
|
-
def self.require gem_name_or_library
|
93
|
-
# prepare the correct version of the gem for loading
|
94
|
-
if respond_to? :gem
|
95
|
-
gem_name = gem_name_or_library.to_s.sub(%r{/.*$}, '')
|
96
|
-
if gem_version = RUNTIME[gem_name] || DEVTIME[gem_name]
|
88
|
+
# establish gem version dependencies
|
89
|
+
if respond_to? :gem
|
90
|
+
[RUNTIME, DEVTIME].each do |deps|
|
91
|
+
deps.each do |gem_name, gem_version|
|
97
92
|
begin
|
98
|
-
gem gem_name, *gem_version
|
93
|
+
gem gem_name, *Array(gem_version)
|
99
94
|
rescue LoadError => error
|
100
95
|
warn "#{self.inspect}: #{error}"
|
101
96
|
end
|
102
97
|
end
|
103
98
|
end
|
104
|
-
|
105
|
-
# do the loading
|
106
|
-
super
|
107
99
|
end
|
108
100
|
|
109
101
|
end
|
data/lib/inochi/tasks/2-api.rake
CHANGED
@@ -7,7 +7,7 @@ task :api => @api_dst
|
|
7
7
|
file @api_dst => FileList['lib/**/*.rb'].include('LICENSE') do
|
8
8
|
inner_task_name = 'api:yard'
|
9
9
|
|
10
|
-
|
10
|
+
require 'yard'
|
11
11
|
require 'yard/rake/yardoc_task'
|
12
12
|
YARD::Rake::YardocTask.new(inner_task_name) do |yardoc|
|
13
13
|
yardoc.options = [
|
data/lib/inochi/tasks/3-man.rake
CHANGED
@@ -43,7 +43,7 @@ task :@man_doc => @man_src do
|
|
43
43
|
:infer_end => true,
|
44
44
|
}
|
45
45
|
|
46
|
-
|
46
|
+
require 'ember'
|
47
47
|
ronn_input = Ember::Template.new(ember_input, ember_opts).render
|
48
48
|
File.write @man_ronn_dst, ronn_input # for debugging / sanity check
|
49
49
|
|
@@ -55,7 +55,7 @@ task :@man_doc => @man_src do
|
|
55
55
|
}
|
56
56
|
ronn_file = "#{@project_package_name}.1.ronn"
|
57
57
|
|
58
|
-
|
58
|
+
require 'ronn'
|
59
59
|
@man_doc = Ronn::Document.new(ronn_file, ronn_opts) { ronn_input }
|
60
60
|
end
|
61
61
|
end
|
@@ -71,7 +71,7 @@ task :@man_html_dom do
|
|
71
71
|
unless @man_html_dom
|
72
72
|
Rake::Task[:@man_html].invoke
|
73
73
|
|
74
|
-
|
74
|
+
require 'nokogiri'
|
75
75
|
@man_html_dom = Nokogiri::HTML(@man_html)
|
76
76
|
end
|
77
77
|
end
|
data/lib/inochi/tasks/4-ann.rake
CHANGED
@@ -17,7 +17,7 @@ end
|
|
17
17
|
task :@ann_nfo_html_nodes do
|
18
18
|
unless @ann_nfo_html_nodes
|
19
19
|
begin
|
20
|
-
head, body = fetch_nodes_between('h2#
|
20
|
+
head, body = fetch_nodes_between('h2#NAME ~ p', 'h1,h2,h3,h4,h5,h6')
|
21
21
|
rescue => error
|
22
22
|
error.message.insert 0,
|
23
23
|
"The manual lacks a <H2> ABOUT heading.\n"
|
@@ -55,11 +55,10 @@ end
|
|
55
55
|
task :@project_authors_html_nodes do
|
56
56
|
unless @project_authors_html_nodes
|
57
57
|
begin
|
58
|
-
head, body = fetch_nodes_between('h2#AUTHORS,h2
|
59
|
-
'h1,h2,h3,h4,h5,h6')
|
58
|
+
head, body = fetch_nodes_between('h2#AUTHORS', 'h1,h2,h3,h4,h5,h6')
|
60
59
|
rescue => error
|
61
60
|
error.message.insert 0,
|
62
|
-
"The manual lacks content under a <H2> AUTHORS
|
61
|
+
"The manual lacks content under a <H2> AUTHORS heading.\n"
|
63
62
|
raise error
|
64
63
|
end
|
65
64
|
|
data/lib/inochi/tasks/6-pub.rake
CHANGED
@@ -40,7 +40,7 @@ desc 'Announce release on ruby-talk mailing list.'
|
|
40
40
|
task 'pub:ann:ruby-talk' do
|
41
41
|
site = 'http://ruby-forum.com'
|
42
42
|
|
43
|
-
|
43
|
+
require 'mechanize'
|
44
44
|
browser = Mechanize.new
|
45
45
|
|
46
46
|
# fetch login form
|
@@ -49,7 +49,7 @@ task 'pub:ann:ruby-talk' do
|
|
49
49
|
raise "cannot find login form on Web page: #{page.uri}"
|
50
50
|
|
51
51
|
# fill login information
|
52
|
-
|
52
|
+
require 'highline'
|
53
53
|
highline = HighLine.new
|
54
54
|
|
55
55
|
form['name'] = highline.ask("#{site} username: ")
|
@@ -92,7 +92,7 @@ task 'pub:ann:raa' do
|
|
92
92
|
Rake::Task[:@project].invoke
|
93
93
|
project = @project_package_name
|
94
94
|
|
95
|
-
|
95
|
+
require 'mechanize'
|
96
96
|
browser = Mechanize.new
|
97
97
|
|
98
98
|
# fetch project information form
|
@@ -111,7 +111,7 @@ task 'pub:ann:raa' do
|
|
111
111
|
form['url'] = @project_module::WEBSITE
|
112
112
|
|
113
113
|
# fill login information
|
114
|
-
|
114
|
+
require 'highline'
|
115
115
|
highline = HighLine.new
|
116
116
|
|
117
117
|
prompt = '%s password for %s project and %s owner: ' %
|
@@ -1,10 +1,19 @@
|
|
1
|
+
%#----------------------------------------------------------------------------
|
2
|
+
## AUTHORS
|
3
|
+
%#----------------------------------------------------------------------------
|
4
|
+
|
5
|
+
> TODO: attribute yourself, your predecessors, and substantial contributors
|
6
|
+
|
7
|
+
Predecessor name,
|
8
|
+
Your name,
|
9
|
+
Substantial contributor name
|
10
|
+
|
1
11
|
%#----------------------------------------------------------------------------
|
2
12
|
## CREDITS
|
3
13
|
%#----------------------------------------------------------------------------
|
4
14
|
|
5
|
-
> TODO: attribute
|
15
|
+
> TODO: attribute everyone else who has contributed to this project
|
6
16
|
|
7
|
-
Your Name,
|
8
17
|
Contributor name,
|
9
18
|
[Contributor name](http://the.contributor.url),
|
10
19
|
Another contributor <contributor@email.address>,
|
@@ -1,7 +1,3 @@
|
|
1
|
-
%#----------------------------------------------------------------------------
|
2
|
-
## ABOUT
|
3
|
-
%#----------------------------------------------------------------------------
|
4
|
-
|
5
1
|
#{project_name} is a TODO that TODO.
|
6
2
|
|
7
3
|
%#----------------------------------------------------------------------------
|
@@ -74,29 +74,20 @@ module #{library_name}
|
|
74
74
|
# }
|
75
75
|
#
|
76
76
|
DEVTIME = {
|
77
|
-
"inochi" => [ "
|
77
|
+
"inochi" => [ ">= #{Inochi::VERSION}", "< #{Inochi::VERSION.to_i.next}" ],
|
78
78
|
}
|
79
79
|
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
#
|
85
|
-
def self.require gem_name_or_library
|
86
|
-
# prepare the correct version of the gem for loading
|
87
|
-
if respond_to? :gem
|
88
|
-
gem_name = gem_name_or_library.to_s.sub(%r{/.*$}, '')
|
89
|
-
if gem_version = RUNTIME[gem_name] || DEVTIME[gem_name]
|
80
|
+
# establish gem version dependencies
|
81
|
+
if respond_to? :gem
|
82
|
+
[RUNTIME, DEVTIME].each do |deps|
|
83
|
+
deps.each do |gem_name, gem_version|
|
90
84
|
begin
|
91
|
-
gem gem_name, *gem_version
|
85
|
+
gem gem_name, *Array(gem_version)
|
92
86
|
rescue LoadError => error
|
93
87
|
warn "\#{self.inspect}: \#{error}"
|
94
88
|
end
|
95
89
|
end
|
96
90
|
end
|
97
|
-
|
98
|
-
# do the loading
|
99
|
-
super
|
100
91
|
end
|
101
92
|
|
102
93
|
end
|
data/man.html
CHANGED
@@ -73,22 +73,20 @@
|
|
73
73
|
<body>
|
74
74
|
<div id='man'>
|
75
75
|
|
76
|
-
<div class='man-navigation'><a href='#NAME'>NAME</a> <a href='#
|
76
|
+
<div class='man-navigation'><a href='#NAME'>NAME</a> <a href='#SYNOPSIS'>SYNOPSIS</a> <a href='#DESCRIPTION'>DESCRIPTION</a> <a href='#OPTIONS'>OPTIONS</a> <a href='#TASKS'>TASKS</a> <a href='#PROJECTS'>PROJECTS</a> <a href='#TUTORIAL'>TUTORIAL</a> <a href='#HACKING'>HACKING</a> <a href='#VERSIONS'>VERSIONS</a> <a href='#AUTHORS'>AUTHORS</a> <a href='#CREDITS'>CREDITS</a> <a href='#LICENSE'>LICENSE</a> <a href='#SEE-ALSO'>SEE ALSO</a></div>
|
77
77
|
|
78
78
|
<h1 class='man-title'>inochi(1)</h1>
|
79
79
|
|
80
80
|
<ol class='head man'>
|
81
81
|
<li class='tl'>inochi(1)</li>
|
82
|
-
<li class='tc'>Version
|
82
|
+
<li class='tc'>Version 3.0.0</li>
|
83
83
|
<li class='tr'>inochi(1)</li>
|
84
84
|
</ol>
|
85
85
|
|
86
86
|
<h2 id='NAME'>NAME</h2>
|
87
87
|
<p><code>inochi</code> - Gives life to Ruby projects</p>
|
88
88
|
|
89
|
-
<p><img src="logo/inochi.png" alt="
|
90
|
-
|
91
|
-
<h2 id="ABOUT">ABOUT</h2>
|
89
|
+
<p><img src="logo/inochi.png" alt="" /></p>
|
92
90
|
|
93
91
|
<p>Inochi is an infrastructure for Ruby projects that helps you test, document,
|
94
92
|
package, publish, and announce your projects. It encourages <em>great</em>
|
@@ -145,10 +143,25 @@ documentation and reduces project administrivia.</p>
|
|
145
143
|
|
146
144
|
<p><code>inochi</code> [<var>OPTIONS</var>] <var>TASK</var> [<var>RAKE_OPTIONS</var>]</p>
|
147
145
|
|
146
|
+
<p><code>inochi init</code> project=<var>PROJECT</var> [package=<var>PACKAGE</var>] [merger=<var>MERGER</var>]</p>
|
147
|
+
|
148
148
|
<h2 id="DESCRIPTION">DESCRIPTION</h2>
|
149
149
|
|
150
|
-
<p>Runs <var>TASK</var>
|
151
|
-
|
150
|
+
<p>Runs the given <var>TASK</var> (see <strong>TASKS</strong> below) while passing the given
|
151
|
+
<var>RAKE_OPTIONS</var> to rake(1).</p>
|
152
|
+
|
153
|
+
<h2 id="OPTIONS">OPTIONS</h2>
|
154
|
+
|
155
|
+
<dl>
|
156
|
+
<dt><code>-h</code>, <code>--help</code></dt><dd><p>Display this manual and exit.</p></dd>
|
157
|
+
<dt><code>-v</code>, <code>--version</code></dt><dd><p>Print version number and exit.</p></dd>
|
158
|
+
</dl>
|
159
|
+
|
160
|
+
|
161
|
+
<h2 id="TASKS">TASKS</h2>
|
162
|
+
|
163
|
+
<p>The following tasks are available for running. Some of them are explained in
|
164
|
+
more detail below.</p>
|
152
165
|
|
153
166
|
<dl>
|
154
167
|
<dt class="flush"><strong>ann</strong></dt><dd>Build all release announcements.</dd>
|
@@ -170,50 +183,29 @@ are passed. The following tasks are available for running:</p>
|
|
170
183
|
</dl>
|
171
184
|
|
172
185
|
|
173
|
-
<
|
174
|
-
|
175
|
-
<dl>
|
176
|
-
<dt><code>-h</code>, <code>--help</code></dt><dd><p>Display this manual and exit.</p></dd>
|
177
|
-
<dt><code>-v</code>, <code>--version</code></dt><dd><p>Print version number and exit.</p></dd>
|
178
|
-
</dl>
|
179
|
-
|
180
|
-
|
181
|
-
<h2 id="inochi-init">inochi init</h2>
|
186
|
+
<h3 id="inochi-init">inochi init</h3>
|
182
187
|
|
183
|
-
<p>
|
184
|
-
|
185
|
-
<h3 id="SYNOPSIS">SYNOPSIS</h3>
|
188
|
+
<p>Installs the Inochi infrastructure for the project (see <strong>PROJECTS</strong> below) in
|
189
|
+
the current working directory or upgrades a previous installation thereof.</p>
|
186
190
|
|
187
191
|
<p><code>inochi</code> init <code>project</code>=<var>PROJECT</var> [<code>package</code>=<var>PACKAGE</var>] [<code>merger</code>=<var>MERGER</var>]</p>
|
188
192
|
|
189
|
-
<
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
<p>Pre-existing files are not overwritten. Instead, it is your responsibility to
|
196
|
-
merge changes (hopefully with the aid of an automated text merging tool; see
|
197
|
-
<var>MERGER</var> below) between pre-existing and newly generated files.</p>
|
198
|
-
|
199
|
-
<h3 id="PARAMETERS">PARAMETERS</h3>
|
200
|
-
|
201
|
-
<ul>
|
202
|
-
<li><p><var>PROJECT</var>:
|
203
|
-
Name of the project. This will be normalized into the name of a Ruby
|
204
|
-
module that will serve as a namespace for all code in the project.</p></li>
|
205
|
-
<li><p><var>PACKAGE</var>:
|
206
|
-
Name of the project's package directory, shell command, and basename of the
|
207
|
-
project library file.</p></li>
|
208
|
-
<li><p><var>MERGER</var>:
|
209
|
-
Command that invokes a text merging tool with three arguments: (1) old file,
|
193
|
+
<dl>
|
194
|
+
<dt class="flush"><var>PROJECT</var></dt><dd><p>Name of the project. This will be normalized into the name of a Ruby
|
195
|
+
module that will serve as a namespace for all code in the project.</p></dd>
|
196
|
+
<dt class="flush"><var>PACKAGE</var></dt><dd><p>Name of the project's package directory, shell command, and basename of the
|
197
|
+
project library file.</p></dd>
|
198
|
+
<dt class="flush"><var>MERGER</var></dt><dd><p>Command that invokes a text merging tool with three arguments: (1) old file,
|
210
199
|
(2) new file, (3) output file. The command should direct the result of
|
211
200
|
merging the old file and the new file to the output file. In addition, the
|
212
|
-
command <em>must not</em> modify the old file or the new file.</p>
|
201
|
+
command <em>must not</em> modify the old file or the new file.</p></dd>
|
202
|
+
</dl>
|
203
|
+
|
213
204
|
|
214
|
-
<p
|
215
|
-
between
|
216
|
-
<a href="http://
|
205
|
+
<p>Pre-existing files are not overwritten. Instead, it is your responsibility to
|
206
|
+
merge changes between pre-existing and newly generated files. You can do this
|
207
|
+
with the aid of an automated text merging tool such as <a href="http://meld.sourceforge.net">meld</a>, <a href="http://tkdiff.sourceforge.net">tkdiff</a>, or
|
208
|
+
<a href="http://kdiff3.sourceforge.net">kdiff3</a> by following these steps:</p>
|
217
209
|
|
218
210
|
<ol>
|
219
211
|
<li><p>Create a file named <code>merge2</code> containing the following text:</p>
|
@@ -221,8 +213,8 @@ between files semi-automatically using a text merging tool such as <a href="http
|
|
221
213
|
<pre><code>#!/bin/sh
|
222
214
|
old=$1; new=$2; out=$3;
|
223
215
|
# meld "$new" "$out" # use meld
|
224
|
-
# kdiff3 --merge "$old" "$new" --output "$out" # use kdiff3
|
225
216
|
# tkdiff "$old" "$new" -o "$out" # use tkdiff
|
217
|
+
# kdiff3 --merge "$old" "$new" --output "$out" # use kdiff3
|
226
218
|
</code></pre></li>
|
227
219
|
<li><p>Uncomment the line corresponding to the tool you wish to use.</p></li>
|
228
220
|
<li><p>Make the file executable:</p>
|
@@ -239,29 +231,14 @@ old=$1; new=$2; out=$3;
|
|
239
231
|
<p>Now your chosen text merging tool will be launched to help you transfer your
|
240
232
|
changes. When you are finished, save the merged file and exit the merging
|
241
233
|
tool. If you do not want to transfer any changes, then simply exit the
|
242
|
-
merging tool <em>without saving</em> any changes to the merged file!</p
|
243
|
-
</ul>
|
244
|
-
|
245
|
-
|
246
|
-
<h3 id="NOTIFICATIONS">NOTIFICATIONS</h3>
|
247
|
-
|
248
|
-
<dl>
|
249
|
-
<dt>create <var>FILE</var></dt><dd><p>A file is being created because it does not exist.</p></dd>
|
250
|
-
<dt>skip <var>FILE</var></dt><dd><p>A file is being skipped because it is already up to date.</p></dd>
|
251
|
-
<dt>update <var>FILE</var></dt><dd><p>A file is being updated because it is out of date. A text merging tool
|
252
|
-
(see the <strong>merger</strong> parameter above) will be launched to transfer content
|
253
|
-
from the old file (*.old) and the new file (*.new) to the out of date
|
254
|
-
file. If a text merging tool is not specified, then you will have to do
|
255
|
-
the merging by hand.</p></dd>
|
256
|
-
</dl>
|
257
|
-
|
234
|
+
merging tool <em>without saving</em> any changes to the merged file!</p>
|
258
235
|
|
259
|
-
<
|
236
|
+
<h3 id="inochi-api">inochi api</h3>
|
260
237
|
|
261
238
|
<p>Builds API documentation for the project's Ruby library using <a href="http://yardoc.org/more">YARD</a>. Ruby
|
262
239
|
constructs marked with <code>@private</code> are omitted from the API documentation.</p>
|
263
240
|
|
264
|
-
<
|
241
|
+
<h3 id="inochi-man">inochi man</h3>
|
265
242
|
|
266
243
|
<p>Renders the help manual's source files (see <strong>Help manual</strong> below) into:</p>
|
267
244
|
|
@@ -272,7 +249,7 @@ constructs marked with <code>@private</code> are omitted from the API documentat
|
|
272
249
|
</dl>
|
273
250
|
|
274
251
|
|
275
|
-
<
|
252
|
+
<h3 id="inochi-gem">inochi gem</h3>
|
276
253
|
|
277
254
|
<p>Builds a release package in RubyGems format (plainly known as a <strong>gem</strong>):</p>
|
278
255
|
|
@@ -288,8 +265,8 @@ Ruby library and help manual. In particular:</p>
|
|
288
265
|
<dl>
|
289
266
|
<dt>gem.description</dt><dd><p>Plain text version of all content between the <strong>ABOUT</strong> heading and any
|
290
267
|
subsequent heading.</p></dd>
|
291
|
-
<dt>gem.authors</dt><dd><p>Plain text version of all content between the <strong>AUTHORS</strong>
|
292
|
-
|
268
|
+
<dt>gem.authors</dt><dd><p>Plain text version of all content between the <strong>AUTHORS</strong> heading and any
|
269
|
+
subsequent heading.</p></dd>
|
293
270
|
<dt>gem.files</dt><dd><p>Only contains the project's <code>LICENSE</code> and <code>CREDITS</code> files, rendered help
|
294
271
|
manual, Ruby library, shell command, and C extension.</p>
|
295
272
|
|
@@ -302,7 +279,7 @@ needed during development.</p></dd>
|
|
302
279
|
<p>The gem specification can be further customized through the <code>:gem_spec_logic</code>
|
303
280
|
parameter defined in the project's options file (see <strong>Options file</strong> below).</p>
|
304
281
|
|
305
|
-
<
|
282
|
+
<h3 id="inochi-ann">inochi ann</h3>
|
306
283
|
|
307
284
|
<p>Builds release announcements which can be edited by hand before publishing:</p>
|
308
285
|
|
@@ -314,7 +291,7 @@ version by <a href="http://lynx.isc.org">Lynx</a>.</p></dd>
|
|
314
291
|
</dl>
|
315
292
|
|
316
293
|
|
317
|
-
<
|
294
|
+
<h3 id="inochi-pub-ann-ruby-talk">inochi pub:ann:ruby-talk</h3>
|
318
295
|
|
319
296
|
<p>Announces the release on the <a href="http://www.ruby-lang.org/en/community/mailing-lists/">ruby-talk</a> mailing list.</p>
|
320
297
|
|
@@ -323,7 +300,7 @@ hand</em> before running this command because (1) the body of that file is
|
|
323
300
|
published directly as the announcement message and (2) HTML to plain text
|
324
301
|
conversion is not perfect.</p>
|
325
302
|
|
326
|
-
<
|
303
|
+
<h3 id="inochi-pub-web">inochi pub:web</h3>
|
327
304
|
|
328
305
|
<p>Publishes the help manual, API documentation, and RSS feed to project website
|
329
306
|
using rsync(1) according to the :pub_web_* parameters defined in the
|
@@ -387,9 +364,10 @@ of the project directory.</p>
|
|
387
364
|
<dt>lib/<var>PACKAGE</var>.rb</dt><dd><p>Defines the project's namespace (Ruby module or class) and registers
|
388
365
|
sub-libraries to be automatically loaded on demand (Kernel#autoload).</p></dd>
|
389
366
|
<dt>lib/<var>PACKAGE</var>/inochi.rb</dt><dd><p>Defines project information in Ruby constants within the project's namespace
|
390
|
-
(Ruby module or class)
|
391
|
-
project
|
392
|
-
|
367
|
+
(Ruby module or class) and establishes version constraints for gems this
|
368
|
+
project depends on if RubyGems is available in the user's environment.
|
369
|
+
Unsatisfied constraints are simply printed to the standard error stream;
|
370
|
+
they do not raise a <code>Gem::LoadError</code> exception.</p></dd>
|
393
371
|
</dl>
|
394
372
|
|
395
373
|
|
@@ -462,8 +440,7 @@ source file.</p>
|
|
462
440
|
|
463
441
|
<h2 id="TUTORIAL">TUTORIAL</h2>
|
464
442
|
|
465
|
-
<p>This section shows
|
466
|
-
WordCount project throughout the various stages of its life.</p>
|
443
|
+
<p>This section shows Inochi is used to create a simple WordCount project.</p>
|
467
444
|
|
468
445
|
<h3 id="Creating-a-new-project">Creating a new project</h3>
|
469
446
|
|
@@ -472,7 +449,7 @@ WordCount project throughout the various stages of its life.</p>
|
|
472
449
|
<pre><code>mkdir word_count
|
473
450
|
</code></pre>
|
474
451
|
|
475
|
-
<p>Instill Inochi into the
|
452
|
+
<p>Instill Inochi into the directory:</p>
|
476
453
|
|
477
454
|
<pre><code>cd word_count
|
478
455
|
inochi init project=WordCount
|
@@ -480,7 +457,7 @@ inochi init project=WordCount
|
|
480
457
|
|
481
458
|
<p>Review pending work marked as "TODO":</p>
|
482
459
|
|
483
|
-
<pre><code>
|
460
|
+
<pre><code>grep TODO -R .
|
484
461
|
</code></pre>
|
485
462
|
|
486
463
|
<h3 id="Running-the-shell-command">Running the shell command</h3>
|
@@ -668,6 +645,35 @@ in the <code>test/test_helper.rb</code> file.</p>
|
|
668
645
|
|
669
646
|
<p>This section contains release notes of current and past releases.</p>
|
670
647
|
|
648
|
+
<h3 id="Version-3-0-0-2010-04-27-">Version 3.0.0 (2010-04-27)</h3>
|
649
|
+
|
650
|
+
<p>Incompatible changes:</p>
|
651
|
+
|
652
|
+
<ul>
|
653
|
+
<li><p>The <code>require()</code> class method is no longer emitted on your project's
|
654
|
+
namespace. Instead, gem version constraints are established up front when
|
655
|
+
your project's Ruby library is first loaded.</p></li>
|
656
|
+
<li><p>Author names are now fetched from the AUTHORS section, not CREDITS.</p></li>
|
657
|
+
<li><p>Project information is now placed in the NAME section, not ABOUT.</p></li>
|
658
|
+
</ul>
|
659
|
+
|
660
|
+
|
661
|
+
<p>Bug fixes:</p>
|
662
|
+
|
663
|
+
<ul>
|
664
|
+
<li><p>Reflect current Inochi version in gem constraint.</p></li>
|
665
|
+
<li><p>Forgot to list Ember as a runtime gem dependency.</p></li>
|
666
|
+
</ul>
|
667
|
+
|
668
|
+
|
669
|
+
<p>Housekeeping:</p>
|
670
|
+
|
671
|
+
<ul>
|
672
|
+
<li><p>Move all task documentation into new <strong>TASKS</strong> section.</p></li>
|
673
|
+
<li><p>Move TASKS & PROJECTS information into separate files.</p></li>
|
674
|
+
</ul>
|
675
|
+
|
676
|
+
|
671
677
|
<h3 id="Version-2-0-1-2010-04-25-">Version 2.0.1 (2010-04-25)</h3>
|
672
678
|
|
673
679
|
<p>This release fixes some bugs and adds a simple tutorial to the help manual.</p>
|
@@ -1062,13 +1068,14 @@ The "Installing" section has been updated accordingly.</p></li>
|
|
1062
1068
|
|
1063
1069
|
<p>This is the first release of Inochi. Enjoy!</p>
|
1064
1070
|
|
1065
|
-
<h2 id="
|
1071
|
+
<h2 id="AUTHORS">AUTHORS</h2>
|
1072
|
+
|
1073
|
+
<p>Suraj N. Kurapati</p>
|
1066
1074
|
|
1067
|
-
<
|
1068
|
-
Peileppe Production,
|
1069
|
-
Florian Gilcher</p>
|
1075
|
+
<h2 id="CREDITS">CREDITS</h2>
|
1070
1076
|
|
1071
|
-
<
|
1077
|
+
<p>Florian Gilcher,
|
1078
|
+
Peileppe Production</p>
|
1072
1079
|
|
1073
1080
|
<p>The "inochi.png" image and its "inochi.svg" source utilize the
|
1074
1081
|
<a href="http://www.openclipart.org/detail/17456">"3 flowers"</a> graphic, which was created and released into
|
@@ -1078,7 +1085,7 @@ the public domain by <a href="http://www.openclipart.org/user-detail/Peileppe">P
|
|
1078
1085
|
|
1079
1086
|
<p>(the ISC license)</p>
|
1080
1087
|
|
1081
|
-
<p>Copyright 2008 Suraj N. Kurapati <a href="mail&#
|
1088
|
+
<p>Copyright 2008 Suraj N. Kurapati <a href="mailto:sunaku@gmail.com" data-bare-link="true">sunaku@gmail.com</a></p>
|
1082
1089
|
|
1083
1090
|
<p>Permission to use, copy, modify, and/or distribute this software for any
|
1084
1091
|
purpose with or without fee is hereby granted, provided that the above
|
data/man/man1/inochi.1.gz
CHANGED
Binary file
|
metadata
CHANGED
@@ -3,20 +3,18 @@ name: inochi
|
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
|
-
-
|
6
|
+
- 3
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version:
|
8
|
+
- 0
|
9
|
+
version: 3.0.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Suraj N. Kurapati
|
13
|
-
- Peileppe Production
|
14
|
-
- Florian Gilcher
|
15
13
|
autorequire:
|
16
14
|
bindir: bin
|
17
15
|
cert_chain: []
|
18
16
|
|
19
|
-
date: 2010-04-
|
17
|
+
date: 2010-04-27 00:00:00 -07:00
|
20
18
|
default_executable:
|
21
19
|
dependencies:
|
22
20
|
- !ruby/object:Gem::Dependency
|
@@ -39,9 +37,28 @@ dependencies:
|
|
39
37
|
type: :development
|
40
38
|
version_requirements: *id001
|
41
39
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
40
|
+
name: ember
|
43
41
|
prerelease: false
|
44
42
|
requirement: &id002 !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
segments:
|
47
|
+
- 0
|
48
|
+
- 3
|
49
|
+
- 0
|
50
|
+
version: 0.3.0
|
51
|
+
- - <
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
segments:
|
54
|
+
- 1
|
55
|
+
version: "1"
|
56
|
+
type: :runtime
|
57
|
+
version_requirements: *id002
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: highline
|
60
|
+
prerelease: false
|
61
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
45
62
|
requirements:
|
46
63
|
- - ">="
|
47
64
|
- !ruby/object:Gem::Version
|
@@ -55,11 +72,11 @@ dependencies:
|
|
55
72
|
- 2
|
56
73
|
version: "2"
|
57
74
|
type: :runtime
|
58
|
-
version_requirements: *
|
75
|
+
version_requirements: *id003
|
59
76
|
- !ruby/object:Gem::Dependency
|
60
77
|
name: mechanize
|
61
78
|
prerelease: false
|
62
|
-
requirement: &
|
79
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
63
80
|
requirements:
|
64
81
|
- - ~>
|
65
82
|
- !ruby/object:Gem::Version
|
@@ -67,11 +84,11 @@ dependencies:
|
|
67
84
|
- 1
|
68
85
|
version: "1"
|
69
86
|
type: :runtime
|
70
|
-
version_requirements: *
|
87
|
+
version_requirements: *id004
|
71
88
|
- !ruby/object:Gem::Dependency
|
72
89
|
name: nokogiri
|
73
90
|
prerelease: false
|
74
|
-
requirement: &
|
91
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
75
92
|
requirements:
|
76
93
|
- - ">="
|
77
94
|
- !ruby/object:Gem::Version
|
@@ -85,11 +102,11 @@ dependencies:
|
|
85
102
|
- 2
|
86
103
|
version: "2"
|
87
104
|
type: :runtime
|
88
|
-
version_requirements: *
|
105
|
+
version_requirements: *id005
|
89
106
|
- !ruby/object:Gem::Dependency
|
90
107
|
name: rake
|
91
108
|
prerelease: false
|
92
|
-
requirement: &
|
109
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
93
110
|
requirements:
|
94
111
|
- - ">="
|
95
112
|
- !ruby/object:Gem::Version
|
@@ -104,11 +121,11 @@ dependencies:
|
|
104
121
|
- 1
|
105
122
|
version: "1"
|
106
123
|
type: :runtime
|
107
|
-
version_requirements: *
|
124
|
+
version_requirements: *id006
|
108
125
|
- !ruby/object:Gem::Dependency
|
109
126
|
name: ronn
|
110
127
|
prerelease: false
|
111
|
-
requirement: &
|
128
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
112
129
|
requirements:
|
113
130
|
- - ">="
|
114
131
|
- !ruby/object:Gem::Version
|
@@ -122,11 +139,11 @@ dependencies:
|
|
122
139
|
- 1
|
123
140
|
version: "1"
|
124
141
|
type: :runtime
|
125
|
-
version_requirements: *
|
142
|
+
version_requirements: *id007
|
126
143
|
- !ruby/object:Gem::Dependency
|
127
144
|
name: yard
|
128
145
|
prerelease: false
|
129
|
-
requirement: &
|
146
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
130
147
|
requirements:
|
131
148
|
- - ">="
|
132
149
|
- !ruby/object:Gem::Version
|
@@ -134,7 +151,7 @@ dependencies:
|
|
134
151
|
- 0
|
135
152
|
version: "0"
|
136
153
|
type: :runtime
|
137
|
-
version_requirements: *
|
154
|
+
version_requirements: *id008
|
138
155
|
description: Inochi is an infrastructure for Ruby projects that helps you test, document, package, publish, and announce your projects. It encourages great documentation and reduces project administrivia.
|
139
156
|
email:
|
140
157
|
executables:
|