packnga 0.9.7 → 0.9.8
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/.yardopts +4 -0
- data/Gemfile +1 -1
- data/README.textile +1 -1
- data/Rakefile +7 -7
- data/doc/text/news.textile +32 -0
- data/doc/text/release.textile +68 -34
- data/lib/packnga/document-task.rb +1 -5
- data/lib/packnga/reference-task.rb +73 -139
- data/lib/packnga/release-task.rb +41 -26
- data/lib/packnga/version.rb +1 -1
- data/packnga.gemspec +75 -0
- data/test/test-reference-task.rb +38 -1
- data/test/test-release-task.rb +191 -0
- metadata +17 -13
data/.yardopts
ADDED
data/Gemfile
CHANGED
data/README.textile
CHANGED
data/Rakefile
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8; mode: ruby -*-
|
2
2
|
#
|
3
|
-
# Copyright (C) 2011 Haruka Yoshihara <yoshihara@clear-code.com>
|
3
|
+
# Copyright (C) 2011-2013 Haruka Yoshihara <yoshihara@clear-code.com>
|
4
4
|
# Copyright (C) 2011 Kouhei Sutou <kou@clear-code.com>
|
5
5
|
#
|
6
6
|
# This library is free software; you can redistribute it and/or
|
@@ -16,16 +16,16 @@
|
|
16
16
|
# License along with this library; if not, write to the Free Software
|
17
17
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
18
18
|
|
19
|
-
require
|
19
|
+
require "English"
|
20
20
|
|
21
|
-
require
|
22
|
-
require
|
23
|
-
require
|
24
|
-
require
|
21
|
+
require "pathname"
|
22
|
+
require "rubygems"
|
23
|
+
require "rubygems/package_task"
|
24
|
+
require "bundler/gem_helper"
|
25
25
|
|
26
26
|
base_dir = File.join(File.dirname(__FILE__))
|
27
27
|
|
28
|
-
packnga_lib_dir = File.join(base_dir,
|
28
|
+
packnga_lib_dir = File.join(base_dir, "lib")
|
29
29
|
$LOAD_PATH.unshift(packnga_lib_dir)
|
30
30
|
ENV["RUBYLIB"] = "#{packnga_lib_dir}:#{ENV['RUBYLIB']}"
|
31
31
|
|
data/doc/text/news.textile
CHANGED
@@ -1,5 +1,37 @@
|
|
1
1
|
h1. NEWS
|
2
2
|
|
3
|
+
h2. 0.9.8: 2013-06-07
|
4
|
+
|
5
|
+
h3. Improvements
|
6
|
+
|
7
|
+
* [ReferenceTask] Used YARD I18n feature for translating references.
|
8
|
+
For it, YARD 0.8.6.1 or later is required.
|
9
|
+
* [ReferenceTask] Supported replacing filenames which aren't
|
10
|
+
supported by GitHub Pages in "reference:publication:generate" task.
|
11
|
+
This task renames the fimename "_index.html" (methods list page) to
|
12
|
+
"alphabetical_index.html", because GitHub Pages doesn't support
|
13
|
+
files which their filenames start with "_".
|
14
|
+
* [ReferenceTask] Added the task ("release:references:upload") to
|
15
|
+
copy generated references to a HTML directory.
|
16
|
+
A HTML directory, for example, is a repository of GitHub Pages. In
|
17
|
+
this case, this task is used to commit references to GitHub Pages.
|
18
|
+
* [Referencetask] Dropped support to upload .htaccess.
|
19
|
+
* [ReleaseTask] Used the version in your gemspec as a new version
|
20
|
+
when no version is specified as an argument by "release:info:update"
|
21
|
+
task. A new version is used to replace HTML index files.
|
22
|
+
|
23
|
+
h3. Fixes
|
24
|
+
|
25
|
+
* [ReferenceTask] Generated "reference path" correctly in merged PO
|
26
|
+
files.
|
27
|
+
"reference path" is a path of a file including translated message
|
28
|
+
(msgid) and it's attached to its corresponded msgid.
|
29
|
+
* [ReleaseTask] Removed needless replaces in HTML files in the
|
30
|
+
task "release:info:update".
|
31
|
+
* [ReferenceTask] Added missing description for the task
|
32
|
+
"reference:publication:generate" to generate references for
|
33
|
+
publication.
|
34
|
+
|
3
35
|
h2. 0.9.7: 2012-12-26
|
4
36
|
|
5
37
|
h3. Improvements
|
data/doc/text/release.textile
CHANGED
@@ -9,14 +9,20 @@ h2. news.textileに変更点のまとめ
|
|
9
9
|
$ git log -p --reverse (前回のリリースバージョン)..
|
10
10
|
</pre>
|
11
11
|
|
12
|
-
ログを"Author:"
|
12
|
+
ログを"Author:"で検索しながら、ユーザにとって知る必要があるもののコミットログのみを抜き出す。
|
13
|
+
|
14
|
+
ユーザにとって必要な情報とは、仕様の変更や新しい機能の追加など、ユーザーがリリースするライブラリを使う上で影響ある情報である。
|
15
|
+
逆に、リファクタリング、テストの変更、変数名の変更など、ユーザーが直接意識しない部分については書く必要はない。
|
16
|
+
|
13
17
|
次に、抜き出したコミットログを1つずつ見て、その先頭にカテゴリ名がある場合は、":"を削除してカテゴリ名を"["と"]"で囲む。
|
14
18
|
カテゴリ名を除いたログの先頭にある単語を過去形にし、頭文字を大文字にする。
|
15
19
|
その後、ログを次のように分類する。
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
+
|
21
|
+
* Improvements: 機能などを新しく追加したコミットのログ
|
22
|
+
* Changes: 動作の変更など、今まであったものを変更したログ
|
23
|
+
* Fixes: バグの修正など前バージョンまでにあった問題を修正したログ
|
24
|
+
|
25
|
+
また、コミットログの行末に[人名]がある場合は、Thanksという分類を作って、その人名をThanks以下に書く。
|
20
26
|
さらにREADMEにあるThanks以下にも名前を追加する。
|
21
27
|
|
22
28
|
この作業をリリース予定日よりも前に行った場合は、目に見えるところにコミットIDをメモしておく。
|
@@ -40,6 +46,8 @@ h3. Fixes
|
|
40
46
|
*
|
41
47
|
|
42
48
|
h3. Thanks
|
49
|
+
|
50
|
+
*
|
43
51
|
</pre>
|
44
52
|
|
45
53
|
h2. 日本語訳の作成
|
@@ -67,20 +75,47 @@ doc/reference/ja/file.news.htmlなどのja.poを編集した箇所が正しく
|
|
67
75
|
|
68
76
|
h2. バージョンとリリース日の更新
|
69
77
|
|
70
|
-
|
78
|
+
ranguba.orgのindexページ(index.html、ja/index.html)の最新バージョンとリリース日をそれぞれ今回のリリースに合わせたものに更新する。
|
79
|
+
|
80
|
+
まず、任意の位置で次のコマンドを実行して、ranguba.orgのリポジトリをcloneする。
|
81
|
+
|
82
|
+
<pre>
|
83
|
+
!!!command_line
|
84
|
+
$ git clone git@github.com:ranguba/ranguba.org.git
|
85
|
+
</pre>
|
86
|
+
|
87
|
+
そして、リリースするライブラリのRakefileに次を追加する。
|
88
|
+
|
89
|
+
<pre>
|
90
|
+
!!!ruby
|
91
|
+
Packnga::ReleaseTask.new(spec) do |task|
|
92
|
+
task.index_html_dir = "/path/to/ranguba.org"
|
93
|
+
end
|
94
|
+
</pre>
|
95
|
+
|
96
|
+
その後、次のコマンドを実行して最新バージョンとリリース日を更新する。
|
71
97
|
|
72
98
|
<pre>
|
73
99
|
!!!command_line
|
74
100
|
$ rake release:info:update OLD_VERSION=(前回リリース時のバージョン) OLD_RELEASE_DATE=(前回リリース日) RELEASE_DATE=(今回のリリース日)
|
75
101
|
</pre>
|
76
102
|
|
103
|
+
h2. .gemspecの確認
|
104
|
+
|
105
|
+
(パッケージ名).gemspecの中身が問題ないか確認する。特に初めてリリースするときは注意すること。
|
106
|
+
|
107
|
+
* .yardoptsをspec.filesに指定しているか(rubydoc.infoでドキュメントを閲覧するときに必要)
|
108
|
+
* spec.files+=のつもりでspec.files=になっていないか
|
109
|
+
* その他、spec.files=へ指定するファイルは過不足ないか・間違っていないか(diredなどでファイル一覧を見ながら作業する)
|
110
|
+
* 依存関係(add_{runtime/developement}_dependency)は間違っていないか
|
111
|
+
|
77
112
|
h2. gemパッケージの作成
|
78
113
|
|
79
114
|
下記コマンドを打ってアップロード用のgemパッケージをビルドする。
|
80
115
|
|
81
116
|
<pre>
|
82
117
|
!!!command_line
|
83
|
-
$ make clean
|
118
|
+
$ make clean # rroongaのみ必要
|
84
119
|
$ rake build
|
85
120
|
</pre>
|
86
121
|
|
@@ -104,21 +139,27 @@ $ NO_MAKE=yes ruby1.9.1 test/run-test.rb
|
|
104
139
|
|
105
140
|
h2. news.textileの最終的なまとめとリファレンス作成
|
106
141
|
|
107
|
-
|
142
|
+
前回のリリース時から現在までの変更点をnews.textileにまとめるため、下記コマンドを実行してgitのコミットログを表示する。
|
108
143
|
|
109
144
|
<pre>
|
110
145
|
!!!command_line
|
111
|
-
git log --reverse
|
146
|
+
$ git log -p --reverse (前回のリリースバージョン)..
|
112
147
|
</pre>
|
113
148
|
|
114
|
-
ログを"Author:"
|
149
|
+
ログを"Author:"で検索しながら、ユーザにとって知る必要があるもののコミットログのみを抜き出す。
|
150
|
+
|
151
|
+
ユーザにとって必要な情報とは、仕様の変更や新しい機能の追加など、ユーザーがリリースするライブラリを使う上で影響ある情報である。
|
152
|
+
逆に、リファクタリング、テストの変更、変数名の変更など、ユーザーが直接意識しない部分については書く必要はない。
|
153
|
+
|
115
154
|
次に、抜き出したコミットログを1つずつ見て、その先頭にカテゴリ名がある場合は、":"を削除してカテゴリ名を"["と"]"で囲む。
|
116
155
|
カテゴリ名を除いたログの先頭にある単語を過去形にし、頭文字を大文字にする。
|
117
156
|
その後、ログを次のように分類する。
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
157
|
+
|
158
|
+
* Improvements: 機能などを新しく追加したコミットのログ
|
159
|
+
* Changes: 動作の変更など、今まであったものを変更したログ
|
160
|
+
* Fixes: バグの修正など前バージョンまでにあった問題を修正したログ
|
161
|
+
|
162
|
+
また、コミットログの行末に[人名]がある場合は、Thanksという分類を作って、その人名をThanks以下に書く。
|
122
163
|
さらにREADMEにあるThanks以下にも名前を追加する。
|
123
164
|
|
124
165
|
下記コマンドを実行してja.poを更新する。
|
@@ -142,7 +183,7 @@ doc/reference/ja/file.news.htmlなどのja.poを編集した箇所が正しく
|
|
142
183
|
|
143
184
|
h2. これまでの変更をpush
|
144
185
|
|
145
|
-
ここまでに行った変更をcommitして
|
186
|
+
ここまでに行った変更をcommitしてpushする。
|
146
187
|
|
147
188
|
h2. リリースバージョンのタグの作成とrubygems.orgへのパッケージのアップロード
|
148
189
|
|
@@ -153,29 +194,32 @@ h2. リリースバージョンのタグの作成とrubygems.orgへのパッケ
|
|
153
194
|
$ rake release
|
154
195
|
</pre>
|
155
196
|
|
156
|
-
h2. rubyforgeにパッケージをアップロード
|
157
197
|
|
158
|
-
|
198
|
+
h2. リファレンスをranguba.orgにアップロード
|
199
|
+
|
200
|
+
次のコマンドを実行して、リファレンスをranguba.orgのリポジトリ内にコピーする。
|
159
201
|
|
160
202
|
<pre>
|
161
203
|
!!!command_line
|
162
|
-
$
|
163
|
-
$
|
204
|
+
$ rake reference:publication:generate
|
205
|
+
$ rake release:references:upload
|
164
206
|
</pre>
|
165
207
|
|
166
|
-
|
208
|
+
その後、 次のコマンドを実行してranguba.orgのリポジトリをcloneしたディレクトリに移動する。
|
167
209
|
|
168
210
|
<pre>
|
169
|
-
|
170
|
-
$ ruby1.9.1 -S rake release:html:publish
|
211
|
+
$ cd /path/to/ranguba.org
|
171
212
|
</pre>
|
172
213
|
|
214
|
+
そして、コピーにより生じた変更をranguba.orgのリポジトリにpushする。
|
215
|
+
ranguba.orgはGithub Pagesを使っているので、pushすると自動的にranguba.orgのサイトも更新される。
|
216
|
+
|
173
217
|
h2. メーリングリストにリリースの周知
|
174
218
|
|
175
219
|
メーリングリストにリリースした旨を書いたメールを流す。
|
176
220
|
日本語の他、英語のメーリングリストにもリリースした旨を英語で書いたメールを流す。
|
177
221
|
|
178
|
-
h3
|
222
|
+
h3. 日本語でのメールの具体例
|
179
223
|
|
180
224
|
<pre>
|
181
225
|
吉原です。
|
@@ -304,16 +348,6 @@ yoshihara
|
|
304
348
|
(yoshihara at clear-code.com)
|
305
349
|
</pre>
|
306
350
|
|
307
|
-
h2. rubyforgeのニュースを更新
|
308
|
-
|
309
|
-
rroonga以外の場合、もとのディレクトリに戻る。
|
310
|
-
下記コマンドを入力してrubyforgeの最新ニュースを更新する。
|
311
|
-
|
312
|
-
<pre>
|
313
|
-
!!!command_line
|
314
|
-
$ rake releace:rubyforge:news:post
|
315
|
-
</pre>
|
316
|
-
|
317
351
|
h2. 次回リリース時のバージョン番号の設定
|
318
352
|
|
319
|
-
rroongaはext/groonga/rb-grn.h、それ以外はlib/(パッケージ名)/version.rbにある、RB_GRN_MAJOR_VERSION,RB_GRN_MINOR_VERSION,RB_GRN_MICRO_VERSION
|
353
|
+
rroongaはext/groonga/rb-grn.h、それ以外はlib/(パッケージ名)/version.rbにある、RB_GRN_MAJOR_VERSION,RB_GRN_MINOR_VERSION,RB_GRN_MICRO_VERSIONの値を次回リリース時のバージョンの値に変更し、コミットする。
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
|
-
# Copyright (C) 2011-
|
3
|
+
# Copyright (C) 2011-2013 Haruka Yoshihara <yoshihara@clear-code.com>
|
4
4
|
# Copyright (C) 2011 Kouhei Sutou <kou@clear-code.com>
|
5
5
|
#
|
6
6
|
# This library is free software; you can redistribute it and/or
|
@@ -117,10 +117,6 @@ module Packnga
|
|
117
117
|
yield(@reference_task)
|
118
118
|
end
|
119
119
|
|
120
|
-
def htaccess
|
121
|
-
@reference_task.htaccess
|
122
|
-
end
|
123
|
-
|
124
120
|
private
|
125
121
|
def define
|
126
122
|
set_default_values
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
|
-
# Copyright (C) 2011-
|
3
|
+
# Copyright (C) 2011-2013 Haruka Yoshihara <yoshihara@clear-code.com>
|
4
4
|
# Copyright (C) 2012 Kouhei Sutou <kou@clear-code.com>
|
5
5
|
#
|
6
6
|
# This library is free software; you can redistribute it and/or
|
@@ -91,11 +91,6 @@ module Packnga
|
|
91
91
|
define_tasks
|
92
92
|
end
|
93
93
|
|
94
|
-
# path of .htaccess.
|
95
|
-
def htaccess
|
96
|
-
html_reference_dir + ".htaccess"
|
97
|
-
end
|
98
|
-
|
99
94
|
private
|
100
95
|
def set_default_values
|
101
96
|
@base_dir ||= Pathname.new("doc")
|
@@ -154,8 +149,8 @@ module Packnga
|
|
154
149
|
po_file = "#{@po_dir}/#{language}.po"
|
155
150
|
|
156
151
|
if File.exist?(po_file)
|
157
|
-
file po_file => @files do
|
158
|
-
current_pot_file = "tmp.pot"
|
152
|
+
file po_file => @files do
|
153
|
+
current_pot_file = "#{@po_dir}/tmp.pot"
|
159
154
|
create_pot_file(current_pot_file)
|
160
155
|
GetText::Tools::MsgMerge.run(po_file, current_pot_file,
|
161
156
|
"-o", po_file)
|
@@ -199,13 +194,22 @@ module Packnga
|
|
199
194
|
po_file = "#{@po_dir}/#{language}.po"
|
200
195
|
desc "Translates documents to #{language}."
|
201
196
|
task language => [po_file, reference_base_dir, *@files] do
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
197
|
+
translate_doc_dir = "#{reference_base_dir}/#{language}"
|
198
|
+
rm_rf(translate_doc_dir)
|
199
|
+
yardoc = YARD::CLI::Yardoc.new
|
200
|
+
options = [
|
201
|
+
"--title", @spec.name,
|
202
|
+
"--po-dir", @po_dir,
|
203
|
+
"--locale", language,
|
204
|
+
"--charset", "utf-8",
|
205
|
+
"--no-private",
|
206
|
+
"--output-dir", translate_doc_dir
|
207
|
+
]
|
208
|
+
options += ["--readme", @readme] if @readme
|
209
|
+
options += @source_files
|
210
|
+
options += ["-"]
|
211
|
+
options += @text_files
|
212
|
+
yardoc.run(*options)
|
209
213
|
end
|
210
214
|
end
|
211
215
|
end
|
@@ -229,12 +233,10 @@ module Packnga
|
|
229
233
|
raw_reference_dir = reference_base_dir + language.to_s
|
230
234
|
prepared_reference_dir = html_reference_dir + language.to_s
|
231
235
|
rm_rf(prepared_reference_dir.to_s)
|
232
|
-
head = erb_template("head.#{language}")
|
233
|
-
header = erb_template("header.#{language}")
|
234
|
-
footer = erb_template("footer.#{language}")
|
235
236
|
raw_reference_dir.find do |path|
|
236
237
|
relative_path = path.relative_path_from(raw_reference_dir)
|
237
|
-
prepared_path = prepared_reference_dir
|
238
|
+
prepared_path = generate_prepared_path(prepared_reference_dir,
|
239
|
+
relative_path)
|
238
240
|
if path.directory?
|
239
241
|
mkdir_p(prepared_path.to_s)
|
240
242
|
else
|
@@ -242,60 +244,78 @@ module Packnga
|
|
242
244
|
when /(?:file|method|class)_list\.html\z/
|
243
245
|
cp(path.to_s, prepared_path.to_s)
|
244
246
|
when /\.html\z/
|
245
|
-
|
246
|
-
|
247
|
-
if current_path.basename.to_s == "index.html"
|
248
|
-
current_path = current_path.dirname
|
249
|
-
end
|
250
|
-
top_path = html_base_dir.relative_path_from(prepared_path.dirname)
|
251
|
-
package_path = top_path + @spec.name
|
252
|
-
paths = {
|
253
|
-
:top => top_path,
|
254
|
-
:current => current_path,
|
255
|
-
:package => package_path,
|
256
|
-
}
|
257
|
-
templates = {
|
258
|
-
:head => head,
|
259
|
-
:header => header,
|
260
|
-
:footer => footer
|
261
|
-
}
|
262
|
-
content = apply_template(File.read(path.to_s),
|
263
|
-
paths,
|
264
|
-
templates,
|
265
|
-
language)
|
266
|
-
File.open(prepared_path.to_s, "w") do |file|
|
267
|
-
file.print(content)
|
268
|
-
end
|
247
|
+
create_published_file(path, relative_path, prepared_path,
|
248
|
+
language)
|
269
249
|
else
|
270
250
|
cp(path.to_s, prepared_path.to_s)
|
271
251
|
end
|
272
252
|
end
|
273
253
|
end
|
274
254
|
end
|
275
|
-
File.open(htaccess, "w") do |file|
|
276
|
-
file.puts("RedirectMatch permanent ^/#{@spec.name}/$ " +
|
277
|
-
"#{@spec.homepage}#{@spec.name}/en/")
|
278
|
-
end
|
279
255
|
end
|
280
256
|
|
281
|
-
|
257
|
+
desc "Generates reference for publication."
|
258
|
+
task :generate => ["reference:generate",
|
259
|
+
"reference:publication:prepare"]
|
260
|
+
end
|
261
|
+
end
|
262
|
+
|
263
|
+
def create_published_file(path, relative_path, prepared_path, language)
|
264
|
+
relative_dir_path = relative_path.dirname
|
265
|
+
if path.basename.to_s == "_index.html"
|
266
|
+
current_path = relative_dir_path + "alphabetical_index.html"
|
267
|
+
else
|
268
|
+
current_path = relative_dir_path + path.basename
|
269
|
+
if current_path.basename.to_s == "index.html"
|
270
|
+
current_path = current_path.dirname
|
271
|
+
end
|
272
|
+
end
|
273
|
+
top_path = html_base_dir.relative_path_from(prepared_path.dirname)
|
274
|
+
package_path = top_path + @spec.name
|
275
|
+
paths = {
|
276
|
+
:top => top_path,
|
277
|
+
:current => current_path,
|
278
|
+
:package => package_path,
|
279
|
+
}
|
280
|
+
templates = {
|
281
|
+
:head => erb_template("head.#{language}"),
|
282
|
+
:header => erb_template("header.#{language}"),
|
283
|
+
:footer => erb_template("footer.#{language}")
|
284
|
+
}
|
285
|
+
content = apply_templates(File.read(path.to_s),
|
286
|
+
paths,
|
287
|
+
templates,
|
288
|
+
language)
|
289
|
+
content = content.gsub(/"(.*?)_index\.html"/,
|
290
|
+
"\"\\1alphabetical_index.html\"")
|
291
|
+
File.open(prepared_path.to_s, "w") do |file|
|
292
|
+
file.print(content)
|
293
|
+
end
|
294
|
+
end
|
295
|
+
|
296
|
+
def generate_prepared_path(prepared_reference_dir, relative_path)
|
297
|
+
prepared_path = prepared_reference_dir + relative_path
|
298
|
+
if prepared_path.basename.to_s == "_index.html"
|
299
|
+
prepared_path.dirname + "alphabetical_index.html"
|
300
|
+
else
|
301
|
+
prepared_path
|
282
302
|
end
|
283
303
|
end
|
284
304
|
|
285
|
-
def
|
286
|
-
content = content.
|
305
|
+
def apply_templates(content, paths, templates, language)
|
306
|
+
content = content.gsub(/lang="en"/, "lang=\"#{language}\"")
|
287
307
|
|
288
308
|
title = nil
|
289
|
-
content = content.
|
309
|
+
content = content.gsub(/<title>(.+?)<\/title>/m) do
|
290
310
|
title = $1
|
291
311
|
templates[:head].result(binding)
|
292
312
|
end
|
293
313
|
|
294
|
-
content = content.
|
314
|
+
content = content.gsub(/<body(?:.*?)>/) do |body_start|
|
295
315
|
"#{body_start}\n#{templates[:header].result(binding)}\n"
|
296
316
|
end
|
297
317
|
|
298
|
-
content = content.
|
318
|
+
content = content.gsub(/<\/body/) do |body_end|
|
299
319
|
"\n#{templates[:footer].result(binding)}\n#{body_end}"
|
300
320
|
end
|
301
321
|
|
@@ -309,91 +329,5 @@ module Packnga
|
|
309
329
|
erb.filename = file
|
310
330
|
erb
|
311
331
|
end
|
312
|
-
|
313
|
-
def create_translated_documents(output_dir, locale)
|
314
|
-
language = locale.name.to_s
|
315
|
-
translate_doc_dir = "#{reference_base_dir}/#{language}"
|
316
|
-
po_dir = File.expand_path(@po_dir)
|
317
|
-
mkdir_p(translate_doc_dir)
|
318
|
-
|
319
|
-
Dir.chdir(output_dir) do
|
320
|
-
YARD::Registry.clear
|
321
|
-
YARD.parse(@source_files)
|
322
|
-
|
323
|
-
options = [
|
324
|
-
"--title", @spec.name,
|
325
|
-
"-o", translate_doc_dir,
|
326
|
-
"--po-dir", po_dir,
|
327
|
-
"--locale", language,
|
328
|
-
"--charset", "utf-8",
|
329
|
-
"--no-private"
|
330
|
-
]
|
331
|
-
options += ["--readme", @readme] if @readme
|
332
|
-
options += @source_files
|
333
|
-
options += ["-"]
|
334
|
-
options += @text_files
|
335
|
-
|
336
|
-
YARD::CLI::Yardoc.run(*options)
|
337
|
-
end
|
338
|
-
translated_files = File.join(output_dir, translate_doc_dir, "**")
|
339
|
-
FileUtils.cp_r(Dir.glob(translated_files), translate_doc_dir)
|
340
|
-
end
|
341
|
-
|
342
|
-
def create_translated_sources(output_dir, locale)
|
343
|
-
YARD.parse(@source_files)
|
344
|
-
create_translated_files(@source_files, output_dir) do |content|
|
345
|
-
code_objects = YARD::Registry.all
|
346
|
-
code_objects.each do |code_object|
|
347
|
-
original_docstring = code_object.docstring
|
348
|
-
content = translate_content_part(content,
|
349
|
-
original_docstring,
|
350
|
-
locale)
|
351
|
-
|
352
|
-
original_docstring.tags.each do |tag|
|
353
|
-
original_tag_text = tag.text
|
354
|
-
next if original_tag_text.nil?
|
355
|
-
content = translate_content_part(content,
|
356
|
-
original_tag_text,
|
357
|
-
locale)
|
358
|
-
end
|
359
|
-
end
|
360
|
-
content
|
361
|
-
end
|
362
|
-
end
|
363
|
-
|
364
|
-
def copy_extra_files(output_dir)
|
365
|
-
@extra_files.each do |file|
|
366
|
-
target_extra_file = File.join(output_dir, file)
|
367
|
-
FileUtils.mkdir_p(File.dirname(target_extra_file))
|
368
|
-
FileUtils.cp_r(file, target_extra_file)
|
369
|
-
end
|
370
|
-
end
|
371
|
-
|
372
|
-
def create_translated_files(original_files, output_dir)
|
373
|
-
original_files.each do |file|
|
374
|
-
translated_file = File.join(output_dir, file)
|
375
|
-
FileUtils.mkdir_p(File.dirname(translated_file))
|
376
|
-
content = File.read(file)
|
377
|
-
|
378
|
-
translated_text = yield(content)
|
379
|
-
|
380
|
-
File.open(translated_file, "w") do |file|
|
381
|
-
file.puts(translated_text)
|
382
|
-
end
|
383
|
-
end
|
384
|
-
end
|
385
|
-
|
386
|
-
def translate_content_part(content, original_text, locale)
|
387
|
-
translated_content = ""
|
388
|
-
text = YARD::I18n::Text.new(original_text)
|
389
|
-
translate_text = text.translate(locale)
|
390
|
-
original_text = original_text.each_line.collect do |line|
|
391
|
-
"(.+)#{Regexp.escape(line)}"
|
392
|
-
end
|
393
|
-
translate_text = translate_text.each_line.collect do |line|
|
394
|
-
"\\1#{line}"
|
395
|
-
end
|
396
|
-
content.sub(/#{original_text.join}/, translate_text.join)
|
397
|
-
end
|
398
332
|
end
|
399
333
|
end
|
data/lib/packnga/release-task.rb
CHANGED
@@ -50,11 +50,11 @@ module Packnga
|
|
50
50
|
|
51
51
|
private
|
52
52
|
def html_base_dir
|
53
|
-
@base_dir
|
53
|
+
File.join(@base_dir, "html")
|
54
54
|
end
|
55
55
|
|
56
56
|
def html_reference_dir
|
57
|
-
html_base_dir
|
57
|
+
File.join(html_base_dir, @spec.name)
|
58
58
|
end
|
59
59
|
|
60
60
|
def set_default_values
|
@@ -68,6 +68,7 @@ module Packnga
|
|
68
68
|
def define_tasks
|
69
69
|
namespace :release do
|
70
70
|
define_info_task
|
71
|
+
define_reference_upload_task
|
71
72
|
define_tag_task
|
72
73
|
end
|
73
74
|
end
|
@@ -76,35 +77,19 @@ module Packnga
|
|
76
77
|
namespace :info do
|
77
78
|
desc "Update version in index HTML."
|
78
79
|
task :update do
|
79
|
-
old_version = ENV["OLD_VERSION"]
|
80
|
-
old_release_date = ENV["OLD_RELEASE_DATE"]
|
81
|
-
new_release_date = ENV["RELEASE_DATE"] || Time.now.strftime("%Y-%m-%d")
|
82
|
-
new_version = ENV["VERSION"]
|
83
|
-
|
84
|
-
empty_options = []
|
85
|
-
empty_options << "OLD_VERSION" if old_version.nil?
|
86
|
-
empty_options << "OLD_RELEASE_DATE" if old_release_date.nil?
|
87
|
-
|
88
|
-
unless empty_options.empty?
|
89
|
-
raise ArgumentError, "Specify option(s) of #{empty_options.join(", ")}."
|
90
|
-
end
|
91
80
|
@index_html_dir = Pathname(@index_html_dir)
|
92
|
-
indexes = [
|
81
|
+
indexes = [
|
82
|
+
@index_html_dir + "index.html",
|
83
|
+
@index_html_dir + "ja/index.html"
|
84
|
+
]
|
93
85
|
indexes.each do |index|
|
94
86
|
content = replaced_content = File.read(index)
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
old_underscore = old.gsub(/\./, '-')
|
100
|
-
new_underscore = new.gsub(/\./, '-')
|
101
|
-
replaced_content =
|
102
|
-
replaced_content.gsub(/#{Regexp.escape(old_underscore)}/,
|
103
|
-
new_underscore)
|
104
|
-
end
|
87
|
+
package_infos.each do |key, (old, new)|
|
88
|
+
next if old == new
|
89
|
+
old_regexp = /#{Regexp.escape(old)}/
|
90
|
+
replaced_content = replaced_content.gsub(old_regexp, new)
|
105
91
|
end
|
106
92
|
|
107
|
-
next if replaced_content == content
|
108
93
|
File.open(index, "w") do |output|
|
109
94
|
output.print(replaced_content)
|
110
95
|
end
|
@@ -113,6 +98,36 @@ module Packnga
|
|
113
98
|
end
|
114
99
|
end
|
115
100
|
|
101
|
+
def package_infos
|
102
|
+
old_version = ENV["OLD_VERSION"]
|
103
|
+
old_release_date = ENV["OLD_RELEASE_DATE"]
|
104
|
+
new_release_date = ENV["RELEASE_DATE"] || Time.now.strftime("%Y-%m-%d")
|
105
|
+
new_version = ENV["VERSION"] || @spec.version.to_s
|
106
|
+
|
107
|
+
empty_options = []
|
108
|
+
empty_options << "OLD_VERSION" if old_version.nil?
|
109
|
+
empty_options << "OLD_RELEASE_DATE" if old_release_date.nil?
|
110
|
+
empty_options << "VERSION" if new_version.empty?
|
111
|
+
|
112
|
+
unless empty_options.empty?
|
113
|
+
raise ArgumentError, "Specify option(s) of #{empty_options.join(", ")}."
|
114
|
+
end
|
115
|
+
|
116
|
+
{
|
117
|
+
:version => [old_version, new_version],
|
118
|
+
:release_date => [old_release_date, new_release_date]
|
119
|
+
}
|
120
|
+
end
|
121
|
+
|
122
|
+
def define_reference_upload_task
|
123
|
+
namespace :references do
|
124
|
+
desc "Copy references to reference html directory."
|
125
|
+
task :upload do
|
126
|
+
cp_r(html_reference_dir, @index_html_dir)
|
127
|
+
end
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
116
131
|
def define_tag_task
|
117
132
|
desc "Tag the current revision."
|
118
133
|
task :tag do
|
data/lib/packnga/version.rb
CHANGED
data/packnga.gemspec
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
# -*- coding: utf-8; mode: ruby -*-
|
2
|
+
#
|
3
|
+
# Copyright (C) 2012 Haruka Yoshihara <yoshihara@clear-code.com>
|
4
|
+
#
|
5
|
+
# This library is free software; you can redistribute it and/or
|
6
|
+
# modify it under the terms of the GNU Lesser General Public
|
7
|
+
# License version 2.1 as published by the Free Software Foundation.
|
8
|
+
#
|
9
|
+
# This library is distributed in the hope that it will be useful,
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
12
|
+
# Lesser General Public License for more details.
|
13
|
+
#
|
14
|
+
# You should have received a copy of the GNU Lesser General Public
|
15
|
+
# License along with this library; if not, write to the Free Software
|
16
|
+
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
17
|
+
|
18
|
+
base_dir = File.dirname(__FILE__)
|
19
|
+
$LOAD_PATH.unshift(File.expand_path("lib", base_dir))
|
20
|
+
require "packnga/version"
|
21
|
+
|
22
|
+
version = Packnga::VERSION.dup
|
23
|
+
|
24
|
+
readme_path = File.join(base_dir, "README.textile")
|
25
|
+
entries = File.read(readme_path).split(/^h2\.\s(.*)$/)
|
26
|
+
entry = lambda do |entry_title|
|
27
|
+
entries[entries.index(entry_title) + 1]
|
28
|
+
end
|
29
|
+
|
30
|
+
authors = []
|
31
|
+
emails = []
|
32
|
+
entry.call("Authors").each_line do |line|
|
33
|
+
if /\*\s*(.+)\s<([^<>]*)>$/ =~ line
|
34
|
+
authors << $1
|
35
|
+
emails << $2
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
clean_white_space = lambda do |entry|
|
40
|
+
entry.gsub(/(\A\n+|\n+\z)/, '') + "\n"
|
41
|
+
end
|
42
|
+
description = clean_white_space.call(entry.call("Description"))
|
43
|
+
summary, description = description.split(/\n\n+/, 2)
|
44
|
+
|
45
|
+
Gem::Specification.new do |spec|
|
46
|
+
spec.name = "packnga"
|
47
|
+
spec.version = version
|
48
|
+
spec.authors = authors
|
49
|
+
spec.email = emails
|
50
|
+
spec.summary = summary
|
51
|
+
spec.description = description
|
52
|
+
|
53
|
+
spec.extra_rdoc_files = ["README.textile"]
|
54
|
+
spec.files = ["README.textile", "Rakefile", "Gemfile", ".yardopts"]
|
55
|
+
spec.files += ["packnga.gemspec"]
|
56
|
+
Dir.chdir(base_dir) do
|
57
|
+
spec.files += Dir.glob("lib/**/*.rb")
|
58
|
+
spec.files += Dir.glob("doc/text/*.*")
|
59
|
+
spec.test_files = Dir.glob("test/**/*.rb")
|
60
|
+
end
|
61
|
+
|
62
|
+
spec.homepage = "http://ranguba.org/packnga/en/"
|
63
|
+
spec.licenses = ["LGPLv2"]
|
64
|
+
spec.require_paths = ["lib"]
|
65
|
+
|
66
|
+
spec.add_runtime_dependency("rake")
|
67
|
+
spec.add_runtime_dependency("yard", ">= 0.8.6.1")
|
68
|
+
spec.add_runtime_dependency("gettext", ">= 2.3.6")
|
69
|
+
spec.add_development_dependency("test-unit")
|
70
|
+
spec.add_development_dependency("test-unit-notify")
|
71
|
+
spec.add_development_dependency("test-unit-rr")
|
72
|
+
spec.add_development_dependency("bundler")
|
73
|
+
spec.add_development_dependency("RedCloth")
|
74
|
+
end
|
75
|
+
|
data/test/test-reference-task.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
|
-
# Copyright (C)
|
3
|
+
# Copyright (C) 2013 Haruka Yoshihara <yoshihara@clear-code.com>
|
4
4
|
#
|
5
5
|
# This library is free software; you can redistribute it and/or
|
6
6
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -48,4 +48,41 @@ class ReferenceTaskTest < Test::Unit::TestCase
|
|
48
48
|
Rake::Task["reference:po:update:ja"].invoke
|
49
49
|
end
|
50
50
|
end
|
51
|
+
|
52
|
+
def test_reference_publication_prepare
|
53
|
+
Dir.mktmpdir do |base_dir|
|
54
|
+
package_name = "packnga"
|
55
|
+
language = "en"
|
56
|
+
|
57
|
+
spec = Gem::Specification.new do |_spec|
|
58
|
+
_spec.name = package_name
|
59
|
+
end
|
60
|
+
|
61
|
+
Packnga::DocumentTask.new(spec) do |task|
|
62
|
+
task.translate_language = language
|
63
|
+
task.base_dir = base_dir
|
64
|
+
end
|
65
|
+
|
66
|
+
reference_dir = File.join(base_dir, "reference/#{language}")
|
67
|
+
fixtures_dir = File.join(File.dirname(__FILE__), "fixtures")
|
68
|
+
fixtures = Dir.glob(File.join(fixtures_dir, "{file.news,_index}.html"))
|
69
|
+
|
70
|
+
FileUtils.mkdir_p(reference_dir)
|
71
|
+
FileUtils.cp_r(fixtures, reference_dir)
|
72
|
+
|
73
|
+
Rake::Task["reference:publication:prepare"].invoke
|
74
|
+
|
75
|
+
html_dir = File.join(base_dir, "html/#{package_name}/#{language}")
|
76
|
+
Dir.chdir(html_dir) do
|
77
|
+
assert_true(File.exist?("file.news.html"))
|
78
|
+
assert_true(File.exist?("alphabetical_index.html"))
|
79
|
+
assert_false(File.exist?("_index.html"))
|
80
|
+
|
81
|
+
expected_file = File.join(fixtures_dir, "expected", "file.news.html")
|
82
|
+
expected_content = File.read(expected_file)
|
83
|
+
actual_content = File.read("file.news.html")
|
84
|
+
assert_equal(expected_content, actual_content)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
51
88
|
end
|
@@ -0,0 +1,191 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
# Copyright (C) 2013 Haruka Yoshihara <yoshihara@clear-code.com>
|
4
|
+
#
|
5
|
+
# This library is free software; you can redistribute it and/or
|
6
|
+
# modify it under the terms of the GNU Lesser General Public
|
7
|
+
# License version 2.1 as published by the Free Software Foundation.
|
8
|
+
#
|
9
|
+
# This library is distributed in the hope that it will be useful,
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
12
|
+
# Lesser General Public License for more details.
|
13
|
+
#
|
14
|
+
# You should have received a copy of the GNU Lesser General Public
|
15
|
+
# License along with this library; if not, write to the Free Software
|
16
|
+
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
17
|
+
|
18
|
+
require "test/unit/rr"
|
19
|
+
require "tmpdir"
|
20
|
+
|
21
|
+
class ReleaseTaskTest < Test::Unit::TestCase
|
22
|
+
def teardown
|
23
|
+
Rake::Task.clear
|
24
|
+
end
|
25
|
+
|
26
|
+
class InfoUpdateTest < self
|
27
|
+
def test_none_version
|
28
|
+
Dir.mktmpdir do |base_dir|
|
29
|
+
index_dir = File.join(base_dir, "index_dir")
|
30
|
+
|
31
|
+
spec = Gem::Specification.new
|
32
|
+
|
33
|
+
Packnga::ReleaseTask.new(spec) do |task|
|
34
|
+
task.index_html_dir = index_dir
|
35
|
+
task.base_dir = base_dir
|
36
|
+
end
|
37
|
+
|
38
|
+
index = "1.0.0 2013-03-28"
|
39
|
+
index_file = File.join(index_dir, "index.html")
|
40
|
+
create_index_file(index_file, index)
|
41
|
+
ja_index_file = File.join(index_dir, "ja", "index.html")
|
42
|
+
create_index_file(ja_index_file, index)
|
43
|
+
|
44
|
+
package_infos = {
|
45
|
+
:old_version => "1.0.0",
|
46
|
+
:old_release_date => "2013-03-28",
|
47
|
+
:new_release_date => "2013-04-01"
|
48
|
+
}
|
49
|
+
set_environments(package_infos)
|
50
|
+
assert_raise(ArgumentError) do
|
51
|
+
Rake::Task["release:info:update"].invoke
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_version_in_spec
|
57
|
+
Dir.mktmpdir do |base_dir|
|
58
|
+
index_dir = File.join(base_dir, "index_dir")
|
59
|
+
|
60
|
+
spec = nil
|
61
|
+
Gem::Specification.new do |_spec|
|
62
|
+
spec = _spec
|
63
|
+
spec.version = "1.0.1"
|
64
|
+
end
|
65
|
+
Packnga::ReleaseTask.new(spec) do |task|
|
66
|
+
task.index_html_dir = index_dir
|
67
|
+
task.base_dir = base_dir
|
68
|
+
end
|
69
|
+
|
70
|
+
index = "1.0.0 2013-03-28"
|
71
|
+
index_file = File.join(index_dir, "index.html")
|
72
|
+
create_index_file(index_file, index)
|
73
|
+
ja_index_file = File.join(index_dir, "ja", "index.html")
|
74
|
+
create_index_file(ja_index_file, index)
|
75
|
+
|
76
|
+
package_infos = {
|
77
|
+
:old_version => "1.0.0",
|
78
|
+
:old_release_date => "2013-03-28",
|
79
|
+
:new_release_date => "2013-04-01"
|
80
|
+
}
|
81
|
+
set_environments(package_infos)
|
82
|
+
Rake::Task["release:info:update"].invoke
|
83
|
+
|
84
|
+
expected_index = "1.0.1 2013-04-01"
|
85
|
+
assert_equal(expected_index, File.read(index_file))
|
86
|
+
assert_equal(expected_index, File.read(ja_index_file))
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
def test_version_in_env
|
91
|
+
Dir.mktmpdir do |base_dir|
|
92
|
+
index_dir = File.join(base_dir, "index_dir")
|
93
|
+
|
94
|
+
spec = Gem::Specification.new
|
95
|
+
Packnga::ReleaseTask.new(spec) do |task|
|
96
|
+
task.index_html_dir = index_dir
|
97
|
+
task.base_dir = base_dir
|
98
|
+
end
|
99
|
+
|
100
|
+
index = "1.0.0 2013-03-28"
|
101
|
+
index_file = File.join(index_dir, "index.html")
|
102
|
+
create_index_file(index_file, index)
|
103
|
+
ja_index_file = File.join(index_dir, "ja", "index.html")
|
104
|
+
create_index_file(ja_index_file, index)
|
105
|
+
|
106
|
+
package_infos = {
|
107
|
+
:old_version => "1.0.0",
|
108
|
+
:new_version => "1.0.1",
|
109
|
+
:old_release_date => "2013-03-28",
|
110
|
+
:new_release_date => "2013-04-01"
|
111
|
+
}
|
112
|
+
set_environments(package_infos)
|
113
|
+
Rake::Task["release:info:update"].invoke
|
114
|
+
|
115
|
+
expected_index = "1.0.1 2013-04-01"
|
116
|
+
assert_equal(expected_index, File.read(index_file))
|
117
|
+
assert_equal(expected_index, File.read(ja_index_file))
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
def test_same_versions
|
122
|
+
Dir.mktmpdir do |base_dir|
|
123
|
+
index_dir = File.join(base_dir, "index_dir")
|
124
|
+
|
125
|
+
Packnga::ReleaseTask.new(Gem::Specification.new) do |task|
|
126
|
+
task.index_html_dir = index_dir
|
127
|
+
task.base_dir = base_dir
|
128
|
+
end
|
129
|
+
|
130
|
+
index = "1.0.0 2013-03-28"
|
131
|
+
index_file = File.join(index_dir, "index.html")
|
132
|
+
create_index_file(index_file, index)
|
133
|
+
ja_index_file = File.join(index_dir, "ja", "index.html")
|
134
|
+
create_index_file(ja_index_file, index)
|
135
|
+
|
136
|
+
package_infos = {
|
137
|
+
:old_version => "1.0.0",
|
138
|
+
:new_version => "1.0.0",
|
139
|
+
:old_release_date => "2013-03-28",
|
140
|
+
:new_release_date => "2013-04-01"
|
141
|
+
}
|
142
|
+
set_environments(package_infos)
|
143
|
+
|
144
|
+
Rake::Task["release:info:update"].invoke
|
145
|
+
expected_index = "1.0.0 2013-04-01"
|
146
|
+
assert_equal(expected_index, File.read(index_file))
|
147
|
+
assert_equal(expected_index, File.read(ja_index_file))
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
private
|
152
|
+
def create_index_file(index_file, index)
|
153
|
+
FileUtils.mkdir_p(File.dirname(index_file))
|
154
|
+
File.open(index_file, "w") do |file|
|
155
|
+
file.print(index)
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
def set_environments(package_infos={})
|
160
|
+
ENV["OLD_VERSION"] = package_infos[:old_version]
|
161
|
+
ENV["VERSION"] = package_infos[:new_version]
|
162
|
+
ENV["OLD_RELEASE_DATE"] = package_infos[:old_release_date]
|
163
|
+
ENV["RELEASE_DATE"] = package_infos[:new_release_date]
|
164
|
+
end
|
165
|
+
end
|
166
|
+
|
167
|
+
def test_upload_references
|
168
|
+
Dir.mktmpdir do |base_dir|
|
169
|
+
package_name = "packnga"
|
170
|
+
index_dir = File.join(base_dir, "index_dir")
|
171
|
+
reference_dir = File.join(base_dir, "html", package_name)
|
172
|
+
reference_filename = "file.html"
|
173
|
+
|
174
|
+
spec = Gem::Specification.new do |_spec|
|
175
|
+
_spec.name = package_name
|
176
|
+
end
|
177
|
+
|
178
|
+
Packnga::ReleaseTask.new(spec) do |task|
|
179
|
+
task.index_html_dir = index_dir
|
180
|
+
task.base_dir = base_dir
|
181
|
+
end
|
182
|
+
|
183
|
+
FileUtils.mkdir_p(reference_dir)
|
184
|
+
FileUtils.touch(File.join(reference_dir, reference_filename))
|
185
|
+
|
186
|
+
Rake::Task["release:references:upload"].invoke
|
187
|
+
uploaded_path = File.join(index_dir, reference_filename)
|
188
|
+
assert_true(File.exist?(uploaded_path))
|
189
|
+
end
|
190
|
+
end
|
191
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: packnga
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2013-06-07 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|
@@ -35,7 +35,7 @@ dependencies:
|
|
35
35
|
requirements:
|
36
36
|
- - ! '>='
|
37
37
|
- !ruby/object:Gem::Version
|
38
|
-
version:
|
38
|
+
version: 0.8.6.1
|
39
39
|
type: :runtime
|
40
40
|
prerelease: false
|
41
41
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - ! '>='
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
46
|
+
version: 0.8.6.1
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: gettext
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -144,7 +144,7 @@ description: ! 'Packnga is a library to translate to many languages by YARD.
|
|
144
144
|
|
145
145
|
'
|
146
146
|
email:
|
147
|
-
-
|
147
|
+
- yshr04hrk@gmail.com
|
148
148
|
- kou@clear-code.com
|
149
149
|
executables: []
|
150
150
|
extensions: []
|
@@ -154,20 +154,23 @@ files:
|
|
154
154
|
- README.textile
|
155
155
|
- Rakefile
|
156
156
|
- Gemfile
|
157
|
-
-
|
157
|
+
- .yardopts
|
158
|
+
- packnga.gemspec
|
158
159
|
- lib/packnga/document-task.rb
|
159
|
-
- lib/packnga/
|
160
|
-
- lib/packnga/version.rb
|
160
|
+
- lib/packnga/reference-task.rb
|
161
161
|
- lib/packnga/release-task.rb
|
162
|
+
- lib/packnga/version.rb
|
163
|
+
- lib/packnga/yard-task.rb
|
162
164
|
- lib/packnga.rb
|
163
|
-
- doc/text/tutorial.textile
|
164
|
-
- doc/text/release.textile
|
165
165
|
- doc/text/lgpl.txt
|
166
166
|
- doc/text/news.textile
|
167
|
+
- doc/text/release.textile
|
168
|
+
- doc/text/tutorial.textile
|
167
169
|
- test/run-test.rb
|
168
170
|
- test/test-document-task.rb
|
169
171
|
- test/test-reference-task.rb
|
170
|
-
|
172
|
+
- test/test-release-task.rb
|
173
|
+
homepage: http://ranguba.org/packnga/en/
|
171
174
|
licenses:
|
172
175
|
- LGPLv2
|
173
176
|
post_install_message:
|
@@ -182,7 +185,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
182
185
|
version: '0'
|
183
186
|
segments:
|
184
187
|
- 0
|
185
|
-
hash: -
|
188
|
+
hash: -2492821662086626858
|
186
189
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
187
190
|
none: false
|
188
191
|
requirements:
|
@@ -191,7 +194,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
191
194
|
version: '0'
|
192
195
|
segments:
|
193
196
|
- 0
|
194
|
-
hash: -
|
197
|
+
hash: -2492821662086626858
|
195
198
|
requirements: []
|
196
199
|
rubyforge_project:
|
197
200
|
rubygems_version: 1.8.23
|
@@ -202,4 +205,5 @@ test_files:
|
|
202
205
|
- test/run-test.rb
|
203
206
|
- test/test-document-task.rb
|
204
207
|
- test/test-reference-task.rb
|
208
|
+
- test/test-release-task.rb
|
205
209
|
has_rdoc:
|