shipit 0.0.4 → 0.0.5

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.
Files changed (5) hide show
  1. data/ChangeLog +57 -134
  2. data/README +3 -1
  3. data/Rakefile +5 -5
  4. data/lib/shipit.rb +25 -11
  5. metadata +2 -2
data/ChangeLog CHANGED
@@ -1,140 +1,63 @@
1
- 2008-01-06 cho45
1
+ ChangeLog of http://svn.coderepos.org/share/lang/ruby/shipit/trunk
2
2
 
3
- * [r4147] lib/shipit.rb:
4
-
5
- Ask after show all steps.
3
+ 2008-01-19 cho45
6
4
 
7
- * [r4146] Rakefile:
8
-
9
- Remove skip from Rakefile... This was only for debugging...
5
+ * [bug][interface] @4959:
6
+ Remove 3rd argument of Step::ChangeVersion because it is meaningless.
7
+ Fix bug around checking vers on Step::ChangeVersion.
8
+
9
+
10
10
 
11
- * [r4141] README:
12
-
13
- follow removing Step::Ask
11
+ * [new] @4958:
12
+ Implement checking VERS constant to avoid trap.
14
13
 
15
- * [r4140] Rakefile, lib/shipit.rb:
16
-
17
- Remove Step::Ask (is now default)
18
- Add Step::Skip (is skip preceding steps)
14
+ 2008-01-07 cho45
19
15
 
20
- * [r4139] lib/shipit.rb:
21
-
22
- implement state shared with steps.
23
- change spec of arguments of initialize
24
-
25
- * [r4138] README:
26
-
27
- change license to Ruby's
28
- fix checkout uri
29
-
30
- * [r4136] README:
31
-
32
- append development notices to README
33
-
34
- * [r4110] lib/shipit.rb:
35
-
36
- better message
37
-
38
- * [r4105] lib/shipit.rb:
39
-
40
- unexpected return がうざいのでちゃんと条件分岐する
41
-
42
- * [r4104] lib/shipit.rb:
43
-
44
- prepare タスクだけを実行できるように
45
- (Perl shipit コマンドから shipit gem のタスクをたたきやすいように)
46
-
47
- * [r4101] lib/shipit.rb:
48
-
49
- デバッグコードが残っていた
50
-
51
- * [r4100] Rakefile, lib/shipit.rb:
52
-
53
- term-ansicolor 使ってみやすくなるように
54
-
55
- * [r4099] Rakefile:
56
-
57
- 出力がうざいので判定方法を変更
58
-
59
- 2008-01-05 cho45
60
-
61
- * [r4078] README:
62
-
63
- README のサンプルを更新 (ChangeVersion を変更した)
64
-
65
- * [r4076] ChangeLog, Rakefile:
66
-
67
- Release 0.0.3
68
-
69
- * [r4075] lib/shipit.rb:
70
-
71
- タスクの実行を内部でやらないように (version をよみなおすため)
72
- いろいろやってみたけどこれがいちばん簡単なようだ……
73
-
74
- * [r4073] lib/shipit.rb:
75
-
76
- version のかきかえがうまくいかず、重複してリリースできない問題を修正
77
-
78
- * [r4071] lib/shipit.rb:
79
-
80
- 変更が残っている場合にはリリースコミットをできないように
81
-
82
- * [r4070] lib/shipit.rb:
83
-
84
- 定数参照の修正漏れ
85
-
86
- * [r4069] lib/shipit.rb:
87
-
88
- run phase 時にエラーがでないように定数参照は prepare 時にするように
89
-
90
- * [r4068] Rakefile, lib/shipit.rb:
91
-
92
- ChangeVersion の仕様をよくあるほうに変更
93
- s.ChangeVersion filename, "VERSION"
94
-
95
- * [r4054] lib/shipit.rb:
96
-
97
- tag のとき -m 追加 (エディタがひらいてしまっていた)
98
-
99
- * [r4052] ChangeLog, Rakefile:
100
-
101
- Release 0.0.2
102
-
103
- * [r4051] ., README:
104
-
105
- svn:ignore の設定と README のサンプルを Rakefile に追従
106
-
107
- * [r4050] README, Rakefile, lib/shipit.rb:
108
-
109
- Step::Tag を追加
110
-
111
- * [r4048] README:
112
-
113
- README を更新
114
-
115
- * [r4047] lib/shipit.rb:
116
-
117
- 前回のコミットと同じ問題
118
-
119
- * [r4046] lib/shipit.rb:
120
-
121
- initialize が走るときにはまだVERSは変更されていないので
122
- コミットメッセージが矛盾してしまう
123
-
124
- * [r4045] ChangeLog, Rakefile:
125
-
126
- Release 0.0.0
127
-
128
- * [r4044] Rakefile:
129
-
130
- 引数間違い
131
-
132
- * [r4043] README, Rakefile, lib/shipit.rb:
133
-
134
- description とか
135
-
136
- * [r4042] ., ChangeLog, README, Rakefile, lib, lib/shipit.rb, test,
137
- test/shipit_test.rb, test/test_helper.rb:
138
-
139
- import
16
+ * [interface] @4185:
17
+ remove dryrun implemented by $SAFE because it is not useful.
18
+
19
+ * [interface] @4183:
20
+ use namespace
21
+ try to implement dryrun (this is just run on high $SAFE environment)
22
+
23
+ 2008-01-06 cho45
24
+
25
+ * [release] @4149:
26
+ Release 0.0.4
27
+
28
+ * [interface] @4140:
29
+ Remove Step::Ask (is now default)
30
+ Add Step::Skip (is skip preceding steps)
31
+
32
+ * [new] @4139:
33
+ implement state shared with steps.
34
+ change spec of arguments of initialize
35
+
36
+ 2008-01-05 cho45
37
+
38
+ * [release] @4077:
39
+ Release 0.0.3
40
+
41
+ * [bug] @4075:
42
+ タスクの実行を内部でやらないように (version をよみなおすため)
43
+ いろいろやってみたけどこれがいちばん簡単なようだ……
44
+ ([important] Fix bugs around treating VERS.)
45
+
46
+ * [bug] @4069:
47
+ run phase 時にエラーがでないように定数参照は prepare 時にするように
48
+
49
+ * [interface] @4068:
50
+ ChangeVersion の仕様をよくあるほうに変更
51
+ s.ChangeVersion filename, "VERSION"
52
+
53
+ * [release] @4052:
54
+ Release 0.0.2
55
+
56
+ * [bug] @4046:
57
+ initialize が走るときにはまだVERSは変更されていないので
58
+ コミットメッセージが矛盾してしまう
59
+ (Fix discrepancy of commit message in shipit step.)
60
+
61
+ * [release] @4045:
62
+ Release 0.0.0
140
63
 
