yugui-chkbuild 0.1.2

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 (66) hide show
  1. data/README.ja.rd +191 -0
  2. data/Rakefile +56 -0
  3. data/VERSION +1 -0
  4. data/bin/last-build +28 -0
  5. data/bin/start-build +37 -0
  6. data/chkbuild.gemspec +107 -0
  7. data/core_ext/io.rb +17 -0
  8. data/core_ext/string.rb +10 -0
  9. data/lib/chkbuild.rb +45 -0
  10. data/lib/chkbuild/build.rb +718 -0
  11. data/lib/chkbuild/lock.rb +57 -0
  12. data/lib/chkbuild/logfile.rb +230 -0
  13. data/lib/chkbuild/main.rb +138 -0
  14. data/lib/chkbuild/options.rb +62 -0
  15. data/lib/chkbuild/scm/cvs.rb +132 -0
  16. data/lib/chkbuild/scm/git.rb +223 -0
  17. data/lib/chkbuild/scm/svn.rb +215 -0
  18. data/lib/chkbuild/scm/xforge.rb +33 -0
  19. data/lib/chkbuild/target.rb +180 -0
  20. data/lib/chkbuild/targets/gcc.rb +94 -0
  21. data/lib/chkbuild/targets/ruby.rb +456 -0
  22. data/lib/chkbuild/title.rb +107 -0
  23. data/lib/chkbuild/upload.rb +66 -0
  24. data/lib/misc/escape.rb +535 -0
  25. data/lib/misc/gdb.rb +74 -0
  26. data/lib/misc/timeoutcom.rb +174 -0
  27. data/lib/misc/udiff.rb +244 -0
  28. data/lib/misc/util.rb +232 -0
  29. data/sample/build-autoconf-ruby +69 -0
  30. data/sample/build-gcc-ruby +43 -0
  31. data/sample/build-ruby +37 -0
  32. data/sample/build-ruby2 +36 -0
  33. data/sample/build-svn +55 -0
  34. data/sample/build-yarv +35 -0
  35. data/sample/test-apr +12 -0
  36. data/sample/test-catcherr +23 -0
  37. data/sample/test-combfail +21 -0
  38. data/sample/test-core +14 -0
  39. data/sample/test-core2 +19 -0
  40. data/sample/test-date +9 -0
  41. data/sample/test-dep +17 -0
  42. data/sample/test-depver +14 -0
  43. data/sample/test-echo +9 -0
  44. data/sample/test-env +9 -0
  45. data/sample/test-error +9 -0
  46. data/sample/test-fail +18 -0
  47. data/sample/test-fmesg +16 -0
  48. data/sample/test-gcc-v +15 -0
  49. data/sample/test-git +11 -0
  50. data/sample/test-leave-proc +9 -0
  51. data/sample/test-limit +9 -0
  52. data/sample/test-make +9 -0
  53. data/sample/test-neterr +16 -0
  54. data/sample/test-savannah +14 -0
  55. data/sample/test-sleep +9 -0
  56. data/sample/test-timeout +9 -0
  57. data/sample/test-timeout2 +10 -0
  58. data/sample/test-timeout3 +9 -0
  59. data/sample/test-upload +13 -0
  60. data/sample/test-warn +13 -0
  61. data/setup/upload-rsync-ssh +572 -0
  62. data/test/misc/test-escape.rb +17 -0
  63. data/test/misc/test-logfile.rb +108 -0
  64. data/test/misc/test-timeoutcom.rb +23 -0
  65. data/test/test_helper.rb +9 -0
  66. metadata +123 -0
