yugui-chkbuild 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
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
+