data/README CHANGED
@@ -53,9 +53,11 @@ See more example at Rakefile[http://svn.coderepos.org/share/lang/ruby/shipit/tru
53
53
 
54
54
  Some constants are currently hard-coded.
55
55
 
56
- * NAME -> name of the library
56
+ * NAME -> name of the library.
57
57
  * DESCRIPTION -> description of the library
58
58
  * VERS -> version of the library
59
+ This is MUST reference to version string of ChangeVersion step, or
60
+ the package task will fail and RubyForge step release wrong version.
59
61
 
60
62
  If you use different constants, please assign the value to above constants.
61
63
 
data/Rakefile CHANGED
@@ -19,7 +19,7 @@ DESCRIPTION = "Automated release tasks."
19
19
  RUBYFORGE_PROJECT = "lowreal"
20
20
  HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
21
21
  BIN_FILES = %w( )
22
- VERS = "0.0.4"
22
+ VERS = "0.0.5"
23
23
 
24
24
  REV = File.read(".svn/entries")[/committed-rev="(d+)"/, 1] rescue nil
25
25
  CLEAN.include ['**/.*.sw?', '*.gem', '.config']
@@ -116,13 +116,13 @@ Rake::ShipitTask.new do |s|
116
116
  s.Step.new {
117
117
  system("svn", "up")
118
118
  }.and {}
119
- s.Task :rubyforge
120
119
  s.Step.new {
121
- raise "svn2cl.sh is not found" unless `svn2cl.sh --version`[/svn2cl.sh/]
120
+ raise "changelog-with-hatenastar.rb is not found" unless system("which", "changelog-with-hatenastar.rb")
122
121
  }.and {
123
- system("svn2cl.sh --break-before-msg=2 --group-by-day --include-rev --separate-daylogs")
122
+ system("changelog-with-hatenastar.rb > ChangeLog")
124
123
  }
125
- s.ChangeVersion __FILE__, "VERS"
124
+ s.Task :rubyforge
125
+ s.ChangeVersion "Rakefile", "VERS"
126
126
  s.Commit
127
127
  s.Task :clean, :package
128
128
  s.RubyForge
data/lib/shipit.rb CHANGED
@@ -2,6 +2,7 @@ require "rubygems"
2
2
  require "rake"
3
3
  require "rake/tasklib"
4
4
  require "term/ansicolor"
5
+ require "fileutils"
5
6
 
6
7
  class Rake::ShipitTask < Rake::TaskLib
7
8
  attr_reader :name
@@ -40,7 +41,7 @@ class Rake::ShipitTask < Rake::TaskLib
40
41
  s.prepare if s.respond_to? :prepare
41
42
  end
42
43
  puts green { "done." }
43
- unless t.name =~ /_prepare$/
44
+ unless t.name =~ /:prepare$/
44
45
  puts
45
46
  puts green { "Steps: #{steps.map{|i| i.class.name.sub(/.+::/, "")}.join(", ")}" }
46
47
  puts "Really run? Cancel to press Ctrl+C."
@@ -54,10 +55,12 @@ class Rake::ShipitTask < Rake::TaskLib
54
55
  end
55
56
  desc "Shipit: Automated Release"
56
57
  task @name, &t
57
- desc "Shipit: Automated Release (Only run prepare phase)"
58
- task "#{@name}_prepare", &t
59
- #desc "Shipit: Automated Release (dry run)"
60
- #task "#{@name}_dryrun", &t
58
+ namespace @name do
59
+ desc "Shipit: Automated Release (Only run prepare phase)"
60
+ task :prepare, &t
61
+ # desc "Shipit: Automated Release (Dry run)"
62
+ # task :dryrun, &t
63
+ end
61
64
  end
62
65
  end
63
66
 
@@ -115,10 +118,9 @@ class Rake::ShipitTask::Step::Twitter
115
118
  end
116
119
 
117
120
  class Rake::ShipitTask::Step::ChangeVersion
118
- def initialize(step, file, name="VERSION", vers=VERS)
121
+ def initialize(step, file, name="VERSION")
119
122
  @file = file
120
123
  @name = name
121
- @vers = vers
122
124
  end
123
125
 
124
126
  def prepare
@@ -127,17 +129,29 @@ class Rake::ShipitTask::Step::ChangeVersion
127
129
  @content = @file.read
128
130
  @match = @content.match(/#{@name}\s*=\s*['"](\d+\.\d+\.\d+)['"]/)
129
131
  @new_version = @match[1].succ
132
+ @newcont = @content[0..@match.begin(1)-1] + @new_version + @content[@match.end(1)..-1]
130
133
  raise "Can't find version string in #{@file}." if @match.nil?
131
134
  puts "Find version string #{@match[1]} and will change to #{@new_version}"
132
- @vers.replace @new_version
135
+
136
+ # check content of Rakefile
137
+ @org = @file.parent + "#{@file.basename}.org"
138
+ FileUtils.cp @file, @org
139
+ @file.open("w") do |f|
140
+ f.print @newcont
141
+ end
142
+ m = Module.new
143
+ m.module_eval(File.read("Rakefile"))
144
+
145
+ FileUtils.mv @org, @file
146
+ raise "Constant VERS in Rakefile must be same as 3rd argument of ChangeVersion step." unless @new_version == m.const_get(:VERS)
147
+
148
+ VERS.replace @new_version
133
149
  end
134
150
 
135
151
  def run
136
152
  puts "Changing version to #{@new_version}"
137
153
  @file.open("w") do |f|
138
- f.print @content[0..@match.begin(1)-1]
139
- f.print @new_version
140
- f.print @content[@match.end(1)..-1]
154
+ f.print @newcont
141
155
  end
142
156
  end
143
157
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shipit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - cho45
@@ -9,7 +9,7 @@ autorequire: shipit
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-01-07 00:00:00 +09:00
12
+ date: 2008-01-19 00:00:00 +09:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency