buildr 1.3.2 → 1.3.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +66 -4
- data/{README → README.rdoc} +29 -16
- data/Rakefile +16 -20
- data/_buildr +38 -0
- data/addon/buildr/cobertura.rb +49 -45
- data/addon/buildr/emma.rb +238 -0
- data/addon/buildr/jetty.rb +1 -1
- data/addon/buildr/nailgun.rb +585 -661
- data/{lib/buildr/java → addon/buildr}/org/apache/buildr/BuildrNail$Main.class +0 -0
- data/{lib/buildr/java → addon/buildr}/org/apache/buildr/BuildrNail.class +0 -0
- data/{lib/buildr/java → addon/buildr}/org/apache/buildr/BuildrNail.java +0 -0
- data/bin/buildr +9 -2
- data/buildr.buildfile +53 -0
- data/buildr.gemspec +21 -14
- data/doc/css/default.css +51 -48
- data/doc/css/print.css +60 -55
- data/doc/images/favicon.png +0 -0
- data/doc/images/growl-icon.tiff +0 -0
- data/doc/images/project-structure.png +0 -0
- data/doc/pages/artifacts.textile +46 -156
- data/doc/pages/building.textile +63 -323
- data/doc/pages/contributing.textile +112 -102
- data/doc/pages/download.textile +19 -27
- data/doc/pages/extending.textile +27 -81
- data/doc/pages/getting_started.textile +44 -119
- data/doc/pages/index.textile +26 -47
- data/doc/pages/languages.textile +407 -0
- data/doc/pages/more_stuff.textile +92 -173
- data/doc/pages/packaging.textile +71 -239
- data/doc/pages/projects.textile +58 -233
- data/doc/pages/recipes.textile +19 -43
- data/doc/pages/settings_profiles.textile +39 -104
- data/doc/pages/testing.textile +41 -304
- data/doc/pages/troubleshooting.textile +29 -47
- data/doc/pages/whats_new.textile +69 -167
- data/doc/print.haml +0 -1
- data/doc/print.toc.yaml +1 -0
- data/doc/scripts/buildr-git.rb +1 -1
- data/doc/site.haml +1 -0
- data/doc/site.toc.yaml +8 -5
- data/{KEYS → etc/KEYS} +0 -0
- data/etc/git-svn-authors +16 -0
- data/lib/buildr.rb +2 -5
- data/lib/buildr/core/application.rb +192 -98
- data/lib/buildr/core/build.rb +140 -91
- data/lib/buildr/core/checks.rb +5 -5
- data/lib/buildr/core/common.rb +1 -1
- data/lib/buildr/core/compile.rb +12 -10
- data/lib/buildr/core/filter.rb +151 -46
- data/lib/buildr/core/generate.rb +9 -9
- data/lib/buildr/core/progressbar.rb +1 -1
- data/lib/buildr/core/project.rb +8 -7
- data/lib/buildr/core/test.rb +51 -26
- data/lib/buildr/core/transports.rb +22 -38
- data/lib/buildr/core/util.rb +78 -26
- data/lib/buildr/groovy.rb +18 -0
- data/lib/buildr/groovy/bdd.rb +105 -0
- data/lib/buildr/groovy/compiler.rb +138 -0
- data/lib/buildr/ide/eclipse.rb +102 -71
- data/lib/buildr/ide/idea.rb +7 -12
- data/lib/buildr/ide/idea7x.rb +7 -8
- data/lib/buildr/java.rb +4 -7
- data/lib/buildr/java/ant.rb +26 -5
- data/lib/buildr/java/bdd.rb +449 -0
- data/lib/buildr/java/commands.rb +9 -9
- data/lib/buildr/java/{compilers.rb → compiler.rb} +8 -90
- data/lib/buildr/java/jruby.rb +29 -11
- data/lib/buildr/java/jtestr_runner.rb.erb +116 -0
- data/lib/buildr/java/packaging.rb +23 -16
- data/lib/buildr/java/pom.rb +1 -1
- data/lib/buildr/java/rjb.rb +21 -8
- data/lib/buildr/java/test_result.rb +308 -0
- data/lib/buildr/java/tests.rb +324 -0
- data/lib/buildr/packaging/artifact.rb +12 -11
- data/lib/buildr/packaging/artifact_namespace.rb +7 -4
- data/lib/buildr/packaging/gems.rb +3 -3
- data/lib/buildr/packaging/zip.rb +13 -10
- data/lib/buildr/resources/buildr.icns +0 -0
- data/lib/buildr/scala.rb +19 -0
- data/lib/buildr/scala/compiler.rb +109 -0
- data/lib/buildr/scala/tests.rb +203 -0
- data/rakelib/apache.rake +71 -45
- data/rakelib/doc.rake +2 -2
- data/rakelib/package.rake +3 -2
- data/rakelib/rspec.rake +23 -21
- data/rakelib/setup.rake +34 -9
- data/rakelib/stage.rake +4 -1
- data/spec/addon/cobertura_spec.rb +77 -0
- data/spec/addon/emma_spec.rb +120 -0
- data/spec/addon/test_coverage_spec.rb +255 -0
- data/spec/{application_spec.rb → core/application_spec.rb} +82 -4
- data/spec/{artifact_namespace_spec.rb → core/artifact_namespace_spec.rb} +12 -1
- data/spec/core/build_spec.rb +415 -0
- data/spec/{checks_spec.rb → core/checks_spec.rb} +2 -2
- data/spec/{common_spec.rb → core/common_spec.rb} +119 -30
- data/spec/{compile_spec.rb → core/compile_spec.rb} +17 -13
- data/spec/core/generate_spec.rb +33 -0
- data/spec/{project_spec.rb → core/project_spec.rb} +9 -6
- data/spec/{test_spec.rb → core/test_spec.rb} +222 -28
- data/spec/{transport_spec.rb → core/transport_spec.rb} +5 -9
- data/spec/groovy/bdd_spec.rb +80 -0
- data/spec/{groovy_compilers_spec.rb → groovy/compiler_spec.rb} +1 -1
- data/spec/ide/eclipse_spec.rb +243 -0
- data/spec/{java_spec.rb → java/ant.rb} +7 -17
- data/spec/java/bdd_spec.rb +358 -0
- data/spec/{java_compilers_spec.rb → java/compiler_spec.rb} +1 -1
- data/spec/java/java_spec.rb +88 -0
- data/spec/{java_packaging_spec.rb → java/packaging_spec.rb} +65 -4
- data/spec/{java_test_frameworks_spec.rb → java/tests_spec.rb} +31 -10
- data/spec/{archive_spec.rb → packaging/archive_spec.rb} +12 -2
- data/spec/{artifact_spec.rb → packaging/artifact_spec.rb} +12 -5
- data/spec/{packaging_helper.rb → packaging/packaging_helper.rb} +0 -0
- data/spec/{packaging_spec.rb → packaging/packaging_spec.rb} +1 -1
- data/spec/sandbox.rb +22 -5
- data/spec/{scala_compilers_spec.rb → scala/compiler_spec.rb} +1 -1
- data/spec/{scala_test_frameworks_spec.rb → scala/tests_spec.rb} +11 -12
- data/spec/spec_helpers.rb +38 -17
- metadata +103 -70
- data/lib/buildr/java/bdd_frameworks.rb +0 -265
- data/lib/buildr/java/groovyc.rb +0 -137
- data/lib/buildr/java/test_frameworks.rb +0 -450
- data/spec/build_spec.rb +0 -193
- data/spec/java_bdd_frameworks_spec.rb +0 -238
- data/spec/spec.opts +0 -6
data/lib/buildr/java/commands.rb
CHANGED
@@ -47,7 +47,7 @@ module Java
|
|
47
47
|
cmd_args += (options[:java_args] || (ENV['JAVA_OPTS'] || ENV['JAVA_OPTIONS']).to_s.split).flatten
|
48
48
|
cmd_args += args.flatten.compact
|
49
49
|
unless Buildr.application.options.dryrun
|
50
|
-
|
50
|
+
info "Running #{name}"
|
51
51
|
block = lambda { |ok, res| fail "Failed to execute #{name}, see errors above" unless ok } unless block
|
52
52
|
puts cmd_args.join(' ') if Buildr.application.options.trace
|
53
53
|
cmd_args = cmd_args.map(&:inspect).join(' ') if Util.win_os?
|
@@ -83,13 +83,13 @@ module Java
|
|
83
83
|
end
|
84
84
|
cmd_args << '-source' << options[:source] if options[:source]
|
85
85
|
classpath = classpath_from(options)
|
86
|
-
tools =
|
87
|
-
classpath << tools if tools
|
86
|
+
tools = Java.tools_jar
|
87
|
+
classpath << tools if tools
|
88
88
|
cmd_args << '-classpath' << classpath.join(File::PATH_SEPARATOR) unless classpath.empty?
|
89
89
|
cmd_args += files
|
90
90
|
unless Buildr.application.options.dryrun
|
91
|
-
|
92
|
-
|
91
|
+
info 'Running apt'
|
92
|
+
trace (['apt'] + cmd_args).join(' ')
|
93
93
|
Java.load
|
94
94
|
Java.com.sun.tools.apt.Main.process(cmd_args.to_java(Java.java.lang.String)) == 0 or
|
95
95
|
fail 'Failed to process annotations, see errors above'
|
@@ -124,8 +124,8 @@ module Java
|
|
124
124
|
cmd_args += options[:javac_args].flatten if options[:javac_args]
|
125
125
|
cmd_args += files
|
126
126
|
unless Buildr.application.options.dryrun
|
127
|
-
|
128
|
-
|
127
|
+
info "Compiling #{files.size} source files in #{name}"
|
128
|
+
trace (['javac'] + cmd_args).join(' ')
|
129
129
|
Java.load
|
130
130
|
Java.com.sun.tools.javac.Main.compile(cmd_args.to_java(Java.java.lang.String)) == 0 or
|
131
131
|
fail 'Failed to compile, see errors above'
|
@@ -174,8 +174,8 @@ module Java
|
|
174
174
|
cmd_args += args.flatten.uniq
|
175
175
|
name = options[:name] || Dir.pwd
|
176
176
|
unless Buildr.application.options.dryrun
|
177
|
-
|
178
|
-
|
177
|
+
info "Generating Javadoc for #{name}"
|
178
|
+
trace (['javadoc'] + cmd_args).join(' ')
|
179
179
|
Java.load
|
180
180
|
Java.com.sun.tools.javadoc.Main.execute(cmd_args.to_java(Java.java.lang.String)) == 0 or
|
181
181
|
fail 'Failed to generate Javadocs, see errors above'
|
@@ -54,8 +54,8 @@ module Buildr
|
|
54
54
|
def compile(sources, target, dependencies) #:nodoc:
|
55
55
|
check_options options, OPTIONS
|
56
56
|
cmd_args = []
|
57
|
-
|
58
|
-
dependencies <<
|
57
|
+
# tools.jar contains the Java compiler.
|
58
|
+
dependencies << Java.tools_jar if Java.tools_jar
|
59
59
|
cmd_args << '-classpath' << dependencies.join(File::PATH_SEPARATOR) unless dependencies.empty?
|
60
60
|
source_paths = sources.select { |source| File.directory?(source) }
|
61
61
|
cmd_args << '-sourcepath' << source_paths.join(File::PATH_SEPARATOR) unless source_paths.empty?
|
@@ -63,7 +63,7 @@ module Buildr
|
|
63
63
|
cmd_args += javac_args
|
64
64
|
cmd_args += files_from_sources(sources)
|
65
65
|
unless Buildr.application.options.dryrun
|
66
|
-
|
66
|
+
trace((['javac'] + cmd_args).join(' '))
|
67
67
|
Java.load
|
68
68
|
Java.com.sun.tools.javac.Main.compile(cmd_args.to_java(Java.java.lang.String)) == 0 or
|
69
69
|
fail 'Failed to compile, see errors above'
|
@@ -89,88 +89,7 @@ module Buildr
|
|
89
89
|
end
|
90
90
|
|
91
91
|
end
|
92
|
-
|
93
|
-
|
94
|
-
# Scalac compiler:
|
95
|
-
# compile.using(:scalac)
|
96
|
-
# Used by default if .scala files are found in the src/main/scala directory (or src/test/scala)
|
97
|
-
# and sets the target directory to target/classes (or target/test/classes).
|
98
|
-
#
|
99
|
-
# Accepts the following options:
|
100
|
-
# * :warnings -- Generate warnings if true (opposite of -nowarn).
|
101
|
-
# * :deprecation -- Output source locations where deprecated APIs are used.
|
102
|
-
# * :optimise -- Generates faster bytecode by applying optimisations to the program.
|
103
|
-
# * :target -- Class file compatibility with specified release.
|
104
|
-
# * :debug -- Generate debugging info.
|
105
|
-
# * :other -- Array of options to pass to the Scalac compiler as is, e.g. -Xprint-types
|
106
|
-
class Scalac < Base
|
107
|
-
class << self
|
108
|
-
def scala_home
|
109
|
-
@home ||= ENV['SCALA_HOME']
|
110
|
-
end
|
111
|
-
|
112
|
-
def dependencies
|
113
|
-
[ 'scala-library.jar', 'scala-compiler.jar'].map { |jar| File.expand_path("lib/#{jar}", scala_home) }
|
114
|
-
end
|
115
|
-
|
116
|
-
def use_fsc
|
117
|
-
ENV["USE_FSC"] =~ /^(yes|on|true)$/i
|
118
|
-
end
|
119
|
-
end
|
120
|
-
|
121
|
-
OPTIONS = [:warnings, :deprecation, :optimise, :target, :debug, :other]
|
122
|
-
Java.classpath << dependencies
|
123
|
-
|
124
|
-
specify :language=>:scala, :target=>'classes', :target_ext=>'class', :packaging=>:jar
|
125
|
-
|
126
|
-
def initialize(project, options) #:nodoc:
|
127
|
-
super
|
128
|
-
options[:debug] = Buildr.options.debug if options[:debug].nil?
|
129
|
-
options[:warnings] = verbose if options[:warnings].nil?
|
130
|
-
options[:deprecation] ||= false
|
131
|
-
options[:optimise] ||= false
|
132
|
-
end
|
133
|
-
|
134
|
-
def compile(sources, target, dependencies) #:nodoc:
|
135
|
-
check_options options, OPTIONS
|
136
|
-
|
137
|
-
cmd_args = []
|
138
|
-
cmd_args << '-classpath' << (dependencies + Scalac.dependencies).join(File::PATH_SEPARATOR)
|
139
|
-
source_paths = sources.select { |source| File.directory?(source) }
|
140
|
-
cmd_args << '-sourcepath' << source_paths.join(File::PATH_SEPARATOR) unless source_paths.empty?
|
141
|
-
cmd_args << '-d' << File.expand_path(target)
|
142
|
-
cmd_args += scalac_args
|
143
|
-
cmd_args += files_from_sources(sources)
|
144
|
-
|
145
|
-
unless Buildr.application.options.dryrun
|
146
|
-
Scalac.scala_home or fail 'Are we forgetting something? SCALA_HOME not set.'
|
147
|
-
puts (['scalac'] + cmd_args).join(' ') if Buildr.application.options.trace
|
148
|
-
if Scalac.use_fsc
|
149
|
-
system(([File.expand_path('bin/fsc', Scalac.scala_home)] + cmd_args).join(' ')) or
|
150
|
-
fail 'Failed to compile, see errors above'
|
151
|
-
else
|
152
|
-
Java.load
|
153
|
-
Java.scala.tools.nsc.Main.process(cmd_args.to_java(Java.java.lang.String))
|
154
|
-
fail 'Failed to compile, see errors above' if Java.scala.tools.nsc.Main.reporter.hasErrors
|
155
|
-
end
|
156
|
-
end
|
157
|
-
end
|
158
|
-
|
159
|
-
private
|
160
|
-
|
161
|
-
# Returns Scalac command line arguments from the set of options.
|
162
|
-
def scalac_args #:nodoc:
|
163
|
-
args = []
|
164
|
-
args << "-nowarn" unless options[:warnings]
|
165
|
-
args << "-verbose" if Buildr.application.options.trace
|
166
|
-
args << "-g" if options[:debug]
|
167
|
-
args << "-deprecation" if options[:deprecation]
|
168
|
-
args << "-optimise" if options[:optimise]
|
169
|
-
args << "-target:jvm-" + options[:target].to_s if options[:target]
|
170
|
-
args + Array(options[:other])
|
171
|
-
end
|
172
|
-
|
173
|
-
end
|
92
|
+
|
174
93
|
end
|
175
94
|
|
176
95
|
|
@@ -338,8 +257,8 @@ module Buildr
|
|
338
257
|
end
|
339
258
|
cmd_args += sources.flatten.uniq
|
340
259
|
unless Buildr.application.options.dryrun
|
341
|
-
|
342
|
-
|
260
|
+
info "Generating Javadoc for #{name}"
|
261
|
+
trace (['javadoc'] + cmd_args).join(' ')
|
343
262
|
Java.load
|
344
263
|
Java.com.sun.tools.javadoc.Main.execute(cmd_args.to_java(Java.java.lang.String)) == 0 or
|
345
264
|
fail 'Failed to generate Javadocs, see errors above'
|
@@ -410,8 +329,8 @@ module Buildr
|
|
410
329
|
cmd_args += (sources.map(&:to_s) - [task.name]).
|
411
330
|
map { |file| File.directory?(file) ? FileList["#{file}/**/*.java"] : file }.flatten
|
412
331
|
unless Buildr.application.options.dryrun
|
413
|
-
|
414
|
-
|
332
|
+
info 'Running apt'
|
333
|
+
trace (['apt'] + cmd_args).join(' ')
|
415
334
|
Java.com.sun.tools.apt.Main.process(cmd_args.to_java(Java.java.lang.String)) == 0 or
|
416
335
|
fail 'Failed to process annotations, see errors above'
|
417
336
|
end
|
@@ -423,7 +342,6 @@ module Buildr
|
|
423
342
|
end
|
424
343
|
|
425
344
|
Buildr::Compiler << Buildr::Compiler::Javac
|
426
|
-
Buildr::Compiler << Buildr::Compiler::Scalac
|
427
345
|
class Buildr::Project
|
428
346
|
include Buildr::Javadoc
|
429
347
|
include Buildr::Apt
|
data/lib/buildr/java/jruby.rb
CHANGED
@@ -56,6 +56,10 @@ require 'jruby'
|
|
56
56
|
# 4. Check on a clean build with empty local repository.
|
57
57
|
module Java
|
58
58
|
|
59
|
+
# Since we already have a JVM loaded, we can use it to guess where JAVA_HOME is.
|
60
|
+
# We set JAVA_HOME early so we can use it without calling Java.load first.
|
61
|
+
ENV['JAVA_HOME'] ||= java.lang.System.getProperty("java.home")
|
62
|
+
|
59
63
|
class << self
|
60
64
|
|
61
65
|
# Returns the classpath, an array listing directories, JAR files and
|
@@ -67,6 +71,15 @@ module Java
|
|
67
71
|
def classpath
|
68
72
|
@classpath ||= []
|
69
73
|
end
|
74
|
+
|
75
|
+
# Most platforms requires tools.jar to be on the classpath, tools.jar contains the
|
76
|
+
# Java compiler (OS X and AIX are two exceptions we know about, may be more).
|
77
|
+
# Guess where tools.jar is from JAVA_HOME, which hopefully points to the JDK,
|
78
|
+
# but maybe the JRE. Return nil if not found.
|
79
|
+
def tools_jar #:nodoc:
|
80
|
+
@tools_jar ||= ['lib/tools.jar', '../lib/tools.jar'].map { |path| File.expand_path(path, ENV['JAVA_HOME']) }.
|
81
|
+
find { |path| File.exist?(path) }
|
82
|
+
end
|
70
83
|
|
71
84
|
# Loads the JVM and all the libraries listed on the classpath. Call this
|
72
85
|
# method before accessing any Java class, but only call it from methods
|
@@ -74,22 +87,27 @@ module Java
|
|
74
87
|
# that append to the classpath and specify which remote repositories to use.
|
75
88
|
def load
|
76
89
|
return self if @loaded
|
77
|
-
|
78
|
-
#
|
79
|
-
#
|
90
|
+
|
91
|
+
# Adding jars to the jruby's $CLASSPATH should be the correct thing, however it
|
92
|
+
# seems like some tools require their jars on system class loader (javadoc, junit, etc)
|
93
|
+
# cp.each { |path| $CLASSPATH << path }
|
94
|
+
|
95
|
+
# Use system ClassLoader to add classpath
|
80
96
|
sysloader = java.lang.ClassLoader.getSystemClassLoader
|
81
97
|
add_url_method = java.lang.Class.forName('java.net.URLClassLoader').
|
82
|
-
getDeclaredMethod('addURL', [java.net.URL].to_java(java.lang.Class))
|
98
|
+
getDeclaredMethod('addURL', [java.net.URL.java_class].to_java(java.lang.Class))
|
83
99
|
add_url_method.setAccessible(true)
|
84
100
|
add_path = lambda { |path| add_url_method.invoke(sysloader, [java.io.File.new(path).toURI.toURL].to_java(java.net.URL)) }
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
101
|
+
|
102
|
+
# Most platforms requires tools.jar to be on the classpath.
|
103
|
+
add_path[tools_jar] if tools_jar
|
104
|
+
|
105
|
+
classpath.map! { |path| Proc === path ? path.call : path }
|
106
|
+
Buildr.artifacts(classpath).map(&:to_s).each do |path|
|
107
|
+
file(path).invoke
|
108
|
+
add_path[path]
|
91
109
|
end
|
92
|
-
|
110
|
+
|
93
111
|
@loaded = true
|
94
112
|
self
|
95
113
|
end
|
@@ -0,0 +1,116 @@
|
|
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
|
+
# ___ ___ _ _ ___ _____ ___ ___ ___ _____ _____ _ _ ___ ___
|
17
|
+
# | \ / _ \ | \| |/ _ \_ _| | __| \_ _|_ _| |_ _| || |_ _/ __|
|
18
|
+
# | |) | (_) | | .` | (_) || | | _|| |) | | | | | | | __ || |\__ \
|
19
|
+
# |___/ \___/ |_|\_|\___/ |_| |___|___/___| |_| |_| |_||_|___|___/
|
20
|
+
#
|
21
|
+
# ___ ___ _ ___
|
22
|
+
# | __|_ _| | | __| CHANGES TO THIS FILE WILL BE LOST
|
23
|
+
# | _| | || |__| _| AUTO-GENERATED BY BUILDR on <%= Time.now %>
|
24
|
+
# |_| |___|____|___| PREFER TO EDIT JtestR CONFIGURATION FILE:
|
25
|
+
#
|
26
|
+
# <%= user_config %>
|
27
|
+
|
28
|
+
begin
|
29
|
+
|
30
|
+
<%= jruby_gem %>
|
31
|
+
<%= dependencies.map(&:to_s).inspect %>.each { |dep| $CLASSPATH << dep }
|
32
|
+
<%= runner.gems.inspect %>.each { |ary| JRuby.gem(*ary.flatten) }
|
33
|
+
<%= runner.requires.inspect %>.each { |rb| Kernel.require rb }
|
34
|
+
|
35
|
+
jtestr = JtestR::TestRunner.new
|
36
|
+
|
37
|
+
class << jtestr
|
38
|
+
def config(&block)
|
39
|
+
@config_blocks ||= []
|
40
|
+
@config_blocks << block if block
|
41
|
+
@config_blocks
|
42
|
+
end
|
43
|
+
|
44
|
+
def load_configuration
|
45
|
+
super
|
46
|
+
config.each { |block| @configuration.instance_eval(&block) }
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
jtestr.config do
|
51
|
+
classpath [] # already loaded
|
52
|
+
add_common_classpath false
|
53
|
+
|
54
|
+
<% ts = ( @jtestr_tests[:junit] & tests ).map { |c| 'Java.' + c } %>
|
55
|
+
junit [<%= ts.join(', ') %>]
|
56
|
+
|
57
|
+
<% ts = ( @jtestr_tests[:testng] & tests ).map { |c| 'Java.' + c } %>
|
58
|
+
testng [<%= ts.join(', ') %>]
|
59
|
+
|
60
|
+
<% ts = @jtestr_tests[:testunit] & tests %>
|
61
|
+
test_unit <%= ts.inspect %>
|
62
|
+
|
63
|
+
<% ts = @jtestr_tests[:story] & tests %>
|
64
|
+
story <%= ts.inspect %>
|
65
|
+
|
66
|
+
<% ts = @jtestr_tests[:rspec] & tests %>
|
67
|
+
rspec <%= ts.inspect %>
|
68
|
+
|
69
|
+
<% ts = @jtestr_tests[:expect] & tests %>
|
70
|
+
expectations <%= ts.inspect %>
|
71
|
+
|
72
|
+
ignore __FILE__
|
73
|
+
|
74
|
+
if File.file?(<%= user_config.inspect %>)
|
75
|
+
ignore <%= user_config.inspect %>
|
76
|
+
load <%= user_config.inspect %>
|
77
|
+
end
|
78
|
+
end # config
|
79
|
+
|
80
|
+
fake_out = StringIO.new
|
81
|
+
|
82
|
+
<% if runner.output == false %>
|
83
|
+
output = fake_out
|
84
|
+
<% elsif runner.output.kind_of?(String) %>
|
85
|
+
output = File.open(<%= result.output.inspect %>, 'w')
|
86
|
+
<% else %>
|
87
|
+
output = STDOUT
|
88
|
+
<% end %>
|
89
|
+
|
90
|
+
|
91
|
+
args = [ '<%= spec_dir %>', # the directory to search for jtestr files
|
92
|
+
JtestR::SimpleLogger::ERR, # log level
|
93
|
+
JtestR::GenericResultHandler::QUIET, #output level
|
94
|
+
fake_out, # output STDOUT
|
95
|
+
[], # groups to run
|
96
|
+
Buildr::TestFramework::TestResult::RSpecResultHandler, # result handler
|
97
|
+
[] # classpath
|
98
|
+
]
|
99
|
+
|
100
|
+
argv = <%= runner.rspec.inspect %> || []
|
101
|
+
argv.push *<%= tests.inspect %>
|
102
|
+
Buildr::TestFramework::TestResult::RSpecResultHandler.init(argv, output, output)
|
103
|
+
|
104
|
+
jtestr.run *args
|
105
|
+
|
106
|
+
rescue => e
|
107
|
+
Buildr::TestFramework::TestResult::Error.dump_yaml('<%= runner.result %>', e) rescue \
|
108
|
+
puts "-[--- ERROR ---]-", e.class, e.message, *e.backtrace
|
109
|
+
end
|
110
|
+
|
111
|
+
exit 0 # let buildr find the erros from the result yaml
|
112
|
+
|
113
|
+
# Local Variables:
|
114
|
+
# mode: ruby
|
115
|
+
# End:
|
116
|
+
|
@@ -31,7 +31,7 @@ module Buildr
|
|
31
31
|
|
32
32
|
class << self
|
33
33
|
|
34
|
-
# :
|
34
|
+
# :call-seq:
|
35
35
|
# parse(str) => manifest
|
36
36
|
#
|
37
37
|
# Parse a string in MANIFEST.MF format and return a new Manifest.
|
@@ -51,7 +51,7 @@ module Buildr
|
|
51
51
|
}
|
52
52
|
end
|
53
53
|
|
54
|
-
# :
|
54
|
+
# :call-seq:
|
55
55
|
# from_zip(file) => manifest
|
56
56
|
#
|
57
57
|
# Parse the MANIFEST.MF entry of a ZIP (or JAR) file and return a new Manifest.
|
@@ -62,7 +62,7 @@ module Buildr
|
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
65
|
-
# :
|
65
|
+
# :call-seq:
|
66
66
|
# update_manifest(file) { |manifest| ... }
|
67
67
|
#
|
68
68
|
# Updates the MANIFEST.MF entry of a ZIP (or JAR) file. Reads the MANIFEST.MF,
|
@@ -168,14 +168,14 @@ module Buildr
|
|
168
168
|
if manifest
|
169
169
|
# Tempfiles gets deleted on garbage collection, so we're going to hold on to it
|
170
170
|
# through instance variable not closure variable.
|
171
|
-
Tempfile.
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
171
|
+
@manifest_tmp = Tempfile.new('MANIFEST.MF')
|
172
|
+
self.manifest = File.read(manifest.to_s) if String === manifest || Rake::Task === manifest
|
173
|
+
self.manifest = Manifest.new(manifest) unless Manifest === manifest
|
174
|
+
@manifest_tmp.write Manifest::STANDARD_HEADER
|
175
|
+
@manifest_tmp.write manifest.to_s
|
176
|
+
@manifest_tmp.write "\n"
|
177
|
+
@manifest_tmp.rewind
|
178
|
+
path('META-INF').include @manifest_tmp.path, :as=>'MANIFEST.MF'
|
179
179
|
end
|
180
180
|
end
|
181
181
|
end
|
@@ -546,7 +546,7 @@ module Buildr
|
|
546
546
|
return @descriptor if @descriptor
|
547
547
|
descriptor_path = path_to('META-INF/application.xml')
|
548
548
|
@descriptor = file(descriptor_path) do |task|
|
549
|
-
|
549
|
+
trace "Creating EAR Descriptor: #{task.to_s}"
|
550
550
|
mkpath File.dirname(task.name), :verbose=>false
|
551
551
|
File.open(task.name, 'w') { |file| file.print task.xml }
|
552
552
|
end
|
@@ -572,12 +572,19 @@ module Buildr
|
|
572
572
|
|
573
573
|
before_define do |project|
|
574
574
|
::Java.load
|
575
|
-
|
576
|
-
|
575
|
+
if project.parent && project.parent.manifest
|
576
|
+
project.manifest = project.parent.manifest.dup
|
577
|
+
else
|
578
|
+
project.manifest = {
|
579
|
+
'Build-By'=>ENV['USER'], 'Build-Jdk'=>ENV_JAVA['java.version'],
|
577
580
|
'Implementation-Title'=>project.comment || project.name,
|
578
581
|
'Implementation-Version'=>project.version }
|
579
|
-
|
580
|
-
|
582
|
+
end
|
583
|
+
if project.parent && project.parent.meta_inf
|
584
|
+
project.meta_inf = project.parent.meta_inf.dup
|
585
|
+
else
|
586
|
+
project.meta_inf = [project.file('LICENSE')].select { |file| File.exist?(file.to_s) }
|
587
|
+
end
|
581
588
|
end
|
582
589
|
|
583
590
|
|
data/lib/buildr/java/pom.rb
CHANGED
@@ -51,7 +51,7 @@ module Buildr
|
|
51
51
|
when String
|
52
52
|
filename = File.expand_path(source)
|
53
53
|
unless pom = cache[filename]
|
54
|
-
|
54
|
+
trace "Loading m2 pom file from #{filename}"
|
55
55
|
pom = POM.new(IO.read(filename))
|
56
56
|
cache[filename] = pom
|
57
57
|
end
|