inochi 6.0.0 → 6.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/inochi/engine.rb +1 -1
- data/lib/inochi/generate.rb +1 -2
- data/lib/inochi/inochi.rb +1 -1
- data/lib/inochi/tasks/4-gem.rake +2 -2
- data/lib/inochi/tasks/5-pub.rake +1 -102
- data/man/man1/inochi.1 +75 -38
- metadata +4 -6
data/lib/inochi/engine.rb
CHANGED
@@ -73,7 +73,7 @@ module Inochi
|
|
73
73
|
|
74
74
|
create_from_rbs binding, 'test/runner', 'test_runner'
|
75
75
|
chmod 0755, 'test/runner'
|
76
|
-
create_from_rbs binding, 'test/
|
76
|
+
create_from_rbs binding, 'test/test_helper.rb', 'test_helper.rb'
|
77
77
|
create_from_rbs binding, "test/#{package_name}_test.rb", 'library_test.rb'
|
78
78
|
|
79
79
|
create_from_rbs binding, 'LICENSE'
|
data/lib/inochi/generate.rb
CHANGED
@@ -28,9 +28,8 @@ module Inochi
|
|
28
28
|
notify :update, path
|
29
29
|
cur, old, new = path, "#{path}.old", "#{path}.new"
|
30
30
|
|
31
|
-
FileUtils.cp cur, old
|
31
|
+
FileUtils.cp cur, old, :preserve => true
|
32
32
|
File.write new, content
|
33
|
-
FileUtils.chmod 0400, [old, new]
|
34
33
|
|
35
34
|
yield old, new, cur if block_given?
|
36
35
|
end
|
data/lib/inochi/inochi.rb
CHANGED
data/lib/inochi/tasks/4-gem.rake
CHANGED
@@ -19,8 +19,8 @@ file @gem_spec_dst => @gem_spec_src do
|
|
19
19
|
version_from_project = "Version #{@project_module::VERSION} (#{@project_module::RELDATE})"
|
20
20
|
|
21
21
|
unless version_from_notes == version_from_project
|
22
|
-
raise
|
23
|
-
|
22
|
+
raise 'Project version %s does not match %s in release notes.' %
|
23
|
+
[version_from_project.inspect, version_from_notes.inspect]
|
24
24
|
end
|
25
25
|
|
26
26
|
# build gemspec
|
data/lib/inochi/tasks/5-pub.rake
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
desc 'Publish a release of this project.'
|
2
|
-
task :pub => %w[ pub:gem pub:web
|
2
|
+
task :pub => %w[ pub:gem pub:web ]
|
3
3
|
|
4
4
|
#-----------------------------------------------------------------------------
|
5
5
|
# RubyGems
|
@@ -29,104 +29,3 @@ task 'pub:web' do
|
|
29
29
|
sh ['rsync', options, sources, target].join(' ')
|
30
30
|
end
|
31
31
|
end
|
32
|
-
|
33
|
-
#-----------------------------------------------------------------------------
|
34
|
-
# announcements
|
35
|
-
#-----------------------------------------------------------------------------
|
36
|
-
|
37
|
-
desc 'Announce release on all news outlets.'
|
38
|
-
task 'pub:ann' => %w[ pub:ann:raa pub:ann:ruby-talk ]
|
39
|
-
|
40
|
-
desc 'Announce release on ruby-talk mailing list.'
|
41
|
-
task 'pub:ann:ruby-talk' => @ann_text_dst do
|
42
|
-
site = 'http://ruby-forum.com'
|
43
|
-
|
44
|
-
# let user verify announcement before publishing
|
45
|
-
ann_text = File.read(@ann_text_dst)
|
46
|
-
puts ann_text, nil
|
47
|
-
|
48
|
-
require 'highline'
|
49
|
-
highline = HighLine.new
|
50
|
-
|
51
|
-
if highline.agree "Really publish this announcement to #{site}?"
|
52
|
-
require 'mechanize'
|
53
|
-
browser = Mechanize.new
|
54
|
-
|
55
|
-
# fetch login form
|
56
|
-
page = browser.get("#{site}/user/login")
|
57
|
-
form = page.forms_with(:action => '/user/login').first or
|
58
|
-
raise "cannot find login form on Web page: #{page.uri}"
|
59
|
-
|
60
|
-
# fill login information
|
61
|
-
form['name'] = highline.ask("#{site} username: ")
|
62
|
-
form['password'] = highline.ask("#{site} password: ") {|q| q.echo = false }
|
63
|
-
|
64
|
-
# submit login form
|
65
|
-
page = form.click_button
|
66
|
-
page.at('a[href="/user/logout"]') or
|
67
|
-
raise "invalid login for #{site}"
|
68
|
-
|
69
|
-
# make the announcement
|
70
|
-
page = browser.get("#{site}/topic/new?forum_id=4")
|
71
|
-
form = page.forms_with(:action => '/topic/new#postform').first or
|
72
|
-
raise "cannot find post creation form on Web page: #{page.uri}"
|
73
|
-
|
74
|
-
# enable notification by email whenever
|
75
|
-
# someone replies to this announcement
|
76
|
-
form['post[subscribed_by_author]'] = '1'
|
77
|
-
|
78
|
-
Rake::Task[:@ann_subject].invoke
|
79
|
-
form['post[subject]'] = @ann_subject
|
80
|
-
|
81
|
-
form['post[text]'] = ann_text
|
82
|
-
|
83
|
-
# submit the announcement
|
84
|
-
page = form.submit
|
85
|
-
|
86
|
-
if error = page.at('.error')
|
87
|
-
raise "Announcement to #{site} failed:\n#{error.text}"
|
88
|
-
else
|
89
|
-
puts "Successfully announced to #{site}:", page.uri
|
90
|
-
end
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
desc 'Announce release on RAA (Ruby Application Archive).'
|
95
|
-
task 'pub:ann:raa' do
|
96
|
-
site = 'http://raa.ruby-lang.org'
|
97
|
-
project = @project_package_name
|
98
|
-
|
99
|
-
require 'mechanize'
|
100
|
-
browser = Mechanize.new
|
101
|
-
|
102
|
-
# fetch project information form
|
103
|
-
page = browser.get("#{site}/update.rhtml?name=#{project}")
|
104
|
-
form = page.forms_with(:action => 'regist.rhtml').first or
|
105
|
-
raise "cannot find project information form on Web page: #{page.uri}"
|
106
|
-
|
107
|
-
# fill project information
|
108
|
-
Rake::Task[:@ann_nfo_text].invoke
|
109
|
-
form['description'] = @ann_nfo_text
|
110
|
-
form['description_style'] = 'Plain'
|
111
|
-
form['short_description'] = @project_module::TAGLINE
|
112
|
-
form['version'] = @project_module::VERSION
|
113
|
-
form['url'] = @project_module::WEBSITE
|
114
|
-
|
115
|
-
# fill login information
|
116
|
-
require 'highline'
|
117
|
-
highline = HighLine.new
|
118
|
-
|
119
|
-
prompt = '%s password for %s project and %s owner: ' %
|
120
|
-
[ site, project.inspect, form.owner.inspect ]
|
121
|
-
form['pass'] = highline.ask(prompt) {|q| q.echo = false }
|
122
|
-
|
123
|
-
# submit project information
|
124
|
-
page = form.submit
|
125
|
-
|
126
|
-
if page.title =~ /error/i
|
127
|
-
error = "#{page.at('h2').text} -- #{page.at('p').text.strip}"
|
128
|
-
raise "Announcement to #{site} failed:\n#{error}"
|
129
|
-
else
|
130
|
-
puts "Successfully announced to #{site}."
|
131
|
-
end
|
132
|
-
end
|
data/man/man1/inochi.1
CHANGED
@@ -4,10 +4,10 @@
|
|
4
4
|
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
|
5
5
|
.\" Date: 2011-04-21
|
6
6
|
.\" Manual: \ \&
|
7
|
-
.\" Source: \ \& 6.0.
|
7
|
+
.\" Source: \ \& 6.0.1
|
8
8
|
.\" Language: English
|
9
9
|
.\"
|
10
|
-
.TH "INOCHI" "1" "2011\-04\-21" "\ \& 6\&.0\&.
|
10
|
+
.TH "INOCHI" "1" "2011\-04\-21" "\ \& 6\&.0\&.1" "\ \&"
|
11
11
|
.\" -----------------------------------------------------------------
|
12
12
|
.\" * Define some portability stuff
|
13
13
|
.\" -----------------------------------------------------------------
|
@@ -69,7 +69,7 @@ inochi init project="Foo Bar Baz 123" package="fbb123"
|
|
69
69
|
.fi
|
70
70
|
.SH "DESCRIPTION"
|
71
71
|
.sp
|
72
|
-
Inochi is an infrastructure that helps you
|
72
|
+
Inochi is an infrastructure that gives life to open\-source [Ruby] projects and helps you document, test, package, publish, announce, and maintain them\&.
|
73
73
|
.SS "Features"
|
74
74
|
.sp
|
75
75
|
.RS 4
|
@@ -80,11 +80,11 @@ Inochi is an infrastructure that helps you create, test, document, package, publ
|
|
80
80
|
.sp -1
|
81
81
|
.IP \(bu 2.3
|
82
82
|
.\}
|
83
|
-
|
83
|
+
Produces a comprehensive help manual that is written in
|
84
84
|
[eRuby]
|
85
85
|
over
|
86
86
|
[AsciiDoc]
|
87
|
-
and is rendered into a Web page
|
87
|
+
and is rendered into a Web page (with RSS feed) as well as a UNIX manual page\&.
|
88
88
|
.RE
|
89
89
|
.sp
|
90
90
|
.RS 4
|
@@ -95,9 +95,9 @@ and is rendered into a Web page and a UNIX manual page\&.
|
|
95
95
|
.sp -1
|
96
96
|
.IP \(bu 2.3
|
97
97
|
.\}
|
98
|
-
|
99
|
-
[
|
100
|
-
|
98
|
+
Produces beautiful plain\-text release announcements that are ready to be published on news outlets such as the
|
99
|
+
[ruby-talk]
|
100
|
+
mailing list\&.
|
101
101
|
.RE
|
102
102
|
.sp
|
103
103
|
.RS 4
|
@@ -108,7 +108,7 @@ Announces project releases on
|
|
108
108
|
.sp -1
|
109
109
|
.IP \(bu 2.3
|
110
110
|
.\}
|
111
|
-
Stores project information in a single Ruby source file\&.
|
111
|
+
Stores project information in constants in a single Ruby source file\&.
|
112
112
|
.RE
|
113
113
|
.SS "Resources"
|
114
114
|
.PP
|
@@ -482,9 +482,6 @@ lt lt
|
|
482
482
|
lt lt
|
483
483
|
lt lt
|
484
484
|
lt lt
|
485
|
-
lt lt
|
486
|
-
lt lt
|
487
|
-
lt lt
|
488
485
|
lt lt.
|
489
486
|
T{
|
490
487
|
.sp
|
@@ -572,27 +569,6 @@ Publish a release of this project\&.
|
|
572
569
|
T}
|
573
570
|
T{
|
574
571
|
.sp
|
575
|
-
pub:ann
|
576
|
-
T}:T{
|
577
|
-
.sp
|
578
|
-
Announce release on all news outlets\&.
|
579
|
-
T}
|
580
|
-
T{
|
581
|
-
.sp
|
582
|
-
pub:ann:raa
|
583
|
-
T}:T{
|
584
|
-
.sp
|
585
|
-
Announce release on RAA (Ruby Application Archive)\&.
|
586
|
-
T}
|
587
|
-
T{
|
588
|
-
.sp
|
589
|
-
pub:ann:ruby\-talk
|
590
|
-
T}:T{
|
591
|
-
.sp
|
592
|
-
Announce release on ruby\-talk mailing list\&.
|
593
|
-
T}
|
594
|
-
T{
|
595
|
-
.sp
|
596
572
|
pub:gem
|
597
573
|
T}:T{
|
598
574
|
.sp
|
@@ -824,11 +800,6 @@ ann\&.xml
|
|
824
800
|
.RS 4
|
825
801
|
RSS feed version of the release announcement\&.
|
826
802
|
.RE
|
827
|
-
.SS "inochi pub:ann:ruby\-talk"
|
828
|
-
.sp
|
829
|
-
Announces the release on the [ruby-talk] mailing list\&.
|
830
|
-
.sp
|
831
|
-
It is recommended that you build, review, and edit the ann\&.txt file \fIby hand\fR before running this command because (1) the body of that file is published directly as the announcement message and (2) HTML to plain text conversion is not perfect\&.
|
832
803
|
.SS "inochi pub:web"
|
833
804
|
.sp
|
834
805
|
Publishes the help manual, API documentation, and RSS feed to project website using rsync(1) according to the :pub_web_* parameters defined in the project\(cqs configuration file\&.
|
@@ -1129,6 +1100,72 @@ Its exit status will indicate whether all tests have passed\&. It may also print
|
|
1129
1100
|
.sp
|
1130
1101
|
\m[blue]\fBFork this project on GitHub\fR\m[] and send a pull request\&.
|
1131
1102
|
.SH "HISTORY"
|
1103
|
+
.SS "Version 6\&.0\&.1 (2011\-04\-21)"
|
1104
|
+
.sp
|
1105
|
+
Incompatible changes:
|
1106
|
+
.sp
|
1107
|
+
.RS 4
|
1108
|
+
.ie n \{\
|
1109
|
+
\h'-04'\(bu\h'+03'\c
|
1110
|
+
.\}
|
1111
|
+
.el \{\
|
1112
|
+
.sp -1
|
1113
|
+
.IP \(bu 2.3
|
1114
|
+
.\}
|
1115
|
+
Remove
|
1116
|
+
pub:ann
|
1117
|
+
tasks; users can manually announce where/if they want to\&.
|
1118
|
+
.RE
|
1119
|
+
.sp
|
1120
|
+
Bug fixes:
|
1121
|
+
.sp
|
1122
|
+
.RS 4
|
1123
|
+
.ie n \{\
|
1124
|
+
\h'-04'\(bu\h'+03'\c
|
1125
|
+
.\}
|
1126
|
+
.el \{\
|
1127
|
+
.sp -1
|
1128
|
+
.IP \(bu 2.3
|
1129
|
+
.\}
|
1130
|
+
Inochi still generated the old
|
1131
|
+
test/helper\&.rb
|
1132
|
+
file\&.
|
1133
|
+
.RE
|
1134
|
+
.sp
|
1135
|
+
.RS 4
|
1136
|
+
.ie n \{\
|
1137
|
+
\h'-04'\(bu\h'+03'\c
|
1138
|
+
.\}
|
1139
|
+
.el \{\
|
1140
|
+
.sp -1
|
1141
|
+
.IP \(bu 2.3
|
1142
|
+
.\}
|
1143
|
+
Do not make old and new files read\-only before merging\&.
|
1144
|
+
.RE
|
1145
|
+
.sp
|
1146
|
+
Housekeeping:
|
1147
|
+
.sp
|
1148
|
+
.RS 4
|
1149
|
+
.ie n \{\
|
1150
|
+
\h'-04'\(bu\h'+03'\c
|
1151
|
+
.\}
|
1152
|
+
.el \{\
|
1153
|
+
.sp -1
|
1154
|
+
.IP \(bu 2.3
|
1155
|
+
.\}
|
1156
|
+
Revise project & manual version mismatch error\&.
|
1157
|
+
.RE
|
1158
|
+
.sp
|
1159
|
+
.RS 4
|
1160
|
+
.ie n \{\
|
1161
|
+
\h'-04'\(bu\h'+03'\c
|
1162
|
+
.\}
|
1163
|
+
.el \{\
|
1164
|
+
.sp -1
|
1165
|
+
.IP \(bu 2.3
|
1166
|
+
.\}
|
1167
|
+
Revise project introduction in help manual\&.
|
1168
|
+
.RE
|
1132
1169
|
.SS "Version 6\&.0\&.0 (2011\-04\-21)"
|
1133
1170
|
.sp
|
1134
1171
|
This release adopts some common Rails testing and development conventions, drops runtime gem version dependency establishment in favor of [Bundler], produces a gemspec file for greater interoperability, and improves merging\&.
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: inochi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 6.0.
|
5
|
+
version: 6.0.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Suraj N. Kurapati
|
@@ -10,8 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-04-21 00:00:00
|
14
|
-
default_executable:
|
13
|
+
date: 2011-04-21 00:00:00 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
16
|
name: ember
|
@@ -97,7 +96,7 @@ dependencies:
|
|
97
96
|
version: "1"
|
98
97
|
type: :runtime
|
99
98
|
version_requirements: *id006
|
100
|
-
description: Inochi is an infrastructure that helps you create, test, document, package,
|
101
99
|
publish, and announce your [Ruby] projects.
|
100
|
+
description: Inochi is an infrastructure that gives life to open-source [Ruby] projects
|
102
101
|
and helps you document, test, package, publish, announce, and maintain them.
|
103
102
|
email:
|
104
103
|
executables:
|
105
104
|
- inochi
|
@@ -137,7 +136,6 @@ files:
|
|
137
136
|
- lib/inochi.rb
|
138
137
|
- LICENSE
|
139
138
|
- man/man1/inochi.1
|
140
|
-
has_rdoc: true
|
141
139
|
homepage: http://snk.tuxfamily.org/lib/inochi/
|
142
140
|
licenses: []
|
143
141
|
|
@@ -161,7 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
161
159
|
requirements: []
|
162
160
|
|
163
161
|
rubyforge_project:
|
164
|
-
rubygems_version: 1.
|
162
|
+
rubygems_version: 1.7.2
|
165
163
|
signing_key:
|
166
164
|
specification_version: 3
|
167
165
|
summary: Gives life to Ruby projects
|