BuildMaster 0.9.1 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (174) hide show
  1. data/bin/svnfix.rb +3 -0
  2. data/lib/buildmaster/ci/server.rb +55 -0
  3. data/lib/buildmaster/common.rb +3 -0
  4. data/lib/buildmaster/common/properties.rb +28 -0
  5. data/lib/buildmaster/{tree_to_object.rb → common/tree_to_object.rb} +0 -0
  6. data/lib/buildmaster/cotta.rb +1 -1
  7. data/lib/buildmaster/cotta/command_error.rb +6 -1
  8. data/lib/buildmaster/cotta/command_interface.rb +44 -0
  9. data/lib/buildmaster/cotta/command_runner.rb +39 -0
  10. data/lib/buildmaster/cotta/cotta.rb +40 -3
  11. data/lib/buildmaster/cotta/cotta_dir.rb +28 -7
  12. data/lib/buildmaster/cotta/cotta_file.rb +14 -2
  13. data/lib/buildmaster/cotta/cotta_pathname.rb +9 -0
  14. data/lib/buildmaster/cotta/in_memory_system.rb +20 -9
  15. data/lib/buildmaster/cotta/physical_system.rb +4 -8
  16. data/lib/buildmaster/project.rb +10 -0
  17. data/lib/buildmaster/{ant_driver.rb → project/ant_driver.rb} +0 -0
  18. data/lib/buildmaster/project/build.rb +3 -0
  19. data/lib/buildmaster/{build_number_file.rb → project/build_number_file.rb} +4 -0
  20. data/lib/buildmaster/project/ci.rb +3 -0
  21. data/lib/buildmaster/{cvs_driver.rb → project/cvs_driver.rb} +0 -0
  22. data/lib/buildmaster/project/ftp_driver.rb +64 -0
  23. data/lib/buildmaster/{java_manifest.rb → project/java_manifest.rb} +0 -0
  24. data/lib/buildmaster/project/pscp_driver.rb +17 -0
  25. data/lib/buildmaster/project/release.rb +67 -0
  26. data/lib/buildmaster/project/ruby_forge_project.rb +26 -0
  27. data/lib/buildmaster/{run_ant.rb → project/run_ant.rb} +0 -0
  28. data/lib/buildmaster/project/server_manager.rb +64 -0
  29. data/lib/buildmaster/project/svn_admin_driver.rb +20 -0
  30. data/lib/buildmaster/project/svn_driver.rb +94 -0
  31. data/lib/buildmaster/project/svn_helper.rb +113 -0
  32. data/lib/buildmaster/project/svn_status_info.rb +54 -0
  33. data/lib/buildmaster/{try.rb → project/try.rb} +0 -0
  34. data/lib/buildmaster/project/version_number_file.rb +45 -0
  35. data/lib/buildmaster/{windows → project/windows}/iis_driver.rb +4 -4
  36. data/lib/buildmaster/{windows → project/windows}/sql_server_driver.rb +0 -0
  37. data/lib/buildmaster/site.rb +5 -0
  38. data/lib/buildmaster/site/about_handler.rb +43 -0
  39. data/lib/buildmaster/site/content_engine_repository.rb +83 -0
  40. data/lib/buildmaster/site/element_processor_by_name.rb +18 -0
  41. data/lib/buildmaster/site/file_processor.rb +59 -0
  42. data/lib/buildmaster/site/site.rb +29 -6
  43. data/lib/buildmaster/site/site_server.rb +56 -0
  44. data/lib/buildmaster/{site_spec.rb → site/site_spec.rb} +63 -38
  45. data/lib/buildmaster/{site_tester.rb → site/site_tester.rb} +0 -0
  46. data/lib/buildmaster/site/source_content.rb +12 -0
  47. data/lib/buildmaster/{source_file_handler.rb → site/source_file_handler.rb} +13 -27
  48. data/lib/buildmaster/site/template_builder.rb +4 -0
  49. data/lib/buildmaster/site/template_error.rb +18 -0
  50. data/lib/buildmaster/{template_runner.rb → site/template_runner.rb} +6 -16
  51. data/lib/buildmaster/{templatelets.rb → site/templatelets.rb} +3 -1
  52. data/lib/buildmaster/site/templatelets/attribute.rb +21 -0
  53. data/lib/buildmaster/site/templatelets/code.rb +82 -0
  54. data/lib/buildmaster/{templatelets → site/templatelets}/each.rb +7 -5
  55. data/lib/buildmaster/{templatelets → site/templatelets}/href.rb +1 -1
  56. data/lib/buildmaster/{templatelets → site/templatelets}/include.rb +0 -0
  57. data/lib/buildmaster/{templatelets → site/templatelets}/link.rb +2 -3
  58. data/lib/buildmaster/{templatelets → site/templatelets}/text.rb +1 -1
  59. data/lib/buildmaster/{templatelets → site/templatelets}/when.rb +4 -7
  60. data/lib/buildmaster/site/templates/buildmaster/content/border_bottom.gif +0 -0
  61. data/lib/buildmaster/site/templates/buildmaster/content/buildmaster.css +370 -0
  62. data/lib/buildmaster/site/templates/buildmaster/content/logo.gif +0 -0
  63. data/lib/buildmaster/site/templates/buildmaster/content/news-rss2.xml +4 -0
  64. data/lib/buildmaster/site/templates/buildmaster/content/print.css +65 -0
  65. data/lib/buildmaster/site/templates/buildmaster/content/ruby.css +14 -0
  66. data/lib/buildmaster/site/templates/buildmaster/template.html +121 -0
  67. data/lib/buildmaster/site/templates/cotta/content/border_bottom.gif +0 -0
  68. data/lib/buildmaster/site/templates/cotta/content/cotta.css +363 -0
  69. data/lib/buildmaster/site/templates/cotta/content/cotta.gif +0 -0
  70. data/lib/buildmaster/site/templates/cotta/content/news-rss2.xml +2 -0
  71. data/lib/buildmaster/site/templates/cotta/template.html +106 -0
  72. data/lib/buildmaster/site/xtemplate.rb +26 -0
  73. data/lib/buildmaster/version +1 -0
  74. data/test/buildmaster/common/tc_properties.rb +24 -0
  75. data/test/buildmaster/{tc_tree_to_object.rb → common/tc_tree_to_object.rb} +18 -18
  76. data/test/buildmaster/cotta/cotta_specifications.rb +88 -64
  77. data/test/buildmaster/cotta/physical_system_stub.rb +3 -3
  78. data/test/buildmaster/cotta/system_file_specifications.rb +38 -47
  79. data/test/buildmaster/cotta/tc_command_interface.rb +46 -0
  80. data/test/buildmaster/cotta/tc_command_runner.rb +28 -0
  81. data/test/buildmaster/cotta/tc_cotta.rb +35 -9
  82. data/test/buildmaster/cotta/tc_cotta_dir_in_memory.rb +10 -5
  83. data/test/buildmaster/cotta/tc_cotta_file_in_memory.rb +3 -3
  84. data/test/buildmaster/cotta/tc_in_memory_system.rb +7 -2
  85. data/test/buildmaster/cotta/tc_pathname.rb +22 -0
  86. data/test/buildmaster/cotta/tc_physical_system.rb +12 -2
  87. data/test/buildmaster/{build.xml → project/build.xml} +0 -0
  88. data/test/buildmaster/{manifest.mf → project/manifest.mf} +0 -0
  89. data/test/buildmaster/{tc_ant_driver.rb → project/tc_ant_driver.rb} +3 -3
  90. data/test/buildmaster/{tc_build_number_file.rb → project/tc_build_number_file.rb} +7 -7
  91. data/test/buildmaster/{tc_cvs_driver.rb → project/tc_cvs_driver.rb} +14 -14
  92. data/test/buildmaster/{tc_java_manifest.rb → project/tc_java_manifest.rb} +7 -7
  93. data/test/buildmaster/project/tc_release.rb +61 -0
  94. data/test/buildmaster/project/tc_server_manager.rb +70 -0
  95. data/test/buildmaster/project/tc_svn_driver.rb +104 -0
  96. data/test/buildmaster/project/tc_svn_status_info.rb +37 -0
  97. data/test/buildmaster/project/tc_version_number_file.rb +46 -0
  98. data/test/buildmaster/{windows → project/windows}/tc_iis_driver.rb +5 -4
  99. data/test/buildmaster/{windows → project/windows}/tc_sql_server_driver.rb +4 -4
  100. data/test/buildmaster/site/content/tc_content_engine_repository.rb +63 -0
  101. data/test/buildmaster/site/tc_element_processor_by_name.rb +29 -0
  102. data/test/buildmaster/site/tc_file_processor.rb +141 -0
  103. data/test/buildmaster/site/tc_site.rb +42 -11
  104. data/test/buildmaster/site/tc_site_server.rb +43 -0
  105. data/test/buildmaster/{tc_site_spec.rb → site/tc_site_spec.rb} +9 -9
  106. data/test/buildmaster/{tc_source_file_handler.rb → site/tc_source_file_handler.rb} +10 -9
  107. data/test/buildmaster/site/tc_template_builder.rb +23 -23
  108. data/test/buildmaster/site/tc_template_error.rb +15 -0
  109. data/test/buildmaster/{tc_template_runner.rb → site/tc_template_runner.rb} +22 -17
  110. data/test/buildmaster/site/tc_templatelets.rb +37 -0
  111. data/test/buildmaster/{tc_xtemplate.rb → site/tc_xtemplate.rb} +14 -15
  112. data/test/buildmaster/{template.xhtml → site/template.xhtml} +0 -0
  113. data/test/buildmaster/{templatelets → site/templatelets}/common_templatelet_test.rb +11 -7
  114. data/test/buildmaster/{templatelets → site/templatelets}/tc_attribute.rb +14 -10
  115. data/test/buildmaster/site/templatelets/tc_code.rb +132 -0
  116. data/test/buildmaster/{templatelets → site/templatelets}/tc_each.rb +25 -12
  117. data/test/buildmaster/{templatelets → site/templatelets}/tc_href.rb +6 -8
  118. data/test/buildmaster/{templatelets → site/templatelets}/tc_include.rb +3 -12
  119. data/test/buildmaster/{templatelets → site/templatelets}/tc_link.rb +11 -18
  120. data/test/buildmaster/{templatelets → site/templatelets}/tc_text.rb +2 -9
  121. data/test/buildmaster/{templatelets → site/templatelets}/tc_when.rb +8 -15
  122. data/test/manual/bms.rb +10 -0
  123. data/test/tmp/svn_test/repository/README.txt +5 -0
  124. data/test/tmp/svn_test/repository/conf/authz +21 -0
  125. data/test/tmp/svn_test/repository/conf/passwd +8 -0
  126. data/test/tmp/svn_test/repository/conf/svnserve.conf +30 -0
  127. data/test/tmp/svn_test/repository/db/current +1 -0
  128. data/test/tmp/svn_test/repository/db/format +1 -0
  129. data/test/tmp/svn_test/repository/db/fs-type +1 -0
  130. data/test/tmp/svn_test/repository/db/revprops/0 +5 -0
  131. data/test/tmp/svn_test/repository/db/revprops/1 +13 -0
  132. data/test/tmp/svn_test/repository/db/revprops/2 +13 -0
  133. data/test/tmp/svn_test/repository/db/revprops/3 +13 -0
  134. data/test/tmp/svn_test/repository/db/revprops/4 +13 -0
  135. data/test/tmp/svn_test/repository/db/revs/0 +11 -0
  136. data/test/tmp/svn_test/repository/db/revs/1 +25 -0
  137. data/test/tmp/svn_test/repository/db/revs/2 +29 -0
  138. data/test/tmp/svn_test/repository/db/revs/3 +33 -0
  139. data/test/tmp/svn_test/repository/db/revs/4 +0 -0
  140. data/test/tmp/svn_test/repository/db/uuid +1 -0
  141. data/test/tmp/svn_test/repository/db/write-lock +0 -0
  142. data/test/tmp/svn_test/repository/format +1 -0
  143. data/test/tmp/svn_test/repository/hooks/post-commit.tmpl +51 -0
  144. data/test/tmp/svn_test/repository/hooks/post-lock.tmpl +44 -0
  145. data/test/tmp/svn_test/repository/hooks/post-revprop-change.tmpl +56 -0
  146. data/test/tmp/svn_test/repository/hooks/post-unlock.tmpl +42 -0
  147. data/test/tmp/svn_test/repository/hooks/pre-commit.tmpl +70 -0
  148. data/test/tmp/svn_test/repository/hooks/pre-lock.tmpl +64 -0
  149. data/test/tmp/svn_test/repository/hooks/pre-revprop-change.tmpl +66 -0
  150. data/test/tmp/svn_test/repository/hooks/pre-unlock.tmpl +60 -0
  151. data/test/tmp/svn_test/repository/hooks/start-commit.tmpl +54 -0
  152. data/test/tmp/svn_test/repository/locks/db-logs.lock +3 -0
  153. data/test/tmp/svn_test/repository/locks/db.lock +3 -0
  154. data/test/tmp/svn_test/second/test.txt +1 -0
  155. data/test/tmp/svn_test/workdir/test.txt +1 -0
  156. data/test/ts_buildmaster.rb +0 -1
  157. metadata +168 -69
  158. data/lib/buildmaster.rb +0 -10
  159. data/lib/buildmaster/build_file.rb +0 -11
  160. data/lib/buildmaster/buildnumber +0 -1
  161. data/lib/buildmaster/file_processor.rb +0 -138
  162. data/lib/buildmaster/site_server.rb +0 -33
  163. data/lib/buildmaster/source_content.rb +0 -11
  164. data/lib/buildmaster/svn_driver.rb +0 -78
  165. data/lib/buildmaster/template_error.rb +0 -8
  166. data/lib/buildmaster/templatelets/attribute.rb +0 -16
  167. data/lib/buildmaster/xtemplate.rb +0 -27
  168. data/lib/mock.rb +0 -3
  169. data/lib/mock/mock_base.rb +0 -24
  170. data/test/buildmaster/tc_file_processor.rb +0 -125
  171. data/test/buildmaster/tc_svn_driver.rb +0 -81
  172. data/test/tmp/output/index.html +0 -8
  173. data/test/tmp/output/markdown.html +0 -8
  174. data/test/tmp/output/textile.html +0 -8
