buildr 1.5.0-x86-mswin32 → 1.5.1-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.
- checksums.yaml +4 -4
- data/CHANGELOG +24 -1
- data/addon/buildr/bnd.rb +7 -5
- data/addon/buildr/custom_pom.rb +3 -272
- data/addon/buildr/git_auto_version.rb +3 -1
- data/addon/buildr/gwt.rb +66 -7
- data/addon/buildr/protobuf.rb +5 -8
- data/buildr.gemspec +2 -3
- data/doc/contributing.textile +3 -20
- data/doc/download.textile +6 -6
- data/doc/index.textile +7 -0
- data/doc/settings_profiles.textile +1 -1
- data/lib/buildr.rb +1 -1
- data/lib/buildr/core/build.rb +1 -1
- data/lib/buildr/core/filter.rb +1 -1
- data/lib/buildr/core/project.rb +1 -1
- data/lib/buildr/core/transports.rb +1 -1
- data/lib/buildr/ide/idea.rb +18 -3
- data/lib/buildr/java/custom_pom.rb +265 -0
- data/lib/buildr/java/ecj.rb +2 -2
- data/lib/buildr/java/jruby.rb +3 -3
- data/lib/buildr/java/packaging.rb +6 -4
- data/lib/buildr/java/rjb.rb +5 -5
- data/lib/buildr/packaging/archive.rb +3 -3
- data/lib/buildr/packaging/artifact.rb +30 -24
- data/lib/buildr/packaging/package.rb +2 -1
- data/lib/buildr/packaging/zip.rb +2 -2
- data/lib/buildr/scala/bdd.rb +21 -21
- data/lib/buildr/scala/compiler.rb +21 -18
- data/lib/buildr/scala/tests.rb +1 -1
- data/lib/buildr/version.rb +1 -1
- data/rakelib/release.rake +5 -3
- data/rakelib/stage.rake +1 -1
- data/spec/addon/jaxb_xjc_spec.rb +0 -1
- data/spec/core/application_spec.rb +1 -1
- data/spec/core/common_spec.rb +1 -1
- data/spec/core/project_spec.rb +3 -3
- data/spec/core/test_spec.rb +1 -1
- data/spec/core/transport_spec.rb +10 -2
- data/spec/{addon → java}/custom_pom_spec.rb +3 -16
- data/spec/java/ecj_spec.rb +2 -2
- data/spec/java/java_spec.rb +1 -1
- data/spec/java/tests_spec.rb +1 -1
- data/spec/packaging/artifact_spec.rb +23 -15
- data/spec/packaging/packaging_spec.rb +10 -2
- data/spec/scala/bdd_spec.rb +0 -1
- data/spec/scala/compiler_spec.rb +4 -4
- data/spec/scala/doc_spec.rb +0 -1
- data/spec/scala/tests_spec.rb +2 -3
- metadata +18 -36
- data/lib/buildr/scala/org/apache/buildr/Specs2Runner.java +0 -37
- data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.class +0 -0
- data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.java +0 -57
- data/lib/buildr/scala/org/apache/buildr/ZincRunner.class +0 -0
- data/lib/buildr/scala/org/apache/buildr/ZincRunner.java +0 -37
data/lib/buildr/java/ecj.rb
CHANGED
data/lib/buildr/java/jruby.rb
CHANGED
@@ -75,19 +75,19 @@ module Java
|
|
75
75
|
@classpath ||= begin
|
76
76
|
classpath = []
|
77
77
|
class << classpath
|
78
|
-
|
78
|
+
|
79
79
|
def new_add(*args)
|
80
80
|
warn 'Java is already loaded' if Java.loaded?
|
81
81
|
send(:old_add, *args)
|
82
82
|
end
|
83
|
-
|
83
|
+
|
84
84
|
alias_method :old_add, :<<
|
85
85
|
alias_method :<<, :new_add
|
86
86
|
end
|
87
87
|
classpath
|
88
88
|
end
|
89
89
|
end
|
90
|
-
|
90
|
+
|
91
91
|
# Returns true if the JVM is loaded with all the libraries loaded on the classpath.
|
92
92
|
def loaded?
|
93
93
|
@loaded
|
@@ -210,6 +210,9 @@ module Buildr #:nodoc:
|
|
210
210
|
|
211
211
|
def initialize(*args) #:nodoc:
|
212
212
|
super
|
213
|
+
enhance do
|
214
|
+
pom.invoke rescue nil if pom && pom != self && classifier.nil?
|
215
|
+
end
|
213
216
|
end
|
214
217
|
|
215
218
|
# :call-seq:
|
@@ -223,11 +226,10 @@ module Buildr #:nodoc:
|
|
223
226
|
# package(:jar).with(:manifest=>'MANIFEST_MF')
|
224
227
|
def with(*args)
|
225
228
|
super args.pop if Hash === args.last
|
226
|
-
fail
|
229
|
+
fail 'package.with() should not contain nil values' if args.include? nil
|
227
230
|
include :from=>args if args.size > 0
|
228
231
|
self
|
229
232
|
end
|
230
|
-
|
231
233
|
end
|
232
234
|
|
233
235
|
|
@@ -521,8 +523,8 @@ module Buildr #:nodoc:
|
|
521
523
|
buffer = ""
|
522
524
|
xml = Builder::XmlMarkup.new(:target=>buffer, :indent => 2)
|
523
525
|
xml.declare! :DOCTYPE, :application, :PUBLIC,
|
524
|
-
|
525
|
-
|
526
|
+
'-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN',
|
527
|
+
'http://java.sun.com/j2ee/dtds/application_1_2.dtd'
|
526
528
|
xml.application do
|
527
529
|
xml.tag! 'display-name', display_name
|
528
530
|
desc = self.description || @project.comment
|
data/lib/buildr/java/rjb.rb
CHANGED
@@ -65,7 +65,7 @@ ENV_JAVA = {}
|
|
65
65
|
# with a partial classpath, or before all remote repositories are listed.
|
66
66
|
# 4. Check on a clean build with empty local repository.
|
67
67
|
module Java
|
68
|
-
|
68
|
+
|
69
69
|
module Package #:nodoc:
|
70
70
|
|
71
71
|
def method_missing(sym, *args, &block)
|
@@ -78,7 +78,7 @@ module Java
|
|
78
78
|
end
|
79
79
|
|
80
80
|
class << self
|
81
|
-
|
81
|
+
|
82
82
|
# Returns the classpath, an array listing directories, JAR files and
|
83
83
|
# artifacts. Use when loading the extension to add any additional
|
84
84
|
# libraries used by that extension.
|
@@ -89,19 +89,19 @@ module Java
|
|
89
89
|
@classpath ||= begin
|
90
90
|
classpath = []
|
91
91
|
class << classpath
|
92
|
-
|
92
|
+
|
93
93
|
def new_add(*args)
|
94
94
|
warn 'Java is already loaded' if Java.loaded?
|
95
95
|
send(:old_add, *args)
|
96
96
|
end
|
97
|
-
|
97
|
+
|
98
98
|
alias_method :old_add, :<<
|
99
99
|
alias_method :<<, :new_add
|
100
100
|
end
|
101
101
|
classpath
|
102
102
|
end
|
103
103
|
end
|
104
|
-
|
104
|
+
|
105
105
|
# Returns true if the JVM is loaded with all the libraries loaded on the classpath.
|
106
106
|
def loaded?
|
107
107
|
@loaded
|
@@ -327,7 +327,7 @@ module Buildr #:nodoc:
|
|
327
327
|
|
328
328
|
# Make sure we're the last enhancements, so other enhancements can add content.
|
329
329
|
enhance do
|
330
|
-
@file_map =
|
330
|
+
@file_map = {}
|
331
331
|
enhance do
|
332
332
|
send 'create' if respond_to?(:create)
|
333
333
|
# We're here because the archive file does not exist, or one of the files is newer than the archive contents;
|
@@ -360,7 +360,7 @@ module Buildr #:nodoc:
|
|
360
360
|
#
|
361
361
|
# package(:jar).clean.include path_to('desired/content')
|
362
362
|
def clean
|
363
|
-
@paths =
|
363
|
+
@paths = {}
|
364
364
|
@paths[''] = Path.new(self, '')
|
365
365
|
@prepares = []
|
366
366
|
self
|
@@ -485,7 +485,7 @@ module Buildr #:nodoc:
|
|
485
485
|
@prepares.each { |prepare| prepare.call(self) }
|
486
486
|
@prepares.clear
|
487
487
|
|
488
|
-
file_map =
|
488
|
+
file_map = {}
|
489
489
|
@paths.each do |name, path|
|
490
490
|
path.add_files(file_map)
|
491
491
|
end
|
@@ -35,7 +35,7 @@ module Buildr #:nodoc:
|
|
35
35
|
module ActsAsArtifact
|
36
36
|
|
37
37
|
ARTIFACT_ATTRIBUTES = [:group, :id, :type, :classifier, :version]
|
38
|
-
MAVEN_METADATA =
|
38
|
+
MAVEN_METADATA = 'maven-metadata.xml'
|
39
39
|
|
40
40
|
class << self
|
41
41
|
private
|
@@ -73,10 +73,12 @@ module Buildr #:nodoc:
|
|
73
73
|
# Optional artifact classifier.
|
74
74
|
attr_reader :classifier
|
75
75
|
|
76
|
+
attr_accessor :buildr_project
|
77
|
+
|
76
78
|
def snapshot?
|
77
79
|
version =~ /-SNAPSHOT$/
|
78
80
|
end
|
79
|
-
|
81
|
+
|
80
82
|
def final_version
|
81
83
|
return version unless snapshot?
|
82
84
|
Time.now.strftime("%Y%m%d.%H%M%S")
|
@@ -145,19 +147,23 @@ module Buildr #:nodoc:
|
|
145
147
|
#
|
146
148
|
# Creates POM XML for this artifact.
|
147
149
|
def pom_xml
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
xml.
|
153
|
-
xml.
|
154
|
-
xml.
|
155
|
-
|
156
|
-
|
150
|
+
if self.buildr_project
|
151
|
+
Buildr::CustomPom.pom_xml(self.buildr_project, self)
|
152
|
+
else
|
153
|
+
Proc.new do
|
154
|
+
xml = Builder::XmlMarkup.new(:indent => 2)
|
155
|
+
xml.instruct!
|
156
|
+
xml.project do
|
157
|
+
xml.modelVersion '4.0.0'
|
158
|
+
xml.groupId group
|
159
|
+
xml.artifactId id
|
160
|
+
xml.version version
|
161
|
+
xml.classifier classifier if classifier
|
162
|
+
end
|
157
163
|
end
|
158
164
|
end
|
159
165
|
end
|
160
|
-
|
166
|
+
|
161
167
|
# :call-seq:
|
162
168
|
# maven_metadata_xml => string
|
163
169
|
#
|
@@ -260,12 +266,12 @@ module Buildr #:nodoc:
|
|
260
266
|
def group_path
|
261
267
|
group.gsub('.', '/')
|
262
268
|
end
|
263
|
-
|
269
|
+
|
264
270
|
def upload_name
|
265
271
|
return File.basename(name) unless snapshot?
|
266
272
|
return File.basename(name).gsub(/SNAPSHOT/, "#{final_version}-1")
|
267
273
|
end
|
268
|
-
|
274
|
+
|
269
275
|
def extract_type(type)
|
270
276
|
return :jar if type == :bundle
|
271
277
|
type
|
@@ -664,7 +670,7 @@ module Buildr #:nodoc:
|
|
664
670
|
spec = Artifact.to_hash(spec)
|
665
671
|
File.join(local, spec[:group].split('.'), spec[:id], spec[:version], Artifact.hash_to_file_name(spec))
|
666
672
|
end
|
667
|
-
|
673
|
+
|
668
674
|
# :call-seq:
|
669
675
|
# mirrors => Array
|
670
676
|
#
|
@@ -684,7 +690,7 @@ module Buildr #:nodoc:
|
|
684
690
|
end
|
685
691
|
@mirrors
|
686
692
|
end
|
687
|
-
|
693
|
+
|
688
694
|
# :call-seq:
|
689
695
|
# remote = Array
|
690
696
|
# remote = url
|
@@ -733,20 +739,20 @@ module Buildr #:nodoc:
|
|
733
739
|
end
|
734
740
|
@remote
|
735
741
|
end
|
736
|
-
|
742
|
+
|
737
743
|
# :call-seq:
|
738
744
|
# remote_uri => Array
|
739
745
|
#
|
740
746
|
# Returns an array of all the remote repositories as instances of URI
|
741
747
|
#
|
742
|
-
# Supports
|
748
|
+
# Supports
|
743
749
|
# * String urls: "http://example.com/repo"
|
744
750
|
# * URI: URI.parse( "http://example.com/repo" )
|
745
751
|
# * Hash: { :url => "http://example.com/repo", :user => "user", :pass => "pass" }
|
746
752
|
#
|
747
753
|
def remote_uri
|
748
754
|
remote
|
749
|
-
|
755
|
+
|
750
756
|
uris = []
|
751
757
|
@remote.each do |repo|
|
752
758
|
case repo
|
@@ -761,7 +767,7 @@ module Buildr #:nodoc:
|
|
761
767
|
if ( username = (repo[:username] || repo['username'] || repo[:user] || repo['user']) )
|
762
768
|
uri.user = username
|
763
769
|
end
|
764
|
-
|
770
|
+
|
765
771
|
if ( password = (repo[:password] || repo['password'] || repo[:pass] || repo['pass']) )
|
766
772
|
uri.password = password
|
767
773
|
end
|
@@ -769,14 +775,14 @@ module Buildr #:nodoc:
|
|
769
775
|
else
|
770
776
|
fail( "Repository Hash format missing url: #{repo}" )
|
771
777
|
end
|
772
|
-
|
773
|
-
when String then
|
778
|
+
|
779
|
+
when String then
|
774
780
|
uris << URI.parse(repo)
|
775
|
-
else
|
781
|
+
else
|
776
782
|
fail( "Unsupported Repository format: #{repo}" )
|
777
783
|
end
|
778
784
|
end
|
779
|
-
|
785
|
+
|
780
786
|
uris
|
781
787
|
end
|
782
788
|
|
@@ -168,6 +168,7 @@ module Buildr #:nodoc:
|
|
168
168
|
else
|
169
169
|
# Make it an artifact using the specifications, and tell it how to create a POM.
|
170
170
|
package.extend ActsAsArtifact
|
171
|
+
package.buildr_project = self
|
171
172
|
package.send :apply_spec, spec.only(*Artifact::ARTIFACT_ATTRIBUTES)
|
172
173
|
|
173
174
|
# Create pom associated with package
|
@@ -177,7 +178,7 @@ module Buildr #:nodoc:
|
|
177
178
|
pom_filename = Util.replace_extension(self.name, 'pom')
|
178
179
|
spec = {:group=>group, :id=>id, :version=>version, :type=>:pom}
|
179
180
|
@pom = Buildr.artifact(spec, pom_filename)
|
180
|
-
@pom.content
|
181
|
+
@pom.content Buildr::CustomPom.pom_xml(self.buildr_project, self)
|
181
182
|
end
|
182
183
|
@pom
|
183
184
|
end
|
data/lib/buildr/packaging/zip.rb
CHANGED
data/lib/buildr/scala/bdd.rb
CHANGED
@@ -20,11 +20,11 @@ module Buildr::Scala #:nodoc:
|
|
20
20
|
@bdd_dir = :spec
|
21
21
|
|
22
22
|
VERSION = case
|
23
|
-
when Buildr::Scala.version?(
|
23
|
+
when Buildr::Scala.version?('2.8.0'), Buildr::Scala.version?('2.8.1'), Buildr::Scala.version?('2.8.2')
|
24
24
|
'1.5'
|
25
|
-
when Buildr::Scala.version?(
|
25
|
+
when Buildr::Scala.version?('2.9')
|
26
26
|
'1.11'
|
27
|
-
when Buildr::Scala.version?(
|
27
|
+
when Buildr::Scala.version?('2.10')
|
28
28
|
'1.12.3'
|
29
29
|
else
|
30
30
|
'3.7' # default for Scala 2.11 and beyond
|
@@ -46,27 +46,27 @@ module Buildr::Scala #:nodoc:
|
|
46
46
|
when Buildr.settings.build['scala.specs2.artifact']
|
47
47
|
Buildr.settings.build['scala.specs2.artifact']
|
48
48
|
else
|
49
|
-
if Buildr::Scala.version <
|
49
|
+
if Buildr::Scala.version < '2.11'
|
50
50
|
"specs2_#{Buildr::Scala.version_without_build_number}"
|
51
51
|
else
|
52
52
|
"specs2_#{Buildr::Scala.version_major_minor}"
|
53
53
|
end
|
54
54
|
end
|
55
55
|
end
|
56
|
-
|
56
|
+
|
57
57
|
def type
|
58
|
-
if Buildr::Scala.version <
|
59
|
-
|
58
|
+
if Buildr::Scala.version < '2.11'
|
59
|
+
'jar'
|
60
60
|
else
|
61
|
-
|
61
|
+
'pom'
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
65
65
|
def scalaz_dependencies
|
66
|
-
if Buildr::Scala.version?(
|
66
|
+
if Buildr::Scala.version?('2.8')
|
67
67
|
[]
|
68
|
-
elsif Buildr::Scala.version <
|
69
|
-
default_version =
|
68
|
+
elsif Buildr::Scala.version < '2.11'
|
69
|
+
default_version = '6.0.1'
|
70
70
|
custom_version = Buildr.settings.build['scala.specs2-scalaz']
|
71
71
|
version = (custom_version =~ /:/) ? Buildr.artifact(custom_version).version : default_version
|
72
72
|
|
@@ -74,9 +74,9 @@ module Buildr::Scala #:nodoc:
|
|
74
74
|
|
75
75
|
custom_spec = Buildr.settings.build['scala.specs2-scalaz']
|
76
76
|
spec = [ (custom_spec =~ /:/) ? custom_spec : "org.specs2:#{artifact}:jar:#{version}" ]
|
77
|
-
Buildr.transitive(spec, :scopes => [nil,
|
77
|
+
Buildr.transitive(spec, :scopes => [nil, 'compile', 'runtime', 'provided', 'optional'], :optional => true)
|
78
78
|
else
|
79
|
-
default_version =
|
79
|
+
default_version = '7.2.2'
|
80
80
|
custom_version = Buildr.settings.build['scala.specs2-scalaz']
|
81
81
|
version = (custom_version =~ /:/) ? Buildr.artifact(custom_version).version : default_version
|
82
82
|
|
@@ -84,7 +84,7 @@ module Buildr::Scala #:nodoc:
|
|
84
84
|
|
85
85
|
custom_spec = Buildr.settings.build['scala.specs2-scalaz']
|
86
86
|
spec = [ (custom_spec =~ /:/) ? custom_spec : "org.scalaz:#{artifact}:jar:#{version}" ]
|
87
|
-
[Buildr.transitive(spec, :scopes => [nil,
|
87
|
+
[Buildr.transitive(spec, :scopes => [nil, 'compile', 'runtime', 'provided', 'optional'], :optional => true), 'org.scala-lang.modules:scala-xml_2.11:jar:1.0.1']
|
88
88
|
end
|
89
89
|
end
|
90
90
|
|
@@ -92,9 +92,9 @@ module Buildr::Scala #:nodoc:
|
|
92
92
|
unless @dependencies
|
93
93
|
super
|
94
94
|
|
95
|
-
# Add utility classes
|
95
|
+
# Add utility classes and other dependencies
|
96
96
|
options = {
|
97
|
-
:scopes => [nil,
|
97
|
+
:scopes => [nil, 'compile', 'runtime', 'provided', 'optional'],
|
98
98
|
:optional => true
|
99
99
|
}
|
100
100
|
@dependencies |= [ File.join(File.dirname(__FILE__)) ] + Buildr.transitive(specs, options) +
|
@@ -113,7 +113,7 @@ module Buildr::Scala #:nodoc:
|
|
113
113
|
private
|
114
114
|
|
115
115
|
def find(file, pattern)
|
116
|
-
File.open(file,
|
116
|
+
File.open(file, 'r') do |infile|
|
117
117
|
while (line = infile.gets)
|
118
118
|
return true if line.match(pattern)
|
119
119
|
end
|
@@ -133,21 +133,21 @@ module Buildr::Scala #:nodoc:
|
|
133
133
|
end
|
134
134
|
|
135
135
|
def tests(dependencies)
|
136
|
-
filter_classes(dependencies, :interfaces =>
|
136
|
+
filter_classes(dependencies, :interfaces => %w(org.specs2.Specification org.specs2.mutable.Specification))
|
137
137
|
end
|
138
138
|
|
139
139
|
def run(specs, dependencies) #:nodoc:
|
140
|
-
properties = {
|
140
|
+
properties = {'specs2.outDir' => task.compile.target.to_s }
|
141
141
|
|
142
142
|
cmd_options = { :properties => options[:properties].merge(properties),
|
143
143
|
:java_args => options[:java_args],
|
144
144
|
:classpath => dependencies,
|
145
145
|
:name => false }
|
146
146
|
|
147
|
-
runner = 'org.
|
147
|
+
runner = 'org.specs2.runner.ClassRunner'
|
148
148
|
specs.inject [] do |passed, spec|
|
149
149
|
begin
|
150
|
-
Java::Commands.java(runner, spec, cmd_options)
|
150
|
+
Java::Commands.java('io.tmio.scalamain.Main', runner, 'run', spec, cmd_options)
|
151
151
|
rescue => e
|
152
152
|
passed
|
153
153
|
else
|
@@ -20,7 +20,7 @@ module Buildr::Scala
|
|
20
20
|
class << self
|
21
21
|
|
22
22
|
def version_str
|
23
|
-
warn
|
23
|
+
warn 'Use of Scala.version_str is deprecated. Use Scala.version instead'
|
24
24
|
version
|
25
25
|
end
|
26
26
|
|
@@ -65,7 +65,7 @@ module Buildr::Scala
|
|
65
65
|
def version_without_build
|
66
66
|
version.split('-')[0]
|
67
67
|
end
|
68
|
-
|
68
|
+
|
69
69
|
# returns Scala version without tiny number.
|
70
70
|
# e.g. "2.11.8" => "2.11"
|
71
71
|
def version_major_minor
|
@@ -90,6 +90,7 @@ module Buildr::Scala
|
|
90
90
|
DEFAULT_ZINC_VERSION = '0.3.12'
|
91
91
|
DEFAULT_SBT_VERSION = '0.13.12'
|
92
92
|
DEFAULT_JLINE_VERSION = '2.14.2'
|
93
|
+
DEFAULT_SCALAMAIN_VERSION = '1.0.3'
|
93
94
|
|
94
95
|
class << self
|
95
96
|
def scala_home
|
@@ -116,7 +117,7 @@ module Buildr::Scala
|
|
116
117
|
|
117
118
|
def dependencies
|
118
119
|
scala_dependencies = if use_installed?
|
119
|
-
|
120
|
+
%w(scala-library scala-compiler).map { |s| File.expand_path("lib/#{s}.jar", scala_home) }
|
120
121
|
else
|
121
122
|
REQUIRES.artifacts.map(&:to_s)
|
122
123
|
end
|
@@ -127,7 +128,7 @@ module Buildr::Scala
|
|
127
128
|
end
|
128
129
|
|
129
130
|
def use_fsc
|
130
|
-
use_installed? && ENV[
|
131
|
+
use_installed? && ENV['USE_FSC'] =~ /^(yes|on|true)$/i
|
131
132
|
end
|
132
133
|
|
133
134
|
def applies_to?(project, task) #:nodoc:
|
@@ -164,11 +165,13 @@ module Buildr::Scala
|
|
164
165
|
zinc_version = Buildr.settings.build['zinc.version'] || DEFAULT_ZINC_VERSION
|
165
166
|
sbt_version = Buildr.settings.build['sbt.version'] || DEFAULT_SBT_VERSION
|
166
167
|
jline_version = Buildr.settings.build['jline.version'] || DEFAULT_JLINE_VERSION
|
168
|
+
scalamain_version = Buildr.settings.build['scalamain.version'] || DEFAULT_SCALAMAIN_VERSION
|
167
169
|
ns.zinc! "com.typesafe.zinc:zinc:jar:>=#{zinc_version}"
|
168
170
|
ns.sbt_interface! "com.typesafe.sbt:sbt-interface:jar:>=#{sbt_version}"
|
169
171
|
ns.incremental! "com.typesafe.sbt:incremental-compiler:jar:>=#{sbt_version}"
|
170
172
|
ns.compiler_interface_sources! "com.typesafe.sbt:compiler-interface:jar:sources:>=#{sbt_version}"
|
171
173
|
ns.jline! "jline:jline:jar:>=#{jline_version}"
|
174
|
+
ns.scalamain! "io.tmio:scalamain:jar:>=#{scalamain_version}"
|
172
175
|
end
|
173
176
|
|
174
177
|
Javac = Buildr::Compiler::Javac
|
@@ -184,7 +187,7 @@ module Buildr::Scala
|
|
184
187
|
def initialize(project, options) #:nodoc:
|
185
188
|
super
|
186
189
|
# use common options also for javac
|
187
|
-
|
190
|
+
|
188
191
|
options[:javac] ||= Buildr::Compiler::Javac::OPTIONS.inject({}) do |hash, option|
|
189
192
|
hash[option] = options[option]
|
190
193
|
hash
|
@@ -272,16 +275,16 @@ module Buildr::Scala
|
|
272
275
|
cmd_args << '-Ssourcepath' << ("-S" + source_paths.join(File::PATH_SEPARATOR)) unless source_paths.empty?
|
273
276
|
cmd_args << '-d' << File.expand_path(target)
|
274
277
|
cmd_args += scalac_args
|
275
|
-
cmd_args <<
|
278
|
+
cmd_args << '-debug' if trace?(:scalac)
|
276
279
|
|
277
280
|
cmd_args.map!(&:to_s)
|
278
281
|
|
279
282
|
cmd_args += files_from_sources(sources)
|
280
283
|
|
281
284
|
unless Buildr.application.options.dryrun
|
282
|
-
trace((
|
285
|
+
trace((%w(io.tmio.scalamain.Main com.typesafe.zinc.Main main) + cmd_args).join(' '))
|
283
286
|
begin
|
284
|
-
Java::Commands.java '
|
287
|
+
Java::Commands.java 'io.tmio.scalamain.Main', *(%w(com.typesafe.zinc.Main main) + cmd_args + [{:classpath => Scalac.dependencies + [File.join(File.dirname(__FILE__)) ]}])
|
285
288
|
rescue => e
|
286
289
|
fail "Zinc compiler crashed:\n#{e.inspect}\n#{e.backtrace.join("\n")}"
|
287
290
|
end
|
@@ -303,7 +306,7 @@ module Buildr::Scala
|
|
303
306
|
|
304
307
|
sources.each do |source|
|
305
308
|
# try to extract package name from .java or .scala files
|
306
|
-
if
|
309
|
+
if %w(.java .scala).include? File.extname(source)
|
307
310
|
name = File.basename(source).split(".")[0]
|
308
311
|
package = findFirst(source, /^\s*package\s+([^\s;]+)\s*;?\s*/)
|
309
312
|
packages = count(source, /^\s*package\s+([^\s;]+)\s*;?\s*/)
|
@@ -338,7 +341,7 @@ module Buildr::Scala
|
|
338
341
|
|
339
342
|
def count(file, pattern)
|
340
343
|
count = 0
|
341
|
-
File.open(file,
|
344
|
+
File.open(file, 'r') do |infile|
|
342
345
|
while (line = infile.gets)
|
343
346
|
count += 1 if line.match(pattern)
|
344
347
|
end
|
@@ -354,19 +357,19 @@ module Buildr::Scala
|
|
354
357
|
# Returns Scalac command line arguments from the set of options.
|
355
358
|
def scalac_args #:nodoc:
|
356
359
|
args = []
|
357
|
-
args <<
|
358
|
-
args <<
|
359
|
-
if options[:debug]
|
360
|
-
args << (Scala.version?(2.7, 2.8) ?
|
360
|
+
args << '-nowarn' unless options[:warnings]
|
361
|
+
args << '-verbose' if trace?(:scalac)
|
362
|
+
if !!options[:debug]
|
363
|
+
args << (Scala.version?(2.7, 2.8) ? '-g' : '-g:vars')
|
361
364
|
elsif options[:debug]
|
362
365
|
args << "-g:#{options[:debug]}"
|
363
366
|
end
|
364
|
-
args <<
|
365
|
-
args <<
|
366
|
-
args <<
|
367
|
+
args << '-deprecation' if options[:deprecation]
|
368
|
+
args << '-optimise' if options[:optimise]
|
369
|
+
args << '-target:jvm-' + options[:target].to_s if options[:target]
|
367
370
|
args += Array(options[:other])
|
368
371
|
if zinc?
|
369
|
-
args.map { |arg|
|
372
|
+
args.map { |arg| '-S' + arg } + Array(options[:zinc_options])
|
370
373
|
else
|
371
374
|
args
|
372
375
|
end
|