buildr 1.4.6-x86-mswin32 → 1.4.7-x86-mswin32
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.
- data/CHANGELOG +81 -0
- data/Rakefile +5 -2
- data/addon/buildr/antlr.rb +0 -4
- data/addon/buildr/bnd.rb +3 -1
- data/addon/buildr/checkstyle.rb +201 -0
- data/addon/buildr/cobertura.rb +0 -1
- data/addon/buildr/drb.rb +0 -2
- data/addon/buildr/emma.rb +0 -1
- data/addon/buildr/findbugs.rb +227 -0
- data/addon/buildr/gwt.rake +82 -0
- data/addon/buildr/hibernate.rb +0 -4
- data/addon/buildr/javacc.rb +0 -4
- data/addon/buildr/javancss.rb +155 -0
- data/addon/buildr/jdepend.rb +138 -24
- data/addon/buildr/jdepend.rb.orig +178 -0
- data/addon/buildr/jetty.rb +0 -5
- data/addon/buildr/jibx.rb +85 -86
- data/addon/buildr/nailgun.rb +2 -2
- data/addon/buildr/openjpa.rb +0 -4
- data/addon/buildr/pmd.rb +166 -0
- data/addon/buildr/protobuf.rb +0 -1
- data/addon/buildr/sonar.rb +142 -0
- data/addon/buildr/xmlbeans.rb +0 -5
- data/buildr.gemspec +36 -21
- data/doc/_layouts/default.html +1 -0
- data/doc/contributing.textile +11 -2
- data/doc/download.textile +17 -5
- data/doc/index.textile +21 -46
- data/doc/installing.textile +18 -8
- data/doc/installing.textile.orig +282 -0
- data/doc/languages.textile +0 -38
- data/doc/more_stuff.textile +199 -12
- data/doc/more_stuff.textile.orig +1004 -0
- data/doc/packaging.textile +10 -0
- data/doc/settings_profiles.textile +2 -2
- data/etc/KEYS +44 -0
- data/lib/buildr.rb +67 -4
- data/lib/buildr/clojure.rb +0 -2
- data/lib/buildr/core/application.rb +23 -32
- data/lib/buildr/core/build.rb +0 -7
- data/lib/buildr/core/cc.rb +0 -5
- data/lib/buildr/core/checks.rb +0 -4
- data/lib/buildr/core/common.rb +0 -5
- data/lib/buildr/core/compile.rb +5 -10
- data/lib/buildr/core/doc.rb +9 -3
- data/lib/buildr/core/environment.rb +0 -1
- data/lib/buildr/core/filter.rb +0 -5
- data/lib/buildr/core/generate.rb +2 -6
- data/lib/buildr/core/help.rb +1 -6
- data/lib/buildr/core/linux.rb +0 -1
- data/lib/buildr/core/osx.rb +0 -1
- data/lib/buildr/core/project.rb +0 -4
- data/lib/buildr/core/run.rb +1 -5
- data/lib/buildr/core/shell.rb +1 -6
- data/lib/buildr/core/test.rb +1 -7
- data/lib/buildr/core/transports.rb +4 -6
- data/lib/buildr/core/util.rb +2 -65
- data/lib/buildr/groovy/doc.rb +0 -3
- data/lib/buildr/groovy/shell.rb +0 -2
- data/lib/buildr/ide/eclipse.rb +4 -13
- data/lib/buildr/ide/eclipse/java.rb +0 -4
- data/lib/buildr/ide/eclipse/plugin.rb +0 -4
- data/lib/buildr/ide/eclipse/scala.rb +0 -4
- data/lib/buildr/ide/idea.rb +284 -52
- data/lib/buildr/java/ant.rb +2 -6
- data/lib/buildr/java/bdd.rb +5 -123
- data/lib/buildr/java/cobertura.rb +16 -10
- data/lib/buildr/java/commands.rb +33 -7
- data/lib/buildr/java/compiler.rb +0 -7
- data/lib/buildr/java/deprecated.rb +0 -4
- data/lib/buildr/java/doc.rb +0 -2
- data/lib/buildr/java/emma.rb +0 -4
- data/lib/buildr/java/jruby.rb +0 -2
- data/lib/buildr/java/packaging.rb +0 -4
- data/lib/buildr/java/pom.rb +24 -16
- data/lib/buildr/java/rjb.rb +1 -1
- data/lib/buildr/java/test_result.rb +1 -2
- data/lib/buildr/java/tests.rb +68 -6
- data/lib/buildr/packaging/archive.rb +0 -1
- data/lib/buildr/packaging/artifact.rb +19 -16
- data/lib/buildr/packaging/artifact_namespace.rb +51 -24
- data/lib/buildr/packaging/artifact_search.rb +1 -2
- data/lib/buildr/packaging/gems.rb +1 -13
- data/lib/buildr/packaging/package.rb +0 -6
- data/lib/buildr/packaging/tar.rb +2 -4
- data/lib/buildr/packaging/version_requirement.rb +1 -1
- data/lib/buildr/packaging/zip.rb +1 -2
- data/lib/buildr/packaging/ziptask.rb +0 -4
- data/lib/buildr/run.rb +3 -3
- data/lib/buildr/scala/bdd.rb +129 -11
- data/lib/buildr/scala/compiler.rb +53 -6
- data/lib/buildr/scala/doc.rb +6 -4
- data/lib/buildr/scala/org/apache/buildr/Specs2Runner.class +0 -0
- data/lib/buildr/scala/org/apache/buildr/Specs2Runner.java +38 -0
- data/lib/buildr/scala/shell.rb +0 -4
- data/lib/buildr/scala/tests.rb +15 -6
- data/lib/buildr/shell.rb +0 -1
- data/lib/buildr/version.rb +1 -1
- data/rakelib/all-in-one.rake +20 -11
- data/rakelib/checks.rake +0 -31
- data/rakelib/doc.rake +86 -100
- data/rakelib/package.rake +3 -3
- data/rakelib/release.rake +1 -1
- data/rakelib/rspec.rake +23 -7
- data/rakelib/stage.rake +18 -21
- data/spec/addon/bnd_spec.rb +2 -2
- data/spec/addon/jaxb_xjc_spec.rb +5 -0
- data/spec/core/application_spec.rb +11 -64
- data/spec/core/cc_spec.rb +12 -5
- data/spec/core/compile_spec.rb +11 -0
- data/spec/core/doc_spec.rb +1 -1
- data/spec/core/run_spec.rb +17 -4
- data/spec/core/test_spec.rb +5 -3
- data/spec/ide/idea_spec.rb +60 -0
- data/spec/java/bdd_spec.rb +8 -218
- data/spec/java/cobertura_spec.rb +4 -0
- data/spec/java/compiler_spec.rb +11 -8
- data/spec/java/emma_spec.rb +4 -1
- data/spec/java/java_spec.rb +1 -1
- data/spec/java/pom_spec.rb +125 -0
- data/spec/java/tests_spec.rb +185 -0
- data/spec/packaging/archive_spec.rb +1 -1
- data/spec/packaging/artifact_namespace_spec.rb +15 -0
- data/spec/packaging/artifact_spec.rb +26 -1
- data/spec/sandbox.rb +7 -1
- data/spec/scala/bdd_spec.rb +111 -8
- data/spec/scala/tests_spec.rb +5 -1
- data/spec/spec_helpers.rb +9 -4
- data/spec/version_requirement_spec.rb +2 -0
- metadata +570 -505
- data/lib/buildr/core.rb +0 -34
- data/lib/buildr/ide.rb +0 -19
- data/lib/buildr/java.rb +0 -25
- data/lib/buildr/java/jtestr_result.rb +0 -331
- data/lib/buildr/java/jtestr_runner.rb.erb +0 -116
- data/lib/buildr/packaging.rb +0 -25
- data/rakelib/setup.rake +0 -68
data/lib/buildr/java/ant.rb
CHANGED
@@ -17,15 +17,12 @@
|
|
17
17
|
gem 'atoulme-Antwrap'
|
18
18
|
autoload :Antwrap, 'antwrap'
|
19
19
|
autoload :Logger, 'logger'
|
20
|
-
require 'buildr/core/project'
|
21
|
-
require 'buildr/core/help'
|
22
|
-
|
23
20
|
|
24
21
|
module Buildr
|
25
22
|
module Ant
|
26
23
|
|
27
24
|
# Which version of Ant we're using by default.
|
28
|
-
VERSION = '1.8.
|
25
|
+
VERSION = '1.8.3'
|
29
26
|
|
30
27
|
class << self
|
31
28
|
# Current version of Ant being used.
|
@@ -37,8 +34,7 @@ module Buildr
|
|
37
34
|
def dependencies
|
38
35
|
# Ant-Trax required for running the JUnitReport task, and there's no other place
|
39
36
|
# to put it but the root classpath.
|
40
|
-
@dependencies ||= ["org.apache.ant:ant:jar:#{version}", "org.apache.ant:ant-launcher:jar:#{version}"
|
41
|
-
"org.apache.ant:ant-trax:jar:#{version}"]
|
37
|
+
@dependencies ||= ["org.apache.ant:ant:jar:#{version}", "org.apache.ant:ant-launcher:jar:#{version}"]
|
42
38
|
end
|
43
39
|
|
44
40
|
private
|
data/lib/buildr/java/bdd.rb
CHANGED
@@ -13,10 +13,6 @@
|
|
13
13
|
# License for the specific language governing permissions and limitations under
|
14
14
|
# the License.
|
15
15
|
|
16
|
-
|
17
|
-
require 'buildr/java/tests'
|
18
|
-
require 'buildr/java/test_result'
|
19
|
-
|
20
16
|
module Buildr
|
21
17
|
|
22
18
|
# Mixin for test frameworks using src/spec/{lang}
|
@@ -47,7 +43,7 @@ module Buildr
|
|
47
43
|
module TestFramework::JRubyBased
|
48
44
|
extend self
|
49
45
|
|
50
|
-
VERSION = '1.
|
46
|
+
VERSION = '1.6.2'
|
51
47
|
|
52
48
|
class << self
|
53
49
|
def version
|
@@ -119,7 +115,7 @@ module Buildr
|
|
119
115
|
end
|
120
116
|
|
121
117
|
def jruby_home
|
122
|
-
@jruby_home ||= RUBY_PLATFORM =~ /java/ ?
|
118
|
+
@jruby_home ||= RUBY_PLATFORM =~ /java/ ? RbConfig::CONFIG['prefix'] :
|
123
119
|
( ENV['JRUBY_HOME'] || File.expand_path('~/.jruby') )
|
124
120
|
end
|
125
121
|
|
@@ -170,7 +166,7 @@ module Buildr
|
|
170
166
|
require 'jruby'
|
171
167
|
def JRuby.gem(name, version = '>0', *args)
|
172
168
|
require 'rbconfig'
|
173
|
-
jruby_home =
|
169
|
+
jruby_home = RbConfig::CONFIG['prefix']
|
174
170
|
expected_version = '#{TestFramework::JRubyBased.version}'
|
175
171
|
unless JRUBY_VERSION >= expected_version
|
176
172
|
fail "Expected JRuby version \#{expected_version} installed at \#{jruby_home} but got \#{JRUBY_VERSION}"
|
@@ -198,7 +194,7 @@ module Buildr
|
|
198
194
|
runner.requires ||= []
|
199
195
|
runner.requires.unshift File.join(File.dirname(__FILE__), 'test_result')
|
200
196
|
runner.gems ||= {}
|
201
|
-
runner.rspec ||= ['--format', 'progress', '--format',
|
197
|
+
runner.rspec ||= ['--format', 'progress', '--format', 'documentation']
|
202
198
|
runner.format.each { |format| runner.rspec << '--format' << format } if runner.format
|
203
199
|
runner.rspec.push '--format', "Buildr::TestFramework::TestResult::YamlFormatter"
|
204
200
|
runner.rspec.push '-o', runner.result
|
@@ -244,7 +240,7 @@ module Buildr
|
|
244
240
|
|
245
241
|
def runner_config
|
246
242
|
runner = super
|
247
|
-
runner.gems.update 'rspec' => '~> 2.
|
243
|
+
runner.gems.update 'rspec' => '~> 2.9.0'
|
248
244
|
runner.requires.unshift 'rspec'
|
249
245
|
runner
|
250
246
|
end
|
@@ -276,119 +272,6 @@ module Buildr
|
|
276
272
|
|
277
273
|
end
|
278
274
|
|
279
|
-
# <a href="http://jtestr.codehaus.org/">JtestR</a> is a framework for BDD and TDD using JRuby and ruby tools.
|
280
|
-
# To test your project with JtestR use:
|
281
|
-
# test.using :jtestr
|
282
|
-
#
|
283
|
-
#
|
284
|
-
# Support the following options:
|
285
|
-
# * :config -- path to JtestR config file. defaults to @spec/ruby/jtestr_config.rb@
|
286
|
-
# * :gems -- A hash of gems to install before running the tests.
|
287
|
-
# The keys of this hash are the gem name, the value must be the required version.
|
288
|
-
# * :requires -- A list of ruby files to require before running the specs
|
289
|
-
# Mainly used if an rspec format needs to require some file.
|
290
|
-
# * :format -- A list of valid Rspec --format option values. (defaults to 'progress')
|
291
|
-
# * :output -- File path to output dump. @false@ to supress output
|
292
|
-
# * :fork -- Create a new JavaVM to run the tests on
|
293
|
-
# * :properties -- Hash of properties passed to the test suite.
|
294
|
-
# * :java_args -- Arguments passed to the JVM.
|
295
|
-
class JtestR < TestFramework::JavaBDD
|
296
|
-
@lang = :ruby
|
297
|
-
@bdd_dir = :spec
|
298
|
-
|
299
|
-
include TestFramework::JRubyBased
|
300
|
-
|
301
|
-
VERSION = '0.6'
|
302
|
-
|
303
|
-
# pattern for rspec stories
|
304
|
-
STORY_PATTERN = /_(steps|story)\.rb$/
|
305
|
-
# pattern for test_unit files
|
306
|
-
TESTUNIT_PATTERN = /(_test|Test)\.rb$|(tc|ts)[^\\\/]+\.rb$/
|
307
|
-
# pattern for test files using http://expectations.rubyforge.org/
|
308
|
-
EXPECT_PATTERN = /_expect\.rb$/
|
309
|
-
|
310
|
-
TESTS_PATTERN = [STORY_PATTERN, TESTUNIT_PATTERN, EXPECT_PATTERN] + RSpec::TESTS_PATTERN
|
311
|
-
|
312
|
-
class << self
|
313
|
-
|
314
|
-
def version
|
315
|
-
Buildr.settings.build['jtestr'] || VERSION
|
316
|
-
end
|
317
|
-
|
318
|
-
def dependencies
|
319
|
-
unless @dependencies
|
320
|
-
super
|
321
|
-
@dependencies |= ["org.jtestr:jtestr:jar:#{version}"] +
|
322
|
-
JUnit.dependencies + TestNG.dependencies
|
323
|
-
end
|
324
|
-
@dependencies
|
325
|
-
end
|
326
|
-
|
327
|
-
def applies_to?(project) #:nodoc:
|
328
|
-
File.exist?(project.path_to(:source, bdd_dir, lang, 'jtestr_config.rb')) ||
|
329
|
-
Dir[project.path_to(:source, bdd_dir, lang, '**/*.rb')].any? { |f| TESTS_PATTERN.any? { |r| r === f } } ||
|
330
|
-
JUnit.applies_to?(project) || TestNG.applies_to?(project)
|
331
|
-
end
|
332
|
-
|
333
|
-
private
|
334
|
-
def const_missing(const)
|
335
|
-
return super unless const == :REQUIRES # TODO: remove in 1.5
|
336
|
-
Buildr.application.deprecated 'Please use JtestR.dependencies/.version instead of JtestR::REQUIRES/VERSION'
|
337
|
-
dependencies
|
338
|
-
end
|
339
|
-
|
340
|
-
end
|
341
|
-
|
342
|
-
def initialize(task, options) #:nodoc:
|
343
|
-
super
|
344
|
-
[:test, :spec].each do |usage|
|
345
|
-
java_tests = task.project.path_to(:source, usage, :java)
|
346
|
-
task.compile.from java_tests if File.directory?(java_tests)
|
347
|
-
resources = task.project.path_to(:source, usage, :resources)
|
348
|
-
task.resources.from resources if File.directory?(resources)
|
349
|
-
end
|
350
|
-
end
|
351
|
-
|
352
|
-
def user_config
|
353
|
-
options[:config] || task.project.path_to(:source, bdd_dir, lang, 'jtestr_config.rb')
|
354
|
-
end
|
355
|
-
|
356
|
-
def tests(dependencies) #:nodoc:
|
357
|
-
dependencies |= [task.compile.target.to_s]
|
358
|
-
types = { :story => STORY_PATTERN, :rspec => RSpec::TESTS_PATTERN,
|
359
|
-
:testunit => TESTUNIT_PATTERN, :expect => EXPECT_PATTERN }
|
360
|
-
tests = types.keys.inject({}) { |h, k| h[k] = []; h }
|
361
|
-
tests[:junit] = JUnit.new(task, {}).tests(dependencies)
|
362
|
-
tests[:testng] = TestNG.new(task, {}).tests(dependencies)
|
363
|
-
Dir[task.project.path_to(:source, bdd_dir, lang, '**/*.rb')].each do |rb|
|
364
|
-
type = types.find { |k, v| Array(v).any? { |r| r === rb } }
|
365
|
-
tests[type.first] << rb if type
|
366
|
-
end
|
367
|
-
@jtestr_tests = tests
|
368
|
-
tests.values.flatten
|
369
|
-
end
|
370
|
-
|
371
|
-
def runner_config
|
372
|
-
runner = super
|
373
|
-
# JtestR 0.6.0 comes with rspec 1.3.0 (and any other jtestr dependency) included,
|
374
|
-
# so the rspec version used depends on the jtestr jar.
|
375
|
-
runner.gems.update 'rspec' => '=1.3.0'
|
376
|
-
runner.requires.clear
|
377
|
-
runner.requires.unshift 'jtestr'
|
378
|
-
runner.requires.unshift 'spec'
|
379
|
-
runner.requires.unshift File.join(File.dirname(__FILE__), 'jtestr_result')
|
380
|
-
runner.rspec = ['--format', 'progress', '--format', "html:#{runner.html_report}"]
|
381
|
-
runner.format.each { |format| runner.rspec << '--format' << format } if runner.format
|
382
|
-
runner.rspec.push '--format', "Buildr::JtestR::YamlFormatter:#{runner.result}"
|
383
|
-
runner
|
384
|
-
end
|
385
|
-
|
386
|
-
def runner_content(binding)
|
387
|
-
runner_erb = File.join(File.dirname(__FILE__), 'jtestr_runner.rb.erb')
|
388
|
-
Filter::Mapper.new(:erb, binding).transform(File.read(runner_erb), runner_erb)
|
389
|
-
end
|
390
|
-
end
|
391
|
-
|
392
275
|
# JBehave is a Java BDD framework. To use in your project:
|
393
276
|
# test.using :jbehave
|
394
277
|
#
|
@@ -458,6 +341,5 @@ module Buildr
|
|
458
341
|
end
|
459
342
|
|
460
343
|
Buildr::TestFramework << Buildr::RSpec
|
461
|
-
Buildr::TestFramework << Buildr::JtestR
|
462
344
|
Buildr::TestFramework << Buildr::JBehave
|
463
345
|
|
@@ -13,14 +13,10 @@
|
|
13
13
|
# License for the specific language governing permissions and limitations under
|
14
14
|
# the License.
|
15
15
|
|
16
|
-
|
17
|
-
require 'buildr/java'
|
18
|
-
|
19
|
-
|
20
16
|
module Buildr
|
21
17
|
|
22
18
|
# Provides the <code>cobertura:html</code>, <code>cobertura:xml</code> and <code>cobertura:check</code> tasks.
|
23
|
-
# Require explicitly using <code>require "buildr/cobertura"</code>.
|
19
|
+
# Require explicitly using <code>require "buildr/java/cobertura"</code>.
|
24
20
|
#
|
25
21
|
# You can generate cobertura reports for a single project
|
26
22
|
# using the project name as prefix:
|
@@ -38,6 +34,10 @@ module Buildr
|
|
38
34
|
# cobertura.exclude /*.Const(ants)?/i
|
39
35
|
# end
|
40
36
|
#
|
37
|
+
# You can also specify the top level directory to which the top level cobertura tasks
|
38
|
+
# will generate reports by setting the value of the <code>Buildr::Cobertura.report_dir</code>
|
39
|
+
# configuration parameter.
|
40
|
+
#
|
41
41
|
module Cobertura
|
42
42
|
|
43
43
|
VERSION = '1.9.4.1'
|
@@ -65,12 +65,18 @@ module Buildr
|
|
65
65
|
REQUIRES.artifacts
|
66
66
|
end
|
67
67
|
|
68
|
+
attr_writer :report_dir
|
69
|
+
|
70
|
+
def report_dir
|
71
|
+
@report_dir || "reports/cobertura"
|
72
|
+
end
|
73
|
+
|
68
74
|
def report_to(file = nil)
|
69
|
-
File.expand_path(File.join(*[
|
75
|
+
File.expand_path(File.join(*[report_dir, file.to_s].compact))
|
70
76
|
end
|
71
77
|
|
72
|
-
def data_file
|
73
|
-
File.expand_path("
|
78
|
+
def data_file
|
79
|
+
File.expand_path("#{report_dir}.ser")
|
74
80
|
end
|
75
81
|
|
76
82
|
end
|
@@ -266,9 +272,9 @@ module Buildr
|
|
266
272
|
end
|
267
273
|
|
268
274
|
[:xml, :html].each do |format|
|
269
|
-
|
270
|
-
desc "Run the test cases and produce code coverage reports in #{report_target}"
|
275
|
+
desc "Run the test cases and produce code coverage reports"
|
271
276
|
task format => ["instrument", "test"] do
|
277
|
+
report_target = report_to(format)
|
272
278
|
if Buildr.projects.detect { |project| !project.compile.sources.empty? }
|
273
279
|
info "Creating test coverage reports in #{report_target}"
|
274
280
|
Buildr.ant "cobertura" do |ant|
|
data/lib/buildr/java/commands.rb
CHANGED
@@ -13,7 +13,6 @@
|
|
13
13
|
# License for the specific language governing permissions and limitations under
|
14
14
|
# the License.
|
15
15
|
|
16
|
-
|
17
16
|
# Base module for all things Java.
|
18
17
|
module Java
|
19
18
|
|
@@ -56,12 +55,39 @@ module Java
|
|
56
55
|
options[:properties].each { |k, v| cmd_args << "-D#{k}=#{v}" } if options[:properties]
|
57
56
|
cmd_args += (options[:java_args] || (ENV['JAVA_OPTS'] || ENV['JAVA_OPTIONS']).to_s.split).flatten
|
58
57
|
cmd_args += args.flatten.compact
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
58
|
+
|
59
|
+
tmp = nil
|
60
|
+
begin
|
61
|
+
# Windows can't handle cmd lines greater than 2048/8192 chars.
|
62
|
+
# If our cmd line is longer, we create a batch file and execute it instead.
|
63
|
+
if Util.win_os? && cmd_args.map(&:inspect).join(' ').size > 2048
|
64
|
+
# remove '-classpath' and the classpath itself from the cmd line.
|
65
|
+
cp_i = cmd_args.index{|x| x.starts_with('-classpath')}
|
66
|
+
2.times do
|
67
|
+
cmd_args.delete_at cp_i unless cp_i.nil?
|
68
|
+
end
|
69
|
+
# create tmp batch file.
|
70
|
+
tmp = Tempfile.new(['starter', '.bat'])
|
71
|
+
tmp.write "@echo off\n"
|
72
|
+
tmp.write "SET CLASSPATH=#{cp.join(File::PATH_SEPARATOR).gsub(%r{/}, '\\')}\n"
|
73
|
+
tmp.write cmd_args.map(&:inspect).join(' ')
|
74
|
+
tmp.close
|
75
|
+
# set new cmd line.
|
76
|
+
cmd_args = [tmp.path]
|
77
|
+
end
|
78
|
+
|
79
|
+
unless Buildr.application.options.dryrun
|
80
|
+
info "Running #{name}" if name && options[:verbose]
|
81
|
+
block = lambda { |ok, res| fail "Failed to execute #{name}, see errors above" unless ok } unless block
|
82
|
+
cmd_args = cmd_args.map(&:inspect).join(' ') if Util.win_os?
|
83
|
+
sh(*cmd_args) do |ok, ps|
|
84
|
+
block.call ok, ps
|
85
|
+
end
|
86
|
+
end
|
87
|
+
ensure
|
88
|
+
unless tmp.nil?
|
89
|
+
tmp.close
|
90
|
+
tmp.unlink
|
65
91
|
end
|
66
92
|
end
|
67
93
|
end
|
data/lib/buildr/java/compiler.rb
CHANGED
@@ -13,13 +13,6 @@
|
|
13
13
|
# License for the specific language governing permissions and limitations under
|
14
14
|
# the License.
|
15
15
|
|
16
|
-
|
17
|
-
require 'buildr/core/project'
|
18
|
-
require 'buildr/core/common'
|
19
|
-
require 'buildr/core/compile'
|
20
|
-
require 'buildr/packaging'
|
21
|
-
|
22
|
-
|
23
16
|
module Buildr
|
24
17
|
module Compiler
|
25
18
|
|
data/lib/buildr/java/doc.rb
CHANGED
data/lib/buildr/java/emma.rb
CHANGED
data/lib/buildr/java/jruby.rb
CHANGED
@@ -13,11 +13,9 @@
|
|
13
13
|
# License for the specific language governing permissions and limitations under
|
14
14
|
# the License.
|
15
15
|
|
16
|
-
|
17
16
|
require 'java'
|
18
17
|
require 'jruby'
|
19
18
|
|
20
|
-
|
21
19
|
# Buildr runs along side a JVM, using either RJB or JRuby. The Java module allows
|
22
20
|
# you to access Java classes and create Java objects.
|
23
21
|
#
|
data/lib/buildr/java/pom.rb
CHANGED
@@ -13,7 +13,6 @@
|
|
13
13
|
# License for the specific language governing permissions and limitations under
|
14
14
|
# the License.
|
15
15
|
|
16
|
-
|
17
16
|
module Buildr
|
18
17
|
class POM
|
19
18
|
|
@@ -76,36 +75,44 @@ module Buildr
|
|
76
75
|
|
77
76
|
# :call-seq:
|
78
77
|
# dependencies(scopes?) => artifacts
|
78
|
+
# dependencies(:scopes = [:runtime, :test, ...], :optional = true) => artifacts
|
79
79
|
#
|
80
80
|
# Returns list of required dependencies as specified by the POM. You can specify which scopes
|
81
81
|
# to use (e.g. "compile", "runtime"); use +nil+ for dependencies with unspecified scope.
|
82
|
-
# The default scopes are +nil+, "compile" and "runtime" (aka SCOPES_WE_USE).
|
83
|
-
|
84
|
-
|
82
|
+
# The default scopes are +nil+, "compile" and "runtime" (aka SCOPES_WE_USE) and no optional dependencies.
|
83
|
+
# Specifying optional = true will return all optional dependencies matching the given scopes.
|
84
|
+
def dependencies(options = {})
|
85
|
+
# backward compatibility
|
86
|
+
options = { :scopes => options } if Array === options
|
87
|
+
|
88
|
+
# support symbols, but don't fidget with nil
|
89
|
+
options[:scopes] = (options[:scopes] || SCOPES_WE_USE).map { |s| s.to_s if s }
|
90
|
+
|
91
|
+
# try to cache dependencies also
|
85
92
|
@depends_for_scopes ||= {}
|
86
|
-
unless depends = @depends_for_scopes[
|
93
|
+
unless depends = @depends_for_scopes[options]
|
87
94
|
declared = project["dependencies"].first["dependency"] rescue nil
|
88
|
-
depends = (declared || [])
|
89
|
-
|
95
|
+
depends = (declared || [])
|
96
|
+
depends = depends.reject { |dep| value_of(dep["optional"]) =~ /true/ } unless options[:optional]
|
97
|
+
depends = depends.map { |dep|
|
90
98
|
spec = pom_to_hash(dep, properties)
|
91
99
|
apply = managed(spec)
|
92
100
|
spec = apply.merge(spec) if apply
|
93
101
|
|
94
|
-
#calculate transitive dependencies
|
95
|
-
if scopes.include?(spec[:scope])
|
102
|
+
# calculate transitive dependencies
|
103
|
+
if options[:scopes].include?(spec[:scope])
|
96
104
|
spec.delete(:scope)
|
97
105
|
|
98
|
-
exclusions = dep["exclusions"]["exclusion"] rescue nil
|
99
|
-
transitive_deps = POM.load(spec).dependencies(SCOPES_TRANSITIVE)
|
106
|
+
exclusions = dep["exclusions"].first["exclusion"] rescue nil
|
107
|
+
transitive_deps = POM.load(spec).dependencies(options[:scopes_transitive] || SCOPES_TRANSITIVE)
|
100
108
|
transitive_deps = transitive_deps.reject{|dep|
|
101
|
-
exclusions.find {|ex| dep.index("#{
|
109
|
+
exclusions.find {|ex| dep.index("#{ex['groupId'].first}:#{ex['artifactId'].first}:") == 0}
|
102
110
|
} if exclusions
|
103
111
|
|
104
112
|
[Artifact.to_spec(spec)] + transitive_deps
|
105
113
|
end
|
106
114
|
}.flatten.compact #.uniq_by{|spec| art = spec.split(':'); "#{art[0]}:#{art[1]}"}
|
107
|
-
|
108
|
-
@depends_for_scopes[scopes] = depends
|
115
|
+
@depends_for_scopes[options] = depends
|
109
116
|
end
|
110
117
|
depends
|
111
118
|
end
|
@@ -123,7 +130,7 @@ module Buildr
|
|
123
130
|
hash
|
124
131
|
}
|
125
132
|
props = project["properties"].first rescue {}
|
126
|
-
props = props.inject({}) { |mapped, pair| mapped[pair.first] = value_of(pair.last,
|
133
|
+
props = props.inject({}) { |mapped, pair| mapped[pair.first] = value_of(pair.last, props) ; mapped }
|
127
134
|
(parent ? parent.properties.merge(props) : props).merge(pom)
|
128
135
|
end
|
129
136
|
end
|
@@ -157,7 +164,8 @@ module Buildr
|
|
157
164
|
# property substitution.
|
158
165
|
def value_of(element, substitute = nil)
|
159
166
|
value = element.to_a.join.strip
|
160
|
-
|
167
|
+
value = value.gsub(/\$\{([^}]+)\}/) { |key| Array(substitute[$1]).join.strip } if substitute
|
168
|
+
value
|
161
169
|
end
|
162
170
|
|
163
171
|
# :call-seq:
|