@@ -2,7 +2,7 @@ $:.unshift(File.join('..', File.dirname(__FILE__)))
2
2
 
3
3
  require 'uri'
4
4
 
5
- require 'template_error'
5
+ require 'site/template_error'
6
6
  require 'template_runner'
7
7
 
8
8
  module BuildMaster
@@ -21,9 +21,8 @@ class Link
21
21
  result.attributes[name] = value unless name == 'href'
22
22
  end
23
23
  template.each_child do |element|
24
- runner = TemplateRunner.new(result, template, source)
25
- runner.templatelets = @site_spec.load_templatelets
26
- runner.process
24
+ runner = TemplateRunner.new(result, @site_spec.load_element_processor, source)
25
+ runner.process template
27
26
  end
28
27
  target.add(result)
29
28
  end
@@ -7,7 +7,7 @@ class Text
7
7
  def process(target, template, source)
8
8
  property = template.attribute_value!('property')
9
9
  value = @properties[property]
10
- raise TemplateError, "property value for '#{property}' not found" unless value
10
+ raise TemplateError.new(template), "property value for '#{property}' not found" unless value
11
11
  target.add(REXML::Text.new(value))
12
12
  end
13
13
  end
@@ -11,13 +11,10 @@ class When
11
11
 
12
12
  def process(target, template, source)
13
13
  eval = template.attribute_value!('test')
14
- if (not @evaluator.respond_to?(eval))
15
- raise TemplateError, "#{@evaluator.class} cannot evaluate expression #{eval}"
16
- end
17
- if (@evaluator.send(eval, source.path))
18
- runner = TemplateRunner.new(target, template, source)
19
- runner.templatelets = @site_spec.load_templatelets
20
- runner.process
14
+ raise TemplateError.new(template), "#{@evaluator.class} cannot evaluate expression #{eval}" unless @evaluator.respond_to?(eval)
15
+ if (@evaluator.send(eval, source))
16
+ runner = TemplateRunner.new(target, @site_spec.load_element_processor, source)
17
+ runner.process template
21
18
  end
22
19
  end
23
20
  end
@@ -0,0 +1,370 @@
1
+ body {
2
+ padding: 0px;
3
+ margin: 0px;
4
+ border: 0px;
5
+ font-family: helvetica, arial, sans-serif;
6
+ background-color: white;
7
+ color: black;
8
+ }
9
+
10
+ h1, h2, h3, h4, h5, h6 {
11
+ margin: 0px;
12
+ border: 0px;
13
+ padding: 0px;
14
+ font-weight: normal;
15
+ }
16
+
17
+ a:link { color: #00a; }
18
+ a:active { color: red; }
19
+ a:hover { color: darkred; }
20
+ a:visited { color: black; }
21
+
22
+ img {
23
+ border: 0px;
24
+ padding: 0px;
25
+ margin: 0px;
26
+ }
27
+
28
+ p {
29
+ border: 0px;
30
+ padding: 0px;
31
+ margin: 0px;
32
+ margin-bottom: 10px;
33
+ }
34
+
35
+ blockquote {
36
+ margin-bottom: 10px;
37
+ }
38
+
39
+ td {
40
+ padding: 2px;
41
+ }
42
+
43
+ th {
44
+ font-weight: bold;
45
+ white-space: nowrap;
46
+ padding: 2px;
47
+ }
48
+
49
+ th.Row {
50
+ text-align: left;
51
+ vertical-align: top;
52
+ }
53
+
54
+ ul, ol {
55
+ border: 0px;
56
+ padding: 0px;
57
+ margin-top: 0px;
58
+ margin-bottom: 12px;
59
+ margin-left: 20px;
60
+ }
61
+
62
+ div.header {
63
+ top: 0px;
64
+ left: 0px;
65
+ right: 0px;
66
+ width: 100%;
67
+ height: 86px;
68
+ margin: 0px;
69
+ border: 0px;
70
+ background-color: #e0e0f0;
71
+ border-bottom: 1px solid #aaf;
72
+ padding-left: 0px;
73
+ padding-right: 0px;
74
+ padding-top: 0px;
75
+ padding-bottom: 4px;
76
+ }
77
+
78
+ h1.header {
79
+ padding:0;
80
+ margin:0;
81
+ }
82
+
83
+ a.header { border: 0px; text-decoration: none;}
84
+ a.header:visited { color: #00a; }
85
+ a.header:hover { color: red; }
86
+ a.header:active { color: red; }
87
+
88
+ div.left {
89
+ float:left;
90
+ width:180px;
91
+ background-color: white;
92
+ padding: 8px;
93
+ font-size: small;
94
+ font-style: normal;
95
+ margin-top: 16px;
96
+ }
97
+
98
+ div.left h1{
99
+ margin: 0px;
100
+ border: 0px;
101
+ padding: 4px;
102
+ color: #006;
103
+ font-size: small;
104
+ font-weight: bold;
105
+ }
106
+
107
+ div.MenuGroup a { text-decoration: none; }
108
+ div.MenuGroup a:link { color: #006; }
109
+ div.MenuGroup a:visited { color: #006; }
110
+ div.MenuGroup a:active { color: red; }
111
+ div.MenuGroup a:hover {
112
+ color: red;
113
+ border-bottom: 3px solid #aaf;
114
+ width: 100%;
115
+ }
116
+ div.current {
117
+ background-color: #A6CAF0;
118
+ }
119
+ /*---------------------------------------------------------------------------
120
+ * Menus
121
+ */
122
+ .MenuGroup {
123
+ border-left: 1px solid #aaf;
124
+ border-top: 1px solid #aaf;
125
+ border-bottom: 1px solid white; /* IE work-around */
126
+
127
+ margin-bottom: 8px;
128
+ background-color: white;
129
+ color: #006;
130
+ }
131
+
132
+ .MenuGroup ul {
133
+ margin: 0px;
134
+ padding-left: 4px;
135
+ list-style-type: none;
136
+ }
137
+
138
+ .MenuGroup li {
139
+ padding: 2px;
140
+ }
141
+
142
+ .More {
143
+ width: 100%;
144
+ text-align: right;
145
+ }
146
+ /*------------------------------------------------------------------------------*/
147
+
148
+ /*-------------------------------------------------
149
+ * Right Panel
150
+ */
151
+ div.right {
152
+ float:right;
153
+ width:184px;
154
+ margin:0;
155
+ background-color: white;
156
+ padding: 8px;
157
+ font-size: small;
158
+ font-style: normal;
159
+ margin-top: 16px;
160
+ }
161
+
162
+ div.right h1{
163
+ margin: 0px;
164
+ border: 0px;
165
+ padding: 4px;
166
+ color: #006;
167
+ font-size: small;
168
+ font-weight: bold;
169
+ }
170
+
171
+ div.right a { text-decoration: none; }
172
+ div.right a:link { color: #006; }
173
+ div.right a:visited { color: #006; }
174
+ div.right a:active { color: red; }
175
+ div.right a:hover { color: red; }
176
+
177
+
178
+ /*---------------------------------------------------------------------------
179
+ * News panel
180
+ */
181
+ .NewsGroup {
182
+ border-left: 1px solid #aaf;
183
+ border-top: 1px solid #aaf;
184
+ border-bottom: 1px solid white; /* IE workaround */
185
+ margin-bottom: 8px;
186
+
187
+ color: #006;
188
+ }
189
+ .NewsItem {
190
+ margin: 4px;
191
+ }
192
+ .NewsTitle {
193
+ font-weight: bold;
194
+ margin: 0px;
195
+ padding: 0px;
196
+ }
197
+ .NewsDate {
198
+ margin: 0px;
199
+ padding: 0px;
200
+ font-size: smaller;
201
+ }
202
+ .NewsText {
203
+ padding: 0px;
204
+ margin: 0px;
205
+ margin-bottom: 8px;
206
+ }
207
+ .NewsText a { text-decoration: underline; }
208
+ .NewsText a:link { color: #006; }
209
+ .NewsText a:visited { color: #006; }
210
+ .NewsText a:active { color: red; }
211
+ .NewsText a:hover { color: red; }
212
+ .NewsMore {
213
+ font-size: small;
214
+ margin: 4px;
215
+ margin-top: 12px;
216
+ text-align: left;
217
+ }
218
+ .NewsGroup td {
219
+ font-size: 12px;
220
+ }
221
+
222
+ /*-------------------------------------------------------------------------*/
223
+
224
+ /*---------------------------------------------------------------------------
225
+ * Document meta-information
226
+ */
227
+
228
+ .Meta {
229
+ margin-top: 64px;
230
+ font-size: smaller;
231
+ color: #C0C0C0;
232
+ text-align: right;
233
+ }
234
+
235
+ .Meta a { text-decoration: underline; }
236
+ .Meta a:link { color: #C0C0C0; }
237
+ .Meta a:visited { color: #C0C0C0; }
238
+ .Meta a:active { color: red; }
239
+ .Meta a:hover { color: red; }
240
+ /*--------------------------------------------------------------------------*/
241
+
242
+ div.Content3Column {
243
+ margin-left:200px;
244
+ margin-right:216px;
245
+ }
246
+
247
+ div.Content2Column {
248
+ margin-left:200px;
249
+ margin-right:16px;
250
+ }
251
+
252
+ div.content h1 {
253
+ width: 100%;
254
+ font-size: Larger;
255
+ background-color: #006;
256
+ color: white;
257
+ padding: 2px;
258
+ padding-left: 6px;
259
+ margin-top: 24px;
260
+ margin-bottom: 12px;
261
+ }
262
+
263
+ div.content a { text-decoration: underline; }
264
+ div.content a:link { color: #006; }
265
+ div.content a:visited { color: #006; }
266
+ div.content a:active { color: green; }
267
+ div.content a:hover { color: red; }
268
+ div.content h2 {
269
+ margin-top: 24px;
270
+ margin-bottom: 16px;
271
+ font-weight: bold;
272
+ font-size: Larger;
273
+ }
274
+
275
+ div.content h3 {
276
+ margin-top: 12px;
277
+ margin-bottom: 8px;
278
+ font-size: 100%;
279
+ }
280
+
281
+ div.content li {
282
+ margin-bottom: 6px;
283
+ }
284
+ div.content th {
285
+ background-color: #aaf;
286
+ }
287
+ div.content td {
288
+ background-color: #ddf;
289
+ }
290
+
291
+ code {
292
+ font-family: courier new, monospace;
293
+ }
294
+
295
+ pre.code {
296
+ padding:10px;
297
+ margin:18 18px 18px 18px;
298
+ color:black;
299
+ font-family: courier new, monospace;
300
+ font-size: smaller;
301
+ border:1px solid #444;
302
+ background-color: #cccccc;
303
+ }
304
+
305
+ div.Shaded pre {
306
+ padding: 4px;
307
+ font-family: courier new, monospace;
308
+ font-size: smaller;
309
+ border: 1px solid #008;
310
+ background-color: #ccf;
311
+ color: black;
312
+ width: 100%;
313
+ }
314
+
315
+ div.Shaded:before {
316
+ margin: 0px;
317
+ padding: 0px;
318
+ border: 0px;
319
+ font-size: inherit;
320
+ }
321
+
322
+ div.footer {
323
+ color: #006;
324
+ padding:0.5em;
325
+ clear:both;
326
+ text-align:center;
327
+ font-size:75%;
328
+ }
329
+
330
+ div.footer a {
331
+ color:#006;
332
+ font-size:inherit;
333
+ }
334
+
335
+ div.bottomshadow {
336
+ width:100%;
337
+ height: 12px;
338
+ background-image: url("border_bottom.gif");
339
+ background-repeat: repeat-x;
340
+ padding: 12px;
341
+ }
342
+
343
+ div#content .Float {
344
+ float: right;
345
+ margin-left: 8px;
346
+ margin-right: 0px;
347
+ margin-top: 8px;
348
+ margin-bottom: 8px;
349
+ }
350
+
351
+ div#content .Diagram {
352
+ display: block;
353
+ margin-left: auto;
354
+ margin-right: auto;
355
+ margin-top: 8px;
356
+ margin-bottom: 8px;
357
+ }
358
+
359
+ div#content .Inline {
360
+ display: inline;
361
+ }
362
+
363
+ div.content table {
364
+ padding-left: 6px;
365
+ }
366
+ .source {
367
+ width: 100%;
368
+ text-align: right;
369
+ font-size: 90%;
370
+ }
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <rss version="2.0"><channel><title>BuildMaster News</title><link>http://buildmaster.rubyforge.org/</link><description>BuildMaster is a set of classes in Ruby to help easy the task of project building, releasing
3
+ and website building</description><language>en-us</language><copyright>2006 BuildMaster at Rubyforge</copyright><lastBuildDate>Sun, 12 Nov 2006 21:08:10 GMT</lastBuildDate><image><url>http://buildmaster.rubyforge.org/logo.gif</url><title>BuildMaster</title><link>http://buildmaster.rubyforge.org/</link></image><item><title>Buildmaster Snapshot Available</title><link>http://buildmaster.rubyforge.org/builds</link><description>BuildMaster now can generates snapshots and upload them to the web through pscp automatically.</description><category>Development</category><guid isPermaLink="false">{27a04ef6-cde1-dec1-8fd2-e9f9662ad3bc}</guid><pubDate>Sun, 12 Nov 2006 21:08:10 GMT</pubDate></item><item><title>BuildMaster 0.9.1 Released</title><description>Fixed to work with all versions of subversion, cotta api updated with copy_to</description><category>Development</category><guid isPermaLink="false">{1449431f-783f-faf-9ba5-43aabf063a67}</guid><pubDate>Wed, 18 Oct 2006 08:31:04 GMT</pubDate></item><item><title>BuildMaster 0.9.0 Released</title><description>Improved file operations and made BuildMaster more testable</description><category>Development, Documentation</category><guid isPermaLink="false">{4c09200e-e73-e87d-d366-780360fba4e1}</guid><pubDate>Mon, 02 Oct 2006 04:00:25 GMT</pubDate></item><item><title>BuildMaster 0.8.0 Released</title><link>http://rubyforge.org/frs/?group_id=1680</link><description>Site Building part of the BuildMaster is now feature complete.</description><category>Development</category><guid isPermaLink="false">{3a038d34-bc53-ec71-e5d0-7091e062466b}</guid><pubDate>Tue, 08 Aug 2006 01:52:07 GMT</pubDate></item><item><title>BuildMaster 0.7.0 Released</title><link>http://rubyforge.org/frs/?group_id=1680</link><description>BuildMaster 0.7.0 Released with expression evaluation enhanced. Now document with relative paths can be generated so that it can be downloaded (with source)</description><category>Development</category><guid isPermaLink="false">{1f85fed8-6c50-7ee2-68c0-e7a2513a7183}</guid><pubDate>Sun, 23 Jul 2006 08:54:41 GMT</pubDate></item><item><title>WebSite Update</title><description>Website updated to push useful information forward</description><category>Documentation</category><guid isPermaLink="false">{34155d0c-2159-9ad7-d2e6-2a0b674fbd2a}</guid><pubDate>Fri, 21 Jul 2006 05:59:53 GMT</pubDate></item><item><title>BuildMaster 0.6.0 Released</title><link>http://rubyforge.org/project/showfiles.php?group_id=1680&amp;release_id=5733</link><description>Second release of BuildMaster, with site testing ability</description><category>Development</category><guid isPermaLink="false">{1307f849-7241-c332-ed86-23b6400cf89c}</guid><pubDate>Wed, 21 Jun 2006 05:46:50 GMT</pubDate></item><item><title>BuildMaster 0.5.0 Released</title><link>http://rubyforge.org/frs/?group_id=1680&amp;release_id=5545</link><description>First release of BuildMaster</description><category>Development</category><guid isPermaLink="false">{f5c05474-c04f-4e4d-497c-530d78751baf}</guid><pubDate>Sat, 03 Jun 2006 00:14:50 GMT</pubDate></item><item><title>BuildMaster website created</title><link>http://buildmaster.rubyforge.org/</link><description>BuildMaster website has been created by its own script</description><category>Documentation</category><pubDate>Sat, 27 May 2006 16:00:00 GMT</pubDate></item><item><title>XTemplate script created</title><link>http://buildmaster.rubyforge.org</link><description>XTemplate script has been created, following the ones that is currently being used for jBehave and jMock</description><category>Development</category><pubDate>Wed, 05 Apr 2006 16:00:00 GMT</pubDate></item><item><title>BuildMaster code structure created</title><link>http://buildmaster.rubyforge.org</link><description>BuildMaster project structure has been created with according files so that a gem can be created
4
+ and released onto rubyforge</description><category>Development</category><pubDate>Sat, 08 Apr 2006 16:00:00 GMT</pubDate></item><item><title>BuildMaster moved from RubyBuilder</title><description>RubyBuilder project has been deleted and renamed to BuildMaster to easy any confusion</description><category>Development</category><pubDate>Sat, 01 Apr 2006 16:00:00 GMT</pubDate></item></channel></rss>
@@ -0,0 +1,65 @@
1
+ body {
2
+ font-family: Times, serif;
3
+ font-size: 12pt;
4
+ float: none !important;
5
+ }
6
+
7
+ div.header {
8
+ display: none;
9
+ }
10
+
11
+ div.left {
12
+ display:none;
13
+ }
14
+
15
+ div.bottomshadow {
16
+ display:none;
17
+ }
18
+
19
+ div.poweredby {
20
+ display: none;
21
+ }
22
+
23
+ div.source {
24
+ display: none;
25
+ }
26
+
27
+ div.right {
28
+ display:none;
29
+ }
30
+
31
+ div.content {
32
+ font-family: Times, serif;
33
+ font-size: 12pt;
34
+ width: 100%;
35
+ }
36
+
37
+ div.Content3Column {
38
+ width: 100%;
39
+ font-family: Times, serif;
40
+ font-size: 12pt;
41
+ margin-left: 0px;
42
+ margin-right: 0px;
43
+ }
44
+
45
+ div.Content2Column {
46
+ width: 100%;
47
+ font-family: Times, serif;
48
+ font-size: 12pt;
49
+ margin-left: 0px;
50
+ margin-right: 0px;
51
+ }
52
+
53
+ a:link, a:visited {
54
+ color: #520;
55
+ background: transparent;
56
+ font-weight: bold;
57
+ text-decoration: underline;
58
+ font-size: 12pt;
59
+ font-family: Times, serif;
60
+ }
61
+
62
+ #content a:link:after, #content a:visited:after {
63
+ content: " (" attr(href) ") ";
64
+ font-size: 90%;
65
+ }