buildr 1.4.7 → 1.4.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. data/CHANGELOG +41 -0
  2. data/Rakefile +0 -6
  3. data/addon/buildr/bnd.rb +13 -3
  4. data/addon/buildr/checkstyle.rb +1 -1
  5. data/addon/buildr/git_auto_version.rb +33 -0
  6. data/addon/buildr/{gwt.rake → gwt.rb} +0 -0
  7. data/addon/buildr/jacoco.rb +194 -0
  8. data/buildr.buildfile +1 -1
  9. data/buildr.gemspec +23 -16
  10. data/doc/_layouts/default.html +0 -2
  11. data/doc/contributing.textile +47 -0
  12. data/doc/download.textile +24 -0
  13. data/doc/index.textile +43 -23
  14. data/doc/languages.textile +65 -6
  15. data/doc/more_stuff.textile +12 -0
  16. data/doc/packaging.textile +2 -0
  17. data/doc/settings_profiles.textile +1 -1
  18. data/lib/buildr.rb +0 -4
  19. data/lib/buildr/core/application.rb +41 -8
  20. data/lib/buildr/core/build.rb +102 -1
  21. data/lib/buildr/core/cc.rb +14 -8
  22. data/lib/buildr/core/generate.rb +148 -7
  23. data/lib/buildr/core/util.rb +3 -3
  24. data/lib/buildr/ide/eclipse.rb +114 -0
  25. data/lib/buildr/ide/idea.rb +95 -1
  26. data/lib/buildr/java/commands.rb +1 -1
  27. data/lib/buildr/java/rjb.rb +5 -4
  28. data/lib/buildr/packaging/artifact.rb +1 -1
  29. data/lib/buildr/packaging/ziptask.rb +2 -2
  30. data/lib/buildr/scala.rb +1 -1
  31. data/lib/buildr/scala/bdd.rb +9 -2
  32. data/lib/buildr/scala/compiler.rb +94 -4
  33. data/lib/buildr/scala/doc.rb +17 -5
  34. data/lib/buildr/scala/tests.rb +15 -4
  35. data/lib/buildr/version.rb +1 -1
  36. data/rakelib/all-in-one.rake +50 -47
  37. data/rakelib/checks.rake +4 -4
  38. data/rakelib/doc.rake +85 -88
  39. data/rakelib/metrics.rake +9 -9
  40. data/rakelib/package.rake +13 -34
  41. data/rakelib/release.rake +11 -12
  42. data/rakelib/rspec.rake +71 -76
  43. data/rakelib/stage.rake +25 -51
  44. data/spec/addon/bnd_spec.rb +61 -7
  45. data/spec/core/build_spec.rb +117 -0
  46. data/spec/core/cc_spec.rb +36 -22
  47. data/spec/core/common_spec.rb +3 -2
  48. data/spec/core/compile_spec.rb +3 -3
  49. data/spec/core/generate_from_eclipse_spec.rb +280 -0
  50. data/spec/java/bdd_spec.rb +2 -2
  51. data/spec/java/packaging_spec.rb +2 -1
  52. data/spec/packaging/archive_spec.rb +25 -2
  53. data/spec/packaging/artifact_spec.rb +2 -2
  54. data/spec/sandbox.rb +3 -2
  55. data/spec/scala/compiler_spec.rb +41 -0
  56. data/spec/scala/doc_spec.rb +22 -3
  57. data/spec/scala/scala.rb +2 -2
  58. data/spec/scala/tests_spec.rb +2 -2
  59. metadata +223 -194
  60. data/addon/buildr/jdepend.rb.orig +0 -178
  61. data/doc/installing.textile.orig +0 -282
  62. data/doc/more_stuff.textile.orig +0 -1004
  63. data/lib/buildr/ide/eclipse/java.rb +0 -49
  64. data/lib/buildr/ide/eclipse/plugin.rb +0 -67
  65. data/lib/buildr/ide/eclipse/scala.rb +0 -64