@@ -0,0 +1,191 @@
1
+ = chkbuild
2
+
3
+ chkbuild �ϡ����Ū�˥��եȥ�������ӥ�ɤ���
4
+ �ӥ�ɤε�Ͽ�� HTML �ڡ����Ȥ����������ޤ���
5
+
6
+ == ���
7
+
8
+ ���� ů <akr@fsij.org>
9
+
10
+ == ��ħ
11
+
12
+ * timeout ������Ǥ��ޤ�
13
+
14
+ ���ꤷ�����֤��᤮���顢�ץ������� kill ���ޤ���
15
+ ���Τ��ᡢ�ӥ�ɤ���λ���ʤ����꤬���ä����Ǥ⡢���ꤷ�����֤ǽ�λ���ޤ���
16
+
17
+ * backtrace ��ưŪ�ˤȤ�ޤ�
18
+
19
+ �ӥ�ɤη�� core ����������Ƥ����顢��ưŪ�� gdb ��ư����
20
+ backtrace ��Ͽ���ޤ���
21
+
22
+ * ���ε�Ͽ�ϼ�ưŪ�� gzip ���̤���ޤ�
23
+
24
+ * ����ε�Ͽ�Ȥ� diff ���������ޤ�
25
+ ���ΤȤ����ޥ�ɤ�¹Ԥ�������ʤɡ����ۤʤ�Τ������ʤ�Τϻ������ִ����졢
26
+ diff �ˤ�ɽ��ޤ���
27
+ �ġ��Υӥ�ɸ�ͭ��������ִ������оݤ����ꤹ�뤳�Ȥ��ǽ�Ǥ���
28
+
29
+ * cvs, svn �ǥ���������������硢ViewVC �ˤ�� diff �ؤΥ�󥯤������Ǥ��ޤ���
30
+
31
+ * �ҤȤĤΥӥ����Ǽ��Ԥ��������Ȥ��ˡ����μ��Ԥ˰�¸���ʤ���ʬ��³�Ԥ��뤳�Ȥ��Ǥ��ޤ���
32
+
33
+ == û���ʥ桼���Τ�������֤���ӻ�� ruby �κǿ��Ǥ�ӥ�ɤ��Ƥߤ���ˡ
34
+
35
+ % cd $HOME
36
+ % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/ruby co chkbuild
37
+ % cd chkbuild
38
+ % ruby start-build
39
+
40
+ % w3m tmp/public_html/ruby-trunk/summary.html
41
+ % w3m tmp/public_html/ruby-trunk-pth/summary.html
42
+ % w3m tmp/public_html/ruby-1.8/summary.html
43
+ % w3m tmp/public_html/ruby-1.8-pth/summary.html
44
+
45
+ % rm -rf tmp
46
+
47
+ ������ˡ�Ϥ����ޤǤ���ư������ΤǤ��äơ�
48
+ ����� cron �����Ū�˼¹Ԥ��뤳�ȤϤ��ʤ��Ǥ���������
49
+
50
+ == ����
51
+
52
+ �ʲ�����Ǥϡ����ʤ��Υ桼��̾�� foo �ǡ�
53
+ /home/foo/chkbuild �� chkbuild �����֤��뤳�Ȥ��ꤷ�ޤ���
54
+ ¾�Υǥ��쥯�ȥ�����֤������Ŭ�����ѹ����Ƥ���������
55
+
56
+ (1) chkbuild �Υ���������ɡ�Ÿ��
57
+
58
+ % cd /home/foo
59
+ % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/ruby co chkbuild
60
+
61
+ (2) chkbuild ������
62
+
63
+ ���ޤ��ޤʥ���ץ�����꤬ sample �ǥ��쥯�ȥ�ˤ���ޤ��Τǡ�
64
+ Ŭ���ʤ�Τ��Խ����ޤ���
65
+ �ޤ���start-build �ϥ���ץ��ƤӽФ�������ץȤǤ���
66
+
67
+ % cd chkbuild
68
+ % vi sample/build-ruby
69
+ % vi start-build
70
+
71
+ �������ƤˤĤ��ƾܤ����ϼ���ǽҤ٤ޤ���
72
+
73
+ �ʤ�����������Ƥ��ѹ�������ruby start-build �Ȥ��Ƽ¹Ԥ������ϡ�
74
+ Ruby �� main trunk �� ruby_1_8 branch ��
75
+ ���줾�� --enable-pthread ̵����ͭ�������Ȥ���
76
+ ��4����� /home/foo/chkbuild/tmp �ʲ��ǥӥ�ɤ��ޤ���
77
+
78
+ foo �桼���ǥӥ�ɤ�����硢���� chkbuild �桼���ǤΥӥ�ɤμ���ˤʤ�ޤ��Τǡ�
79
+ �ӥ�ɷ�̤������Ƥ����ޤ���
80
+
81
+ % rm -rf tmp
82
+
83
+ (3) chkbuild �桼���κ���
84
+
85
+ chkbuild ��ư�����ѤΥ桼�������롼�פ���ޤ���
86
+ �������ƥ������ͳ�⤢�ꡢɬ�����ѥ桼�������롼�פ��äƤ���������
87
+ �ޤ���chkbuild ���롼�פ� foo ��ä������
88
+ �ޤ����ʲ��Τ褦�ʥ����ʡ����롼�ס��⡼�ɤǥǥ��쥯�ȥ���ꡢ
89
+ chkbuild �桼�����Ȥ� build, public_html �ʲ��ˤ����񤭹���ʤ��褦�ˤ��ޤ���
90
+
91
+ /home/chkbuild user=foo group=chkbuild mode=2750
92
+ /home/chkbuild/build user=foo group=chkbuild mode=2775
93
+ /home/chkbuild/public_html user=foo group=chkbuild mode=2775
94
+
95
+ % su
96
+ # adduser --disabled-login --no-create-home --shell /home/foo/chkbuild/start-build chkbuild
97
+ # usermod -G ...,chkbuild foo
98
+ # cd /home
99
+ # mkdir chkbuild
100
+ # chown foo:chkbuild chkbuild
101
+ # chmod 2750 chkbuild
102
+ # su foo
103
+ % cd chkbuild
104
+ % mkdir build public_html
105
+ % chgrp chkbuild build public_html
106
+ % chmod 2775 build public_html
107
+ % exit
108
+ # exit
109
+
110
+ (4) �����ǥ��쥯�ȥ������
111
+
112
+ % ln -s /home/chkbuild tmp
113
+
114
+ �ǥե���Ȥ�����Τޤ� /home/chkbuild �ʲ��ǥӥ�ɤ��������ˤϤ��Τ褦��
115
+ ����ܥ�å���󥯤���Τ���ñ�Ǥ���
116
+
117
+ (6) ����¹Ԥ�����
118
+
119
+ # vi /etc/crontab
120
+
121
+ ���Ȥ��С��������� 3��33ʬ�˼¹Ԥ���ˤ� /etc/crontab �˰ʲ��ιԤ��������ޤ���
122
+
123
+ 33 3 * * * root cd /home/foo/chkbuild; su chkbuild
124
+
125
+ su chkbuild �ˤ�ꡢchkbuild �桼�������ꤷ��������Ȥ������ꤷ��
126
+ /home/foo/chkbuild/start-build ����ư���ޤ���
127
+
128
+ (7) ���������ʥ���
129
+
130
+ Ruby ��ȯ�Ԥ˸����ߤ����ʤ顢Ruby hotlinks ����Ͽ����Ȥ��������Τ�ޤ���
131
+
132
+ http://www.rubyist.net/~kazu/samidare/latest
133
+
134
+ == ����
135
+
136
+ chkbuild ������ϡ�Ruby �ǵ��Ҥ���ޤ���
137
+ �ºݤΤȤ�����chkbuild �����Τ� chkbuild.rb �Ȥ��� Ruby �Υ饤�֥��Ǥ��ꡢ
138
+ chkbuild.rb �����Ѥ��륹����ץȤ򵭽Ҥ��뤳�Ȥ�����Ȥʤ�ޤ���
139
+
140
+ == �������ƥ�
141
+
142
+ chkbuild �ˤ�ꡢcvs/svn/git �����Фʤɤ�������Ǥ���ǿ��Ǥ򥳥�ѥ��뤹�뤳�Ȥϡ�
143
+ �����Ф˽񤭹���볫ȯ�Ԥ� �����Ф����äƤ��륳���ɤ��Ѥ��뤳�Ȥˤʤ�ޤ���
144
+
145
+ ��ȯ�Ԥ��Ѥ��뤳�Ȥ��̾����ꤢ��ޤ���
146
+ �⤷��ȯ�Ԥ��Ѥ��ʤ��Τʤ�С����⤽�⤢�ʤ��Ϥ��Υץ�������Ȥ�ʤ��Ǥ��礦��
147
+
148
+ �������������Ф����äƤ��륳���ɤ��Ѥ���Τ���̯�������Ϥ��Ǥ��ޤ���
149
+ �����Ф�����å����졢���դΤ����ʪ�������ʥ����ɤ����������ǽ��������ޤ���
150
+ ���Ȥ��С����ʤ��θ��¤Ǽ¹Ԥ��Ƥ����顢���ʤ��Υۡ���ǥ��쥯�ȥ꤬�������Ƥ��ޤ������Τ�ޤ��󤷡�
151
+ ���ʤ�����̩������ޤ�Ƥ��ޤ������Τ�ޤ���
152
+
153
+ ���Τ��ᡢchkbuild �Ͼ��ʤ��Ȥ����ѥ桼���Ǽ¹Ԥ���
154
+ ���ʤ��Υۡ���ǥ��쥯�ȥ���ѹ���ä����ʤ��褦�ˤ��٤��Ǥ���
155
+
156
+ �ޤ� chkbuild �Υ�����ץȼ��Ȥ�񤭴������ʤ��褦�ˡ�chkbuild �Ϥ������ѥ桼���Ȥ��̤Υ桼���ν�ͭ�Ȥ��٤��Ǥ���
157
+ �ʤ��������Ǥ������̤Υ桼���פΤ�������ѤΥ桼�����Ѱդ���ɬ�פϤ���ޤ���
158
+ ���ʤ��θ��¤Ǥ⤤���Ǥ�����root �Ǥ⤫�ޤ��ޤ���
159
+
160
+ �ʤ�����������տ������ꤿ�����ˤϡ�
161
+ xen, chroot, jail, user mode linux, VMware, ... �ʤɤǴĶ�����ꤹ�뤳�Ȥ⸡Ƥ���Ƥ���������
162
+
163
+ == TODO
164
+
165
+ * index.html ����������
166
+
167
+ == LICENSE
168
+
169
+ Redistribution and use in source and binary forms, with or without
170
+ modification, are permitted provided that the following conditions are met:
171
+
172
+ 1. Redistributions of source code must retain the above copyright notice, this
173
+ list of conditions and the following disclaimer.
174
+ 2. Redistributions in binary form must reproduce the above copyright notice,
175
+ this list of conditions and the following disclaimer in the documentation
176
+ and/or other materials provided with the distribution.
177
+ 3. The name of the author may not be used to endorse or promote products
178
+ derived from this software without specific prior written permission.
179
+
180
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
181
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
182
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
183
+ EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
184
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
185
+ OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
186
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
187
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
188
+ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
189
+ OF SUCH DAMAGE.
190
+
191
+ (The modified BSD license)
@@ -0,0 +1,56 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = "chkbuild"
8
+ gem.summary = %Q{gemified version of akr's chkbuild - a robust continuous building system}
9
+ gem.email = "yugui@yugui.jp"
10
+ gem.homepage = "http://github.com/yugui/chkbuild"
11
+ gem.authors = ["TANAKA, Akira", "Yuki Sonoda (Yugui)"]
12
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
13
+ end
14
+
15
+ rescue LoadError
16
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
17
+ end
18
+
19
+ require 'rake/testtask'
20
+ Rake::TestTask.new(:test) do |test|
21
+ test.libs << 'lib' << 'test'
22
+ test.pattern = 'test/**/*_test.rb'
23
+ test.verbose = true
24
+ end
25
+
26
+ begin
27
+ require 'rcov/rcovtask'
28
+ Rcov::RcovTask.new do |test|
29
+ test.libs << 'test'
30
+ test.pattern = 'test/misc/test_*.rb'
31
+ test.verbose = true
32
+ end
33
+ rescue LoadError
34
+ task :rcov do
35
+ abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
36
+ end
37
+ end
38
+
39
+
40
+ task :default => :test
41
+
42
+ require 'rake/rdoctask'
43
+ Rake::RDocTask.new do |rdoc|
44
+ if File.exist?('VERSION.yml')
45
+ config = YAML.load(File.read('VERSION.yml'))
46
+ version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
47
+ else
48
+ version = ""
49
+ end
50
+
51
+ rdoc.rdoc_dir = 'rdoc'
52
+ rdoc.title = "chkbuild #{version}"
53
+ rdoc.rdoc_files.include('README*')
54
+ rdoc.rdoc_files.include('lib/**/*.rb')
55
+ end
56
+
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.3
@@ -0,0 +1,28 @@
1
+ #!/bin/sh
2
+
3
+ # Copyright (C) 2007,2009 Tanaka Akira <akr@fsij.org>
4
+ #
5
+ # Redistribution and use in source and binary forms, with or without
6
+ # modification, are permitted provided that the following conditions are met:
7
+ #
8
+ # 1. Redistributions of source code must retain the above copyright notice, this
9
+ # list of conditions and the following disclaimer.
10
+ # 2. Redistributions in binary form must reproduce the above copyright notice,
11
+ # this list of conditions and the following disclaimer in the documentation
12
+ # and/or other materials provided with the distribution.
13
+ # 3. The name of the author may not be used to endorse or promote products
14
+ # derived from this software without specific prior written permission.
15
+ #
16
+ # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17
+ # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18
+ # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
19
+ # EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20
+ # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21
+ # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23
+ # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24
+ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25
+ # OF SUCH DAMAGE.
26
+
27
+ tail -n 3 `ls -1tr tmp/public_html/*/summary.txt tmp/build/.lock` < /dev/null
28
+ echo
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Copyright (C) 2005,2006 Tanaka Akira <akr@fsij.org>
4
+ #
5
+ # Redistribution and use in source and binary forms, with or without
6
+ # modification, are permitted provided that the following conditions are met:
7
+ #
8
+ # 1. Redistributions of source code must retain the above copyright notice, this
9
+ # list of conditions and the following disclaimer.
10
+ # 2. Redistributions in binary form must reproduce the above copyright notice,
11
+ # this list of conditions and the following disclaimer in the documentation
12
+ # and/or other materials provided with the distribution.
13
+ # 3. The name of the author may not be used to endorse or promote products
14
+ # derived from this software without specific prior written permission.
15
+ #
16
+ # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17
+ # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18
+ # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
19
+ # EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20
+ # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21
+ # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23
+ # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24
+ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25
+ # OF SUCH DAMAGE.
26
+
27
+ #ENV['PATH'] = "/usr/local/bin:#{ENV['PATH']}"
28
+
29
+ require 'chkbuild'
30
+
31
+ #ChkBuild.rsync_ssh_upload_target("akr@boron.rubyist.net::upload")
32
+
33
+ load "sample/build-ruby"
34
+
35
+ #load "sample/build-gcc-ruby"
36
+
37
+ #load "sample/test-echo"
@@ -0,0 +1,107 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{chkbuild}
8
+ s.version = "0.1.2"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["TANAKA, Akira", "Yuki Sonoda (Yugui)"]
12
+ s.date = %q{2009-09-27}
13
+ s.email = %q{yugui@yugui.jp}
14
+ s.executables = ["last-build", "start-build"]
15
+ s.extra_rdoc_files = [
16
+ "README.ja.rd"
17
+ ]
18
+ s.files = [
19
+ "README.ja.rd",
20
+ "Rakefile",
21
+ "VERSION",
22
+ "bin/last-build",
23
+ "bin/start-build",
24
+ "chkbuild.gemspec",
25
+ "core_ext/io.rb",
26
+ "core_ext/string.rb",
27
+ "lib/chkbuild.rb",
28
+ "lib/chkbuild/build.rb",
29
+ "lib/chkbuild/lock.rb",
30
+ "lib/chkbuild/logfile.rb",
31
+ "lib/chkbuild/main.rb",
32
+ "lib/chkbuild/options.rb",
33
+ "lib/chkbuild/scm/cvs.rb",
34
+ "lib/chkbuild/scm/git.rb",
35
+ "lib/chkbuild/scm/svn.rb",
36
+ "lib/chkbuild/scm/xforge.rb",
37
+ "lib/chkbuild/target.rb",
38
+ "lib/chkbuild/targets/gcc.rb",
39
+ "lib/chkbuild/targets/ruby.rb",
40
+ "lib/chkbuild/title.rb",
41
+ "lib/chkbuild/upload.rb",
42
+ "lib/misc/escape.rb",
43
+ "lib/misc/gdb.rb",
44
+ "lib/misc/timeoutcom.rb",
45
+ "lib/misc/udiff.rb",
46
+ "lib/misc/util.rb",
47
+ "sample/build-autoconf-ruby",
48
+ "sample/build-gcc-ruby",
49
+ "sample/build-ruby",
50
+ "sample/build-ruby2",
51
+ "sample/build-svn",
52
+ "sample/build-yarv",
53
+ "sample/test-apr",
54
+ "sample/test-catcherr",
55
+ "sample/test-combfail",
56
+ "sample/test-core",
57
+ "sample/test-core2",
58
+ "sample/test-date",
59
+ "sample/test-dep",
60
+ "sample/test-depver",
61
+ "sample/test-echo",
62
+ "sample/test-env",
63
+ "sample/test-error",
64
+ "sample/test-fail",
65
+ "sample/test-fmesg",
66
+ "sample/test-gcc-v",
67
+ "sample/test-git",
68
+ "sample/test-leave-proc",
69
+ "sample/test-limit",
70
+ "sample/test-make",
71
+ "sample/test-neterr",
72
+ "sample/test-savannah",
73
+ "sample/test-sleep",
74
+ "sample/test-timeout",
75
+ "sample/test-timeout2",
76
+ "sample/test-timeout3",
77
+ "sample/test-upload",
78
+ "sample/test-warn",
79
+ "setup/upload-rsync-ssh",
80
+ "test/misc/test-escape.rb",
81
+ "test/misc/test-logfile.rb",
82
+ "test/misc/test-timeoutcom.rb",
83
+ "test/test_helper.rb"
84
+ ]
85
+ s.has_rdoc = true
86
+ s.homepage = %q{http://github.com/yugui/chkbuild}
87
+ s.rdoc_options = ["--charset=UTF-8"]
88
+ s.require_paths = ["lib"]
89
+ s.rubygems_version = %q{1.3.1}
90
+ s.summary = %q{gemified version of akr's chkbuild - a robust continuous building system}
91
+ s.test_files = [
92
+ "test/misc/test-escape.rb",
93
+ "test/misc/test-logfile.rb",
94
+ "test/misc/test-timeoutcom.rb",
95
+ "test/test_helper.rb"
96
+ ]
97
+
98
+ if s.respond_to? :specification_version then
99
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
100
+ s.specification_version = 2
101
+
102
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
103
+ else
104
+ end
105
+ else
106
+ end
107
+ end
@@ -0,0 +1,17 @@
1
+ class IO
2
+ def tmp_reopen(io)
3
+ save = self.dup
4
+ begin
5
+ self.reopen(io)
6
+ begin
7
+ yield
8
+ ensure
9
+ self.reopen(save)
10
+ end
11
+ ensure
12
+ save.close
13
+ end
14
+ end
15
+ end
16
+
17
+
@@ -0,0 +1,10 @@
1
+ class String
2
+ def lastline
3
+ if pos = rindex(?\n)
4
+ self[(pos+1)..-1]
5
+ else
6
+ self
7
+ end
8
+ end
9
+ end
10
+