packnga 0.9.3 → 0.9.4
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +10 -0
- data/doc/text/news.textile +14 -0
- data/doc/text/release.textile +13 -9
- data/lib/packnga/release-task.rb +20 -8
- data/lib/packnga/version.rb +1 -1
- metadata +4 -4
data/Rakefile
CHANGED
@@ -78,3 +78,13 @@ Packnga::ReleaseTask.new(spec) do |task|
|
|
78
78
|
task.index_html_dir = "../rroonga/doc/html"
|
79
79
|
task.changes = File.read("doc/text/news.textile").split(/^h2\.\s(.*)$/)[2]
|
80
80
|
end
|
81
|
+
|
82
|
+
namespace :requirement do
|
83
|
+
task :ruby18 do
|
84
|
+
if RUBY_VERSION.to_f >= 1.9
|
85
|
+
raise "This task must be run with ruby1.8."
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
task "build" => "requirement:ruby18"
|
data/doc/text/news.textile
CHANGED
@@ -1,5 +1,19 @@
|
|
1
1
|
h1. NEWS
|
2
2
|
|
3
|
+
h2. 0.9.4: 2011-09-27
|
4
|
+
|
5
|
+
h3. Improvements
|
6
|
+
|
7
|
+
* Saved password inputted once in same process.
|
8
|
+
|
9
|
+
h3. Changes
|
10
|
+
|
11
|
+
* Checked ruby version before run task to build gem.
|
12
|
+
|
13
|
+
h3. Fixes
|
14
|
+
|
15
|
+
* Fixed bug of posting no news to RubyForge in task "release:po:ja:update".
|
16
|
+
|
3
17
|
h2. 0.9.3: 2011-09-22
|
4
18
|
|
5
19
|
h3. Improvements
|
data/doc/text/release.textile
CHANGED
@@ -67,8 +67,6 @@ h2. バージョンとリリース日の更新
|
|
67
67
|
$ rake release:info:update OLD_VERSION=(前回リリース時のバージョン) OLD_RELEASE_DATE=(前回リリース日) RELEASE_DATE=(今回のリリース日)
|
68
68
|
</pre>
|
69
69
|
|
70
|
-
TODO:別パッケージで同じ日付があった場合にそちらも更新されてしまうので、バージョンと日付どちらも当てはまる部分のみ更新するようにしたほうがいい。
|
71
|
-
|
72
70
|
h2. gemパッケージの作成
|
73
71
|
|
74
72
|
下記コマンドを打ってアップロード用のgemパッケージをビルドする。
|
@@ -78,9 +76,6 @@ $ make clean
|
|
78
76
|
$ ruby1.8 -S rake build
|
79
77
|
</pre>
|
80
78
|
|
81
|
-
rroongaの場合、ruby1.9.1ではパースできないオブジェクトがあるためruby1.8で作成する。
|
82
|
-
TODO: YAMLの設定ファイルを直して1.9.1でやる
|
83
|
-
|
84
79
|
h2. gemパッケージの動作確認
|
85
80
|
|
86
81
|
そのgemパッケージの動作を確認するため、下記コマンドを打ってローカル環境にインストールする。
|
@@ -125,6 +120,7 @@ fuzzyを検索して見つかったらC-iで消す。
|
|
125
120
|
h2. これまでの変更をpush
|
126
121
|
|
127
122
|
ここまでに行った変更をcommitしてgit pushする。
|
123
|
+
|
128
124
|
h2. リリースバージョンのタグを作成
|
129
125
|
|
130
126
|
下記コマンドを入力して、今回リリースするバージョンのタグを打ってgit pushする。
|
@@ -149,10 +145,13 @@ h2. rubyforgeにパッケージをアップロード
|
|
149
145
|
<pre>
|
150
146
|
$ ruby1.8 -S rake release:rubyforge:upload
|
151
147
|
$ ruby1.8 -S rake release:reference:publish
|
152
|
-
$ ruby1.8 -S rake release:html:publish
|
153
148
|
</pre>
|
154
149
|
|
155
|
-
rroonga以外の場合、index.html関連はrake release:html:publishでアップロードされないので、rroonga
|
150
|
+
rroonga以外の場合、index.html関連はrake release:html:publishでアップロードされないので、rroongaに移動してから下記コマンドを実行する。
|
151
|
+
|
152
|
+
<pre>
|
153
|
+
$ ruby1.8 -S rake release:html:publish
|
154
|
+
</pre>
|
156
155
|
|
157
156
|
h2. メーリングリストにリリースの周知
|
158
157
|
|
@@ -288,8 +287,13 @@ yoshihara
|
|
288
287
|
|
289
288
|
h2. rubyforgeのニュースを更新
|
290
289
|
|
291
|
-
|
290
|
+
rroonga以外の場合、もとのディレクトリに戻る。
|
291
|
+
下記コマンドを入力してrubyforgeの最新ニュースを更新する。
|
292
|
+
|
293
|
+
<pre>
|
294
|
+
$ rake releace:rubyforge:news:post
|
295
|
+
</pre>
|
292
296
|
|
293
297
|
h2. 次回リリース時のバージョン番号の設定
|
294
298
|
|
295
|
-
ext/groonga/rb-grn.hにある、RB_GRN_MAJOR_VERSION,RB_GRN_MINOR_VERSION,RB_GRN_MICRO_VERSIONの値を次回リリース時のバージョンの値に変更する。
|
299
|
+
rroongaはext/groonga/rb-grn.h、それ以外はlib/(パッケージ名)/version.rbにある、RB_GRN_MAJOR_VERSION,RB_GRN_MINOR_VERSION,RB_GRN_MICRO_VERSIONの値を次回リリース時のバージョンの値に変更する。
|
data/lib/packnga/release-task.rb
CHANGED
@@ -16,6 +16,7 @@
|
|
16
16
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
17
17
|
|
18
18
|
require "rubyforge"
|
19
|
+
require "digest"
|
19
20
|
|
20
21
|
module Packnga
|
21
22
|
# This class creates release tasks.
|
@@ -56,6 +57,7 @@ module Packnga
|
|
56
57
|
@tag_messsage = nil
|
57
58
|
@publish_options = nil
|
58
59
|
@changes = nil
|
60
|
+
@rubyforge_password = nil
|
59
61
|
yield(self) if block_given?
|
60
62
|
set_default_values
|
61
63
|
define_tasks
|
@@ -88,7 +90,7 @@ module Packnga
|
|
88
90
|
|
89
91
|
def define_info_task
|
90
92
|
namespace :info do
|
91
|
-
desc "
|
93
|
+
desc "Update version in index HTML."
|
92
94
|
task :update do
|
93
95
|
old_version = ENV["OLD_VERSION"]
|
94
96
|
old_release_date = ENV["OLD_RELEASE_DATE"]
|
@@ -138,7 +140,8 @@ module Packnga
|
|
138
140
|
def define_rubyforge_tasks
|
139
141
|
return if @spec.rubyforge_project.nil?
|
140
142
|
@rubyforge = RubyForge.new
|
141
|
-
@
|
143
|
+
@uninitialized_password = Digest::SHA2.hexdigest(Time.now.to_f.to_s)
|
144
|
+
@rubyforge.configure("password" => @uninitialized_password)
|
142
145
|
define_reference_task
|
143
146
|
define_html_task
|
144
147
|
define_publish_task
|
@@ -173,11 +176,7 @@ module Packnga
|
|
173
176
|
namespace :rubyforge do
|
174
177
|
desc "Upload tar.gz to RubyForge."
|
175
178
|
task :upload => "package" do
|
176
|
-
|
177
|
-
system("stty -echo")
|
178
|
-
@rubyforge.userconfig["password"] = STDIN.gets.chomp
|
179
|
-
system("stty echo")
|
180
|
-
puts
|
179
|
+
ensure_rubyforge_password
|
181
180
|
if @rubyforge.autoconfig["group_ids"][@spec.rubyforge_project].nil?
|
182
181
|
@rubyforge.scrape_config
|
183
182
|
@rubyforge.save_autoconfig
|
@@ -200,13 +199,16 @@ module Packnga
|
|
200
199
|
namespace :news do
|
201
200
|
desc "Post news to RubyForge."
|
202
201
|
task :post do
|
202
|
+
ensure_rubyforge_password
|
203
203
|
group_id =
|
204
204
|
@rubyforge.autoconfig["group_ids"][@spec.rubyforge_project]
|
205
205
|
subject =
|
206
206
|
"#{@spec.name} version #{@spec.version} has been released!"
|
207
207
|
body = @spec.description + "\nChanges:" + @changes
|
208
208
|
|
209
|
-
@rubyforge.post_news(group_id, subject, body)
|
209
|
+
if @rubyforge.post_news(group_id, subject, body).nil?
|
210
|
+
raise "News couldn't be posted to RubyForge."
|
211
|
+
end
|
210
212
|
end
|
211
213
|
end
|
212
214
|
end
|
@@ -222,5 +224,15 @@ module Packnga
|
|
222
224
|
remote_dir = "/var/www/gforge-projects/#{spec.rubyforge_project}/"
|
223
225
|
sh("rsync #{rsync_args} #{source} #{host}:#{remote_dir}#{destination}")
|
224
226
|
end
|
227
|
+
|
228
|
+
def ensure_rubyforge_password
|
229
|
+
if @rubyforge.userconfig["password"] == @uninitialized_password
|
230
|
+
print "password:"
|
231
|
+
system("stty -echo")
|
232
|
+
@rubyforge.userconfig["password"] = STDIN.gets.chomp
|
233
|
+
system("stty echo")
|
234
|
+
puts
|
235
|
+
end
|
236
|
+
end
|
225
237
|
end
|
226
238
|
end
|
data/lib/packnga/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: packnga
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 51
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 9
|
9
|
-
-
|
10
|
-
version: 0.9.
|
9
|
+
- 4
|
10
|
+
version: 0.9.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Haruka Yoshihara
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2011-09-
|
19
|
+
date: 2011-09-27 00:00:00 +09:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|