packnga 0.9.0 → 0.9.1
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/Rakefile +7 -0
- data/doc/text/news.textile +17 -0
- data/lib/packnga/document-task.rb +4 -0
- data/lib/packnga/reference-task.rb +17 -7
- data/lib/packnga/release-task.rb +24 -5
- data/lib/packnga/version.rb +1 -1
- metadata +4 -4
data/Rakefile
CHANGED
@@ -25,6 +25,13 @@ require 'rubygems/package_task'
|
|
25
25
|
require "rake/clean"
|
26
26
|
require 'jeweler'
|
27
27
|
|
28
|
+
if YAML.const_defined?(:ENGINE)
|
29
|
+
begin
|
30
|
+
YAML::ENGINE.yamler = "psych"
|
31
|
+
rescue LoadError
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
28
35
|
base_dir = File.join(File.dirname(__FILE__))
|
29
36
|
|
30
37
|
packnga_lib_dir = File.join(base_dir, 'lib')
|
data/doc/text/news.textile
CHANGED
@@ -1,5 +1,22 @@
|
|
1
1
|
h1. NEWS
|
2
2
|
|
3
|
+
h2. 0.9.1: 2011-08-25
|
4
|
+
|
5
|
+
h3. Improvements
|
6
|
+
|
7
|
+
* created package in rubyforge if package isn't created.
|
8
|
+
* added Packnga::ReleaseTask#tag_message.
|
9
|
+
* added Packnga::ReleaseTask#publish_options.
|
10
|
+
* added attribute in DocumentTask for getting .htaccess file path.
|
11
|
+
* added reference:publicaton:generate.
|
12
|
+
(This task is run after prepareing to publish references.)
|
13
|
+
|
14
|
+
h3. Fixes
|
15
|
+
|
16
|
+
* checked group_ids before add_releasing tar.gz to rubyforge.
|
17
|
+
* wrote only sentence for redirect to english page in .htaccess file.
|
18
|
+
(don't write sentence for redirect tutorial page.)
|
19
|
+
|
3
20
|
h2. 0.9.0: 2011-08-19
|
4
21
|
|
5
22
|
The first release!
|
@@ -33,6 +33,7 @@ module Packnga
|
|
33
33
|
@translate_languages = nil
|
34
34
|
@supported_languages = nil
|
35
35
|
@html_files = nil
|
36
|
+
@htaccess = nil
|
36
37
|
@po_dir = nil
|
37
38
|
@pot_file = nil
|
38
39
|
if block_given?
|
@@ -47,16 +48,19 @@ module Packnga
|
|
47
48
|
define_tasks
|
48
49
|
end
|
49
50
|
|
51
|
+
# path of .htaccess.
|
52
|
+
def htaccess
|
53
|
+
html_reference_dir + ".htaccess"
|
54
|
+
end
|
55
|
+
|
50
56
|
private
|
51
57
|
def set_default_values
|
52
58
|
@base_dir ||= Pathname.new("doc")
|
53
59
|
@translate_languages ||= [:ja]
|
54
60
|
@supported_languages = [:en, *@translate_languages]
|
55
61
|
@html_files = FileList[(doc_en_dir + "**/*.html").to_s].to_a
|
56
|
-
|
57
62
|
@po_dir = "doc/po"
|
58
63
|
@pot_file = "#{@po_dir}/#{@spec.name}.pot"
|
59
|
-
|
60
64
|
end
|
61
65
|
|
62
66
|
def reference_base_dir
|
@@ -89,7 +93,10 @@ module Packnga
|
|
89
93
|
namespace :pot do
|
90
94
|
directory @po_dir
|
91
95
|
file @pot_file => [@po_dir, *@html_files] do |t|
|
92
|
-
sh("xml2po",
|
96
|
+
sh("xml2po",
|
97
|
+
"--keep-entities",
|
98
|
+
"--output", t.name,
|
99
|
+
*@html_files)
|
93
100
|
end
|
94
101
|
|
95
102
|
desc "Generates pot file."
|
@@ -106,7 +113,10 @@ module Packnga
|
|
106
113
|
|
107
114
|
if File.exist?(po_file)
|
108
115
|
file po_file => @html_files do |t|
|
109
|
-
sh("xml2po",
|
116
|
+
sh("xml2po",
|
117
|
+
"--keep-entities",
|
118
|
+
"--update", t.name,
|
119
|
+
*@html_files)
|
110
120
|
end
|
111
121
|
else
|
112
122
|
file po_file => @pot_file do |t|
|
@@ -222,13 +232,13 @@ module Packnga
|
|
222
232
|
end
|
223
233
|
end
|
224
234
|
end
|
225
|
-
File.open(
|
226
|
-
file.puts("Redirect permanent /#{@spec.name}/text/TUTORIAL_ja_rdoc.html " +
|
227
|
-
"#{@spec.homepage}#{@spec.name}/ja/file.tutorial.html")
|
235
|
+
File.open(htaccess, "w") do |file|
|
228
236
|
file.puts("RedirectMatch permanent ^/#{@spec.name}/$ " +
|
229
237
|
"#{@spec.homepage}#{@spec.name}/en/")
|
230
238
|
end
|
231
239
|
end
|
240
|
+
|
241
|
+
task :generate => ["reference:generate", "reference:publication:prepare"]
|
232
242
|
end
|
233
243
|
end
|
234
244
|
|
data/lib/packnga/release-task.rb
CHANGED
@@ -33,6 +33,12 @@ module Packnga
|
|
33
33
|
# This attribute is path of base directory of document.
|
34
34
|
# @param [String] path of base directory of document
|
35
35
|
attr_writer :base_dir
|
36
|
+
# This attribute is message when tagging in release.
|
37
|
+
# @param [String] message
|
38
|
+
attr_writer :tag_message
|
39
|
+
# This attribute is options for uploading rubyforge by rsync.
|
40
|
+
# @param [hash] options for uploading.
|
41
|
+
attr_writer :publish_options
|
36
42
|
# Defines task for preparing to release.
|
37
43
|
# Defined tasks update version and release-date in index files
|
38
44
|
# and tag in git.
|
@@ -43,6 +49,8 @@ module Packnga
|
|
43
49
|
@spec = spec
|
44
50
|
@index_html_dir = nil
|
45
51
|
@rubyforge = nil
|
52
|
+
@tag_messsage = nil
|
53
|
+
@publish_options = nil
|
46
54
|
yield(self) if block_given?
|
47
55
|
set_default_values
|
48
56
|
define_tasks
|
@@ -60,6 +68,8 @@ module Packnga
|
|
60
68
|
def set_default_values
|
61
69
|
@index_html_dir ||= "doc/html"
|
62
70
|
@base_dir ||= Pathname.new("doc")
|
71
|
+
@tag_message ||= 'release #{version}!!!'
|
72
|
+
@publish_options ||= {}
|
63
73
|
end
|
64
74
|
|
65
75
|
def define_tasks
|
@@ -115,7 +125,7 @@ module Packnga
|
|
115
125
|
desc "Tag the current revision."
|
116
126
|
task :tag do
|
117
127
|
version = @spec.version
|
118
|
-
sh("git tag -a #{version} -m '
|
128
|
+
sh("git tag -a #{version} -m '#{@tag_message}'")
|
119
129
|
end
|
120
130
|
end
|
121
131
|
|
@@ -132,8 +142,8 @@ module Packnga
|
|
132
142
|
def define_reference_task
|
133
143
|
namespace :reference do
|
134
144
|
desc "Upload document to rubyforge."
|
135
|
-
task :publish =>
|
136
|
-
rsync_to_rubyforge(@spec, "#{html_reference_dir}/", @spec.name)
|
145
|
+
task :publish => "reference:publication:generate" do
|
146
|
+
rsync_to_rubyforge(@spec, "#{html_reference_dir}/", @spec.name, @publish_options)
|
137
147
|
end
|
138
148
|
end
|
139
149
|
end
|
@@ -142,7 +152,7 @@ module Packnga
|
|
142
152
|
namespace :html do
|
143
153
|
desc "Publish HTML to Web site."
|
144
154
|
task :publish do
|
145
|
-
rsync_to_rubyforge(@spec, "#{html_base_dir}/", "")
|
155
|
+
rsync_to_rubyforge(@spec, "#{html_base_dir}/", "", @publish_options)
|
146
156
|
end
|
147
157
|
end
|
148
158
|
end
|
@@ -160,6 +170,13 @@ module Packnga
|
|
160
170
|
system("stty -echo")
|
161
171
|
@rubyforge.userconfig["password"] = STDIN.gets.chomp
|
162
172
|
system("stty echo")
|
173
|
+
if @rubyforge.autoconfig["group_ids"][@spec.rubyforge_project].nil?
|
174
|
+
@rubyforge.scrape_config
|
175
|
+
@rubyforge.save_autoconfig
|
176
|
+
end
|
177
|
+
if @rubyforge.autoconfig["package_ids"][@spec.name].nil?
|
178
|
+
@rubyforge.create_package(@rubyforge.autoconfig["group_ids"][@spec.rubyforge_project], @spec.name)
|
179
|
+
end
|
163
180
|
@rubyforge.add_release(@spec.rubyforge_project,
|
164
181
|
@spec.name,
|
165
182
|
@spec.version.to_s,
|
@@ -173,8 +190,10 @@ module Packnga
|
|
173
190
|
def rsync_to_rubyforge(spec, source, destination, options={})
|
174
191
|
host = "#{@rubyforge.userconfig["username"]}@rubyforge.org"
|
175
192
|
|
176
|
-
rsync_args = "-av --
|
193
|
+
rsync_args = "-av --exclude '*.erb' --chmod=ug+w"
|
194
|
+
rsync_args << " --group=#{spec.rubyforge_project}"
|
177
195
|
rsync_args << " --delete" if options[:delete]
|
196
|
+
rsync_args << " --dry-run" if options[:dryrun]
|
178
197
|
remote_dir = "/var/www/gforge-projects/#{spec.rubyforge_project}/"
|
179
198
|
sh("rsync #{rsync_args} #{source} #{host}:#{remote_dir}#{destination}")
|
180
199
|
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: 57
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 9
|
9
|
-
-
|
10
|
-
version: 0.9.
|
9
|
+
- 1
|
10
|
+
version: 0.9.1
|
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-08-
|
19
|
+
date: 2011-08-25 00:00:00 +09:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|