data/CHANGELOG CHANGED
@@ -1,3 +1,44 @@
1
+ 1.4.8 (2012-11-01)
2
+ * Change: Revert to importing non-verbose FileUtils utility methods to match buildr 1.4.6 release and earlier.
3
+ * Added: Experimental support for jacoco code coverage tool.
4
+ * Fixed: BUILDR-655 - Support JDK1.7 under OSX
5
+ * Change: Updated dependency versions;
6
+ - builder (3.1.3)
7
+ - rubyforge (2.0.4)
8
+ - net-ssh (2.6.0)
9
+ - hoe (3.1.0)
10
+ - rjb (1.4.2)
11
+ - rdoc (3.12)
12
+ - xml-simple (1.1.1)
13
+ - rspec-expectations (2.11.3)
14
+ - rspec-mocks (2.11.3)
15
+ - rspec-core (2.11.1)
16
+ - rspec (2.11.0)
17
+ - rubyzip (0.9.9)
18
+ * Added: BUILDR-652 Generate buildfile from Eclipse workspace. (Niklaus Giger)
19
+ * Fixed: BUILDR-627 Support explicitly listed source files in buildr cc task. (Christopher Tiwald)
20
+ * Fixed: BUILDR-606 Transitive artifact resolution should not include artifacts in 'provided' scope in poms to
21
+ match maven behaviour. (Julio Arias)
22
+ * Change: BUILDR-640 Enable building jekyll and rdoc under more rubies. (Niklaus Giger)
23
+ * Change: Mark Buildr:Bnd.remote_repository as deprecated as dependencies appear in maven central.
24
+ * Added: BUILDR-654 Add the ability to configure the version of BND used by bnd addon. (Niklaus Giger)
25
+ * Added: Create the git_auto_version addon that automatically specifies a version for a git project based
26
+ on git describe.
27
+ * Added: Integrate with Zinc (incremental compilation wrapper for scalac 2.9+)
28
+ * Change: Default to Scala 2.9.2, ScalaTest 1.8, Scala Specs2 1.11,
29
+ ScalaCheck 1.10.0.
30
+ * Change: Scala artifact repository changed to
31
+ http://oss.sonatype.org/content/repositories/releases
32
+ * Added: BUILDR-645 Support Mercurial as a version control system (Tan Quach)
33
+ * Fixed: BUILDR-646 TGZ files do not keep their permissions when extracted
34
+ via Buildr::Unzip#extract
35
+ * Added: Add add_exploded_ear_artifact and add_exploded_ejb_artifact to the idea project extension.
36
+ * Change: Default to using Checkstyle 5.5 in the checkstyle addon.
37
+ * Fixed: Fix the add_exploded_war_artifact method on the idea project by adding in missing method
38
+ `partition_dependencies`.
39
+ * Fixed: Fix the extension of the gwt plugin so that it can be required as an addon.
40
+ * Fixed: Fix the undefined default_web_xml variable in the add_web_facet method on the idea project.
41
+
1
42
  1.4.7 (2012-05-29)
2
43
  * Added: BUILDR-618 pom properties feature does not support hierarchy (kafka liu)
3
44
  * Added: Add a Sonar extension.
data/Rakefile CHANGED
@@ -37,11 +37,5 @@ def spec(platform = RUBY_PLATFORM[/java/] || 'ruby')
37
37
  @specs[platform]
38
38
  end
39
39
 
40
- # Tell us if we need sudo for various commands.
41
- def sudo_needed?
42
- RbConfig::CONFIG['host_os'] !~ /windows|cygwin|bccwin|cygwin|djgpp|mingw|mswin|wince/i && !ENV['GEM_HOME']
43
- end
44
-
45
-
46
40
  desc 'Clean up all temporary directories used for running tests, creating documentation, packaging, etc.'
47
41
  task :clobber
@@ -16,14 +16,24 @@
16
16
  module Buildr
17
17
  module Bnd
18
18
  class << self
19
+ @@version = '1.50.0'
20
+ def version
21
+ @@version
22
+ end
23
+
24
+ def version=(newVersion)
25
+ @@version = newVersion
26
+ end
27
+
19
28
  # The specs for requirements
20
29
  def dependencies
21
- ["biz.aQute:bnd:jar:0.0.384"]
30
+ ["biz.aQute:bnd:jar:#{version}"]
22
31
  end
23
32
 
24
33
  # Repositories containing the requirements
25
34
  def remote_repository
26
- "http://www.aQute.biz/repo"
35
+ Buildr.application.deprecated "'Buildr:Bnd.remote_repository deprecated as the dependencies appear in maven central."
36
+ "http://www.aqute.biz/repo"
27
37
  end
28
38
 
29
39
  def bnd_main(*args)
@@ -102,7 +112,7 @@ module Buildr
102
112
  f.print params.collect { |k, v| "#{k}=#{v}" }.join("\n")
103
113
  end
104
114
 
105
- Buildr::Bnd.bnd_main( "build", "-noeclipse", bnd_filename )
115
+ Buildr::Bnd.bnd_main( bnd_filename )
106
116
  begin
107
117
  Buildr::Bnd.bnd_main( "print", "-verify", filename )
108
118
  rescue => e
@@ -23,7 +23,7 @@ module Buildr
23
23
  # The specs for requirements
24
24
  def dependencies
25
25
  [
26
- 'com.puppycrawl.tools:checkstyle:jar:5.4',
26
+ 'com.puppycrawl.tools:checkstyle:jar:5.5',
27
27
  'commons-cli:commons-cli:jar:1.2',
28
28
  'antlr:antlr:jar:2.7.7',
29
29
  'com.google.collections:google-collections:jar:1.0',
@@ -0,0 +1,33 @@
1
+ # Licensed to the Apache Software Foundation (ASF) under one or more
2
+ # contributor license agreements. See the NOTICE file distributed with this
3
+ # work for additional information regarding copyright ownership. The ASF
4
+ # licenses this file to you under the Apache License, Version 2.0 (the
5
+ # "License"); you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13
+ # License for the specific language governing permissions and limitations under
14
+ # the License.
15
+
16
+ module Buildr
17
+ module GitAutoVersion
18
+ module ProjectExtension
19
+ include Extension
20
+
21
+ before_define do |project|
22
+ unless project.version
23
+ version_suffix = ENV['BUILD_NUMBER'] ? "-#{ENV['BUILD_NUMBER']}" : ''
24
+ project.version = `git describe --tags --always`.strip + version_suffix
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+
31
+ class Buildr::Project
32
+ include Buildr::GitAutoVersion::ProjectExtension
33
+ end
File without changes
@@ -0,0 +1,194 @@
1
+ # Licensed to the Apache Software Foundation (ASF) under one or more
2
+ # contributor license agreements. See the NOTICE file distributed with this
3
+ # work for additional information regarding copyright ownership. The ASF
4
+ # licenses this file to you under the Apache License, Version 2.0 (the
5
+ # "License"); you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12
+ # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13
+ # License for the specific language governing permissions and limitations under
14
+ # the License.
15
+
16
+ module Buildr
17
+ # Initial support for JaCoCo coverage reports.
18
+ # WARNING: Experimental and may change radically.
19
+ module JaCoCo
20
+ class << self
21
+ VERSION = '0.5.10.201208310627'
22
+
23
+ def version
24
+ @version || Buildr.settings.build['jacoco'] || VERSION
25
+ end
26
+
27
+ def version=(value)
28
+ @version = value
29
+ end
30
+
31
+ def agent_spec
32
+ ["org.jacoco:org.jacoco.agent:jar:runtime:#{version}"]
33
+ end
34
+
35
+ def ant_spec
36
+ [
37
+ "org.jacoco:org.jacoco.report:jar:#{version}",
38
+ "org.jacoco:org.jacoco.core:jar:#{version}",
39
+ "org.jacoco:org.jacoco.ant:jar:#{version}",
40
+ 'asm:asm:jar:3.3.1',
41
+ 'asm:asm-commons:jar:3.3.1',
42
+ 'asm:asm-tree:jar:3.3.1'
43
+ ]
44
+ end
45
+ end
46
+
47
+ class Config
48
+
49
+ attr_writer :enabled
50
+
51
+ def enabled?
52
+ @enabled.nil? ? true : @enabled
53
+ end
54
+
55
+ attr_writer :destfile
56
+
57
+ def destfile
58
+ @destfile || "#{self.report_dir}/jacoco.cov"
59
+ end
60
+
61
+ attr_writer :output
62
+
63
+ def output
64
+ @output || 'file'
65
+ end
66
+
67
+ attr_accessor :sessionid
68
+ attr_accessor :address
69
+ attr_accessor :port
70
+ attr_accessor :classdumpdir
71
+ attr_accessor :dumponexit
72
+ attr_accessor :append
73
+ attr_accessor :exclclassloader
74
+
75
+ def includes
76
+ @includes ||= []
77
+ end
78
+
79
+ def excludes
80
+ @excludes ||= []
81
+ end
82
+
83
+ attr_writer :report_dir
84
+
85
+ def report_dir
86
+ @report_dir || project._(:reports, :jacoco)
87
+ end
88
+
89
+ attr_writer :generate_xml
90
+
91
+ def generate_xml?
92
+ @generate_xml.nil? ? false : @generate_xml
93
+ end
94
+
95
+ attr_writer :xml_output_file
96
+
97
+ def xml_output_file
98
+ @xml_output_file || "#{self.report_dir}/jacoco.xml"
99
+ end
100
+
101
+ attr_writer :generate_html
102
+
103
+ def generate_html?
104
+ @generate_html.nil? ? false : @generate_html
105
+ end
106
+
107
+ attr_writer :html_output_directory
108
+
109
+ def html_output_directory
110
+ @html_output_directory || "#{self.report_dir}/jacoco"
111
+ end
112
+
113
+ protected
114
+
115
+ def initialize(project)
116
+ @project = project
117
+ end
118
+
119
+ attr_reader :project
120
+
121
+ end
122
+
123
+ module ProjectExtension
124
+ include Extension
125
+
126
+ def jacoco
127
+ @jacoco ||= Buildr::JaCoCo::Config.new(project)
128
+ end
129
+
130
+ after_define do |project|
131
+ unless project.test.compile.target.nil? || !project.jacoco.enabled?
132
+ project.test.setup do
133
+ agent_jar = Buildr.artifacts(Buildr::JaCoCo.agent_spec).each(&:invoke).map(&:to_s).join('')
134
+ options = []
135
+ ["destfile",
136
+ "append",
137
+ "exclclassloader",
138
+ "sessionid",
139
+ "dumponexit",
140
+ "output",
141
+ "address",
142
+ "port",
143
+ "classdumpdir"].each do |option|
144
+ value = project.jacoco.send(option.to_sym)
145
+ options << "#{option}=#{value}" unless value.nil?
146
+ end
147
+ options << "includes=#{project.jacoco.includes.join(':')}" unless project.jacoco.includes.empty?
148
+ options << "excludes=#{project.jacoco.excludes.join(':')}" unless project.jacoco.excludes.empty?
149
+
150
+ agent_config = "-javaagent:#{agent_jar}=#{options.join(',')}"
151
+ project.test.options[:java_args] = (project.test.options[:java_args] || []) + [agent_config]
152
+ end
153
+ namespace 'jacoco' do
154
+ if project.jacoco.generate_xml?
155
+ desc "Generate JaCoCo reports."
156
+ task 'reports' do
157
+ Buildr.ant "jacoco" do |ant|
158
+ ant.taskdef(:resource => "org/jacoco/ant/antlib.xml") do |ant|
159
+ ant.classpath :path => Buildr.artifacts(Buildr::JaCoCo.ant_spec).each(&:invoke).map(&:to_s).join(File::PATH_SEPARATOR)
160
+ end
161
+ ant.report do |ant|
162
+ ant.executiondata do |ant|
163
+ ant.file :file => project.jacoco.destfile
164
+ end
165
+
166
+ ant.structure(:name => project.name) do |ant|
167
+ if project.compile.target
168
+ ant.classfiles do |ant|
169
+ ant.fileset :dir => project.compile.target
170
+ end
171
+ end
172
+ ant.sourcefiles(:encoding => "UTF-8") do |ant|
173
+ project.compile.sources.each do |path|
174
+ ant.fileset :dir => path.to_s
175
+ end
176
+ end
177
+ end
178
+
179
+ ant.xml :destfile => project.jacoco.xml_output_file if project.jacoco.generate_xml?
180
+ ant.html :destdir => project.jacoco.html_output_directory if project.jacoco.generate_html?
181
+ end
182
+ end
183
+ end
184
+ end
185
+ end
186
+ end
187
+ end
188
+ end
189
+ end
190
+ end
191
+
192
+ class Buildr::Project
193
+ include Buildr::JaCoCo::ProjectExtension
194
+ end
@@ -18,8 +18,8 @@ require 'buildr/jetty'
18
18
  require 'buildr/nailgun'
19
19
  require 'buildr/scala'
20
20
  repositories.remote << 'http://repo1.maven.org/maven2'
21
- repositories.remote << 'http://scala-tools.org/repo-releases/'
22
21
 
22
+ repositories.remote << 'https://oss.sonatype.org/content/groups/scala-tools'
23
23
 
24
24
  define 'buildr' do
25
25
  compile.using :source=>'1.5', :target=>'1.5', :debug=>false
@@ -55,38 +55,45 @@ for those one-off tasks, with a language that's a joy to use.
55
55
 
56
56
  # Tested against these dependencies.
57
57
  spec.add_dependency 'rake', '0.9.2.2'
58
- spec.add_dependency 'builder', '2.1.2'
59
- spec.add_dependency 'net-ssh', '2.3.0'
58
+ spec.add_dependency 'builder', '3.1.3'
59
+ spec.add_dependency 'net-ssh', '2.6.0'
60
60
  spec.add_dependency 'net-sftp', '2.0.5'
61
- spec.add_dependency 'rubyzip', '0.9.4'
61
+ spec.add_dependency 'rubyzip', '0.9.9'
62
+ # Highline 1.6.15 does not seem to work on windows. We should
63
+ # investigate the root cause at a later stage before upgrading
62
64
  spec.add_dependency 'highline', '1.6.2'
63
- spec.add_dependency 'json_pure', '1.4.3'
64
- spec.add_dependency 'rubyforge', '2.0.3'
65
- spec.add_dependency 'hoe', '2.3.3'
66
- spec.add_dependency 'rjb', '1.4.0' if ($platform.to_s == 'x86-mswin32' || $platform.to_s == 'ruby')
65
+ spec.add_dependency 'json_pure', '1.7.5'
66
+ spec.add_dependency 'rubyforge', '2.0.4'
67
+ spec.add_dependency 'hoe', '3.1.0'
68
+ spec.add_dependency 'rjb', '1.4.2' if ($platform.to_s == 'x86-mswin32' || $platform.to_s == 'ruby')
67
69
  spec.add_dependency 'atoulme-Antwrap', '~> 0.7.2'
68
70
  spec.add_dependency 'diff-lcs', '1.1.3'
69
- spec.add_dependency 'rspec-expectations', '2.9.0'
70
- spec.add_dependency 'rspec-mocks', '2.9.0'
71
- spec.add_dependency 'rspec-core', '2.9.0'
72
- spec.add_dependency 'rspec', '2.9.0'
73
- spec.add_dependency 'xml-simple', '1.0.12'
71
+ spec.add_dependency 'rspec-expectations', '2.11.3'
72
+ spec.add_dependency 'rspec-mocks', '2.11.3'
73
+ spec.add_dependency 'rspec-core', '2.11.1'
74
+ spec.add_dependency 'rspec', '2.11.0'
75
+ spec.add_dependency 'xml-simple', '1.1.1'
74
76
  spec.add_dependency 'minitar', '0.5.3'
75
77
  spec.add_dependency 'jruby-openssl', '>= 0.7' if $platform.to_s == 'java'
76
78
 
77
- # The documentation is currently not generated whe building via jruby
79
+ # Unable to get this consistently working under jruby on windows
78
80
  unless $platform.to_s == 'java'
79
81
  spec.add_development_dependency 'jekyll', '0.11.2'
80
82
  spec.add_development_dependency 'RedCloth', '4.2.9'
81
83
  spec.add_development_dependency 'jekylltask', '1.1.0'
82
- spec.add_development_dependency 'rdoc', '3.8'
84
+ spec.add_development_dependency 'rdoc', '3.12'
83
85
  spec.add_development_dependency 'rcov', '0.9.9'
84
86
  end
85
87
 
86
- spec.add_development_dependency 'ci_reporter', '1.6.3'
88
+ spec.add_development_dependency 'ci_reporter', '1.7.2'
87
89
 
90
+ # NOTE: Must update all-in-one.rake if this is updated
88
91
  spec.add_development_dependency 'ffi-ncurses', '0.4.0' if $platform.to_s == 'java'
89
92
  spec.add_development_dependency 'bundler'
90
93
  spec.add_development_dependency 'win32console' if $platform.to_s == 'x86-mswin32'
91
- spec.add_development_dependency 'rubyforge'
94
+ # Ideally we would depend on psych when the platform has >= 1.9.2 support and jruby platform version > 1.6.6
95
+ #spec.add_development_dependency 'psych' if RUBY_VERSION >= '1.9.2'
96
+ spec.add_development_dependency 'pygmentize', '0.0.3'
97
+ spec.add_development_dependency 'saikuro_treemap', '0.2.0'
98
+ spec.add_development_dependency 'atoulme-Saikuro', '1.2.1'
92
99
  end
@@ -60,8 +60,6 @@
60
60
  <li><a href='http://issues.apache.org/jira/browse/Buildr'>Issues/Bugs</a></li>
61
61
  <li><a href='https://builds.apache.org/view/A-F/view/Buildr'>CI Jobs</a></li>
62
62
  <li><a href='contributing.html'>Contributing</a></li>
63
- <li><a href='specs.html'>Specs</a></li>
64
- <li><a href='coverage/index.html'>Coverage</a></li>
65
63
  </ol>
66
64
  </li>
67
65
  <li>
@@ -242,6 +242,53 @@ The care and feeding of the "CI Jobs":https://builds.apache.org/view/A-F/view/Bu
242
242
 
243
243
  You may also need to coordinate with the Apache infrastructure team to get accounts on the actual slave hosts that run the CI jobs. This access may be required to install tools and gems required to run the CI jobs. The main slave host to get access to is vesta.apache.org at the time of writing. You can also log on to the slave host, impersonate hudson and manually run tasks when you are attempting to track down build problems. Of course to impersonate hudson you will need to learn how to use "OPIE.":http://apache.org/dev/freebsd-jails
244
244
 
245
+ h3(#cilinux). Linux Setup
246
+
247
+ The tests on the Linux hosts rely on "RVM":https://rvm.io/ to setup the ruby environment. At the time of writing the Linux/x86 nodes that Apache uses for CI are based of the old "Ubuntu 10.04.4 LTS (Lucid Lynx)" operating system. As it is a relatively old operating system, it requires a little bit of manual intervention to install RVM on the node. We have installed the required tools on vesta.apache.org manually. The script looks something like;
248
+
249
+ {% highlight sh %}
250
+ ssh my_username@vesta.apache.org
251
+ sudo su - hudson
252
+
253
+ curl -L https://get.rvm.io | bash -s stable
254
+ rvm reload
255
+ rvm pkg install readline
256
+ rvm pkg install iconv
257
+ rvm pkg install curl
258
+ rvm pkg install openssl
259
+ rvm pkg install zlib
260
+ rvm pkg install autoconf
261
+ rvm pkg install ncurses
262
+ rvm pkg install pkgconfig
263
+ rvm pkg install gettext
264
+ rvm pkg install glib
265
+ rvm pkg install mono
266
+ rvm pkg install llvm
267
+ rvm pkg install libxml2
268
+ rvm pkg install libxslt
269
+ rvm pkg install libyaml
270
+ rvm install ruby-1.8.7-p358
271
+ rvm install ruby-1.9.2-p320
272
+ rvm install jruby-1.6.7
273
+ rvm install ruby-1.9.3-p194
274
+ {% endhighlight %}
275
+
276
+ It should also be noted that jruby-1.6.7 release has a native library that is compiled using a more modern version of libc than is available on this variant of the operating system. We could download the source release and recompile the library but instead we have just avoided the need for any use of the ruby native interface library in our CI infrastructure.
277
+
278
+ h3(#ciwindows). Windows Setup
279
+
280
+ The ci infrastructure on the windows host (hudson-win.apache.org) is a little fragile. First you need to RDP in and download the support libraries. We have manually installed the tools in the following locations. Note: it is important to make the locations read-write access to the hudson user.
281
+
282
+ {% highlight sh %}
283
+ F:\hudson\tools\Ruby193-p194
284
+ F:\hudson\tools\Ruby192-p290
285
+ F:\hudson\tools\Ruby187-p370
286
+ F:\hudson\tools\jruby-1.6.7
287
+ F:\hudson\tools\scala-2.9.0.1
288
+ {% endhighlight %}
289
+
290
+ WARNING: Several attempts were made to use GEM_HOME to install the dependent gems for each test in a separate location but we were unable to figure out the mechanisms via which sub-shells would inherit the paths and the ability to run tools such as rspec.
291
+
245
292
  h2(#contributors). Contributors
246
293
 
247
294
  Here is the list of people who are actively working and committing on Buildr: