buildr 1.4.12 → 1.4.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/CHANGELOG +62 -0
- data/addon/buildr/checkstyle.rb +6 -4
- data/addon/buildr/gpg.rb +9 -2
- data/addon/buildr/gwt.rb +1 -0
- data/buildr.gemspec +18 -20
- data/doc/download.textile +30 -6
- data/doc/index.textile +21 -9
- data/doc/packaging.textile +29 -0
- data/lib/buildr.rb +3 -0
- data/lib/buildr/core/application.rb +24 -0
- data/lib/buildr/core/assets.rb +93 -0
- data/lib/buildr/core/build.rb +3 -2
- data/lib/buildr/core/common.rb +3 -2
- data/lib/buildr/core/compile.rb +0 -1
- data/lib/buildr/core/generate.rb +2 -2
- data/lib/buildr/core/project.rb +1 -1
- data/lib/buildr/core/shell.rb +1 -1
- data/lib/buildr/core/transports.rb +4 -1
- data/lib/buildr/core/util.rb +8 -0
- data/lib/buildr/ide/idea.rb +267 -114
- data/lib/buildr/java/commands.rb +16 -2
- data/lib/buildr/java/packaging.rb +6 -4
- data/lib/buildr/java/pom.rb +1 -1
- data/lib/buildr/java/tests.rb +3 -3
- data/lib/buildr/packaging/archive.rb +4 -3
- data/lib/buildr/packaging/package.rb +0 -2
- data/lib/buildr/packaging/ziptask.rb +1 -1
- data/lib/buildr/version.rb +2 -2
- data/rakelib/rspec.rake +5 -49
- data/rakelib/stage.rake +7 -5
- data/spec/addon/jaxb_xjc_spec.rb +2 -2
- data/spec/core/application_spec.rb +8 -8
- data/spec/core/build_spec.rb +41 -41
- data/spec/core/common_spec.rb +3 -2
- data/spec/core/test_spec.rb +34 -34
- data/spec/core/transport_spec.rb +21 -17
- data/spec/ide/idea_spec.rb +707 -4
- data/spec/java/packaging_spec.rb +20 -0
- data/spec/java/tests_spec.rb +2 -2
- data/spec/packaging/packaging_spec.rb +0 -22
- metadata +54 -114
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NDUzNzk1MTNjYmQ2MzBlNDVkZDIwNmYzZGU4YTY5ZmUxNDgwZDI5ZA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MzgyNzFmZDQwODAxNDlhODM3MDdmZjJlZDkxNzQ1YTQ1NjA3YjgwMQ==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
ZDUwYmVkOWFiMDgxMTE3ZWZkZjliMDJkMjdjNTU4MmI0YWM0ZDYwODhkMjQy
|
10
|
+
YWFjNGRkYjcxZTNiYjdjNWZjNzNhYmIzNGEzMzg3YzQ4NzQyMDNjYjk1YzZm
|
11
|
+
Mzc2ZjdhNDA2ZGU5NjRkYTc0NWE1NWY0MDI1YWFiMjRiZGRhMjU=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
YmQwOGViMjQ2YmUxOGNhNTU0MDEyOWM5MmQwYzdkZmZlYjk4OGVmMjUzNjM4
|
14
|
+
Njg1NmQ3ODY5MzQ0NDFhYmE4ZTJkNDk1MTI1ZmE0OTZjNGMwMjhkOGVjNzA5
|
15
|
+
MDVjZjg3OWU4NzBiYTk2ZWYzYmIzNTA2Njc5MTIzOTRhMjdmNDA=
|
data/CHANGELOG
CHANGED
@@ -1,3 +1,65 @@
|
|
1
|
+
1.4.13 (2013-10-02)
|
2
|
+
* Fixed: BUILDR-439 - Fix java command under windows when supplied
|
3
|
+
with extremely long classpath. Submitted By Tammo van Lessen.
|
4
|
+
* Fixed: BUILDR-394 - Fix release task with standalone distribution.
|
5
|
+
Submitted By Tammo van Lessen.
|
6
|
+
* Added: BUILDR-678 - Improve support for gpg signing artifacts
|
7
|
+
using a single method.
|
8
|
+
* Fixed: BUILDR-677 - GPG addon hangs when .asc files are still in
|
9
|
+
target. Submitted By Tammo van Lessen.
|
10
|
+
* Added: Initial support for data source creation in Intellij IDEA
|
11
|
+
project files.
|
12
|
+
* Fixed: BUILDR-676 - Rework Java::Command:java so that it does not
|
13
|
+
reject the :dir option. Reported by John Roth.
|
14
|
+
* Added: Auto-detect jpa provider in Intellij IDEA facet generation if
|
15
|
+
persistence.xml file is present and provider not specified.
|
16
|
+
* Added: Auto-detect jruby version in Intellij IDEA facet generation if
|
17
|
+
.ruby-version file is present.
|
18
|
+
* Added: Improve support for auto-detection of ejb and web descriptors
|
19
|
+
within Intellij IDEA project generation.
|
20
|
+
* Change: Default to setting the "User-Agent" header to "Buildr-VERSION"
|
21
|
+
when accessing http resources. Maven Central rejects requests
|
22
|
+
without a User-Agent string.
|
23
|
+
* Change: Change default scope of dependencies to 'compile'. Submitted
|
24
|
+
by Ingo Schmidt.
|
25
|
+
* Change: BUILDR-675 - Set Cache-Control to 'no-cache' when downloading
|
26
|
+
artifacts. Submitted by Félix Enrique Llorente Pastora.
|
27
|
+
* Added: Initial support for simple integration of an asset pipeline.
|
28
|
+
See "Compiling Assets" section in the manual.
|
29
|
+
* Fixed: BUILDR-673 - Fix the option handling of the MultiTest test
|
30
|
+
framework to behave as documented. Only the framework specific
|
31
|
+
options are passed to the test. Submitted by John Roth.
|
32
|
+
* Added: BUILDR-672 - Persist the properties field in the checkstyle
|
33
|
+
addon so that they can be modified by the user. Submitted
|
34
|
+
by Wim C.
|
35
|
+
* Fixed: Make the package_as_* methods public so that the methods are
|
36
|
+
detected in Ruby >= 2.0.0 via the respond_to? method.
|
37
|
+
* Change: Updated dependency versions;
|
38
|
+
- rspec-expectations (2.14.3)
|
39
|
+
- rspec-mocks (2.14.3)
|
40
|
+
- rspec-core (2.14.5)
|
41
|
+
- rspec (2.14.1)
|
42
|
+
- minitar (0.5.4)
|
43
|
+
- ci_reporter (1.8.4)
|
44
|
+
- xml-simple (1.1.2)
|
45
|
+
- rjb (1.4.8)
|
46
|
+
- diff-lcs (1.2.4)
|
47
|
+
- builder (3.2.2)
|
48
|
+
- net-ssh (2.7.0)
|
49
|
+
- net-sftp (2.1.2)
|
50
|
+
- hoe (3.7.1)
|
51
|
+
- json_pure (1.8.0)
|
52
|
+
- highline (1.6.19)
|
53
|
+
* Fixed: BUILDR-668 - Specify File::FNM_EXTGLOB for include globs
|
54
|
+
where needed in Ruby >= 2.0.0. Reported by Yavor Nikolov.
|
55
|
+
* Fixed: Ensure generation of buildfiles from eclipse projects will
|
56
|
+
finds .project files in Ruby >= 2.0.0.
|
57
|
+
* Fixed: Patch Rake::FileList in Ruby >= 2.0.0 to match dot files if
|
58
|
+
a .* pattern is supplied as in earlier versions of ruby.
|
59
|
+
* Fixed: Make Archive-related operations (e.g. zip.merge) deterministic using
|
60
|
+
OrderedHash.
|
61
|
+
* Change: Update to TestNG 6.8.5.
|
62
|
+
|
1
63
|
1.4.12 (2013-05-04)
|
2
64
|
* Added: BUILDR-648 Add new package(:test_jar) packaging type.
|
3
65
|
Submitted by Mike Pettypiece.
|
data/addon/buildr/checkstyle.rb
CHANGED
@@ -130,10 +130,12 @@ module Buildr
|
|
130
130
|
end
|
131
131
|
|
132
132
|
def properties
|
133
|
-
properties
|
134
|
-
|
135
|
-
|
136
|
-
|
133
|
+
unless @properties
|
134
|
+
@properties = {:basedir => self.project.base_dir}
|
135
|
+
@properties['checkstyle.suppressions.file'] = self.suppressions_file if File.exist?(self.suppressions_file)
|
136
|
+
@properties['checkstyle.import-control.file'] = self.import_control_file if File.exist?(self.import_control_file)
|
137
|
+
end
|
138
|
+
@properties
|
137
139
|
end
|
138
140
|
|
139
141
|
def source_paths
|
data/addon/buildr/gpg.rb
CHANGED
@@ -29,6 +29,7 @@ module Buildr
|
|
29
29
|
def sign_task(pkg)
|
30
30
|
raise "ENV['GPG_USER'] not specified" unless ENV['GPG_USER']
|
31
31
|
asc_filename = pkg.to_s + '.asc'
|
32
|
+
return if file(asc_filename).prerequisites.include?(pkg.to_s)
|
32
33
|
file(asc_filename => [pkg.to_s]) do
|
33
34
|
info "GPG signing #{pkg.to_spec}"
|
34
35
|
|
@@ -44,6 +45,8 @@ module Buildr
|
|
44
45
|
cmd << ENV['GPG_PASS']
|
45
46
|
end
|
46
47
|
cmd << '--detach-sig'
|
48
|
+
cmd << '--batch'
|
49
|
+
cmd << '--yes'
|
47
50
|
cmd << pkg
|
48
51
|
trace(cmd.join(' '))
|
49
52
|
`#{cmd.join(' ')}`
|
@@ -59,14 +62,18 @@ module Buildr
|
|
59
62
|
artifact.upload
|
60
63
|
end
|
61
64
|
end
|
65
|
+
|
66
|
+
def sign_and_upload_all_packages(project)
|
67
|
+
project.packages.each { |pkg| Buildr::GPG.sign_and_upload(project, pkg) }
|
68
|
+
project.packages.map { |pkg| pkg.pom }.uniq.each { |pom| Buildr::GPG.sign_and_upload(project, pom) }
|
69
|
+
end
|
62
70
|
end
|
63
71
|
|
64
72
|
module ProjectExtension
|
65
73
|
include Extension
|
66
74
|
|
67
75
|
after_define do |project|
|
68
|
-
|
69
|
-
project.packages.map { |pkg| pkg.pom }.uniq.each { |pom| Buildr::GPG.sign_and_upload(project, pom) }
|
76
|
+
Buildr::GPG.sign_and_upload_all_packages(project)
|
70
77
|
end
|
71
78
|
end
|
72
79
|
end
|
data/addon/buildr/gwt.rb
CHANGED
data/buildr.gemspec
CHANGED
@@ -55,38 +55,36 @@ 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', '3.
|
59
|
-
spec.add_dependency 'net-ssh', '2.
|
60
|
-
spec.add_dependency 'net-sftp', '2.
|
58
|
+
spec.add_dependency 'builder', '3.2.2'
|
59
|
+
spec.add_dependency 'net-ssh', '2.7.0'
|
60
|
+
spec.add_dependency 'net-sftp', '2.1.2'
|
61
61
|
spec.add_dependency 'rubyzip', '0.9.9'
|
62
|
-
|
63
|
-
|
64
|
-
spec.add_dependency 'highline', '1.6.2'
|
65
|
-
spec.add_dependency 'json_pure', '1.7.5'
|
62
|
+
spec.add_dependency 'highline', '1.6.19'
|
63
|
+
spec.add_dependency 'json_pure', '1.8.0'
|
66
64
|
spec.add_dependency 'rubyforge', '2.0.4'
|
67
|
-
spec.add_dependency 'hoe', '3.1
|
68
|
-
spec.add_dependency 'rjb', '1.4.
|
65
|
+
spec.add_dependency 'hoe', '3.7.1'
|
66
|
+
spec.add_dependency 'rjb', '1.4.8' if ($platform.to_s == 'x86-mswin32' || $platform.to_s == 'ruby')
|
69
67
|
spec.add_dependency 'atoulme-Antwrap', '~> 0.7.4'
|
70
|
-
spec.add_dependency 'diff-lcs', '1.
|
71
|
-
spec.add_dependency 'rspec-expectations', '2.
|
72
|
-
spec.add_dependency 'rspec-mocks', '2.
|
73
|
-
spec.add_dependency 'rspec-core', '2.
|
74
|
-
spec.add_dependency 'rspec', '2.
|
75
|
-
spec.add_dependency 'xml-simple', '1.1.
|
76
|
-
spec.add_dependency 'minitar', '0.5.
|
68
|
+
spec.add_dependency 'diff-lcs', '1.2.4'
|
69
|
+
spec.add_dependency 'rspec-expectations', '2.14.3'
|
70
|
+
spec.add_dependency 'rspec-mocks', '2.14.3'
|
71
|
+
spec.add_dependency 'rspec-core', '2.14.5'
|
72
|
+
spec.add_dependency 'rspec', '2.14.1'
|
73
|
+
spec.add_dependency 'xml-simple', '1.1.2'
|
74
|
+
spec.add_dependency 'minitar', '0.5.4'
|
77
75
|
spec.add_dependency 'jruby-openssl', '~> 0.8.2' if $platform.to_s == 'java'
|
78
76
|
spec.add_dependency 'bundler'
|
77
|
+
spec.add_dependency 'orderedhash'
|
79
78
|
|
80
79
|
# Unable to get this consistently working under jruby on windows
|
81
80
|
unless $platform.to_s == 'java'
|
82
|
-
spec.add_development_dependency 'jekyll', '
|
81
|
+
spec.add_development_dependency 'jekyll', '1.2.1'
|
83
82
|
spec.add_development_dependency 'RedCloth', '4.2.9'
|
84
83
|
spec.add_development_dependency 'jekylltask', '1.1.0'
|
85
|
-
spec.add_development_dependency 'rdoc', '
|
86
|
-
spec.add_development_dependency 'rcov', '0.9.9'
|
84
|
+
spec.add_development_dependency 'rdoc', '4.0.1'
|
87
85
|
end
|
88
86
|
|
89
|
-
spec.add_development_dependency 'ci_reporter', '1.
|
87
|
+
spec.add_development_dependency 'ci_reporter', '1.9.0'
|
90
88
|
|
91
89
|
# NOTE: Must update all-in-one.rake if this is updated
|
92
90
|
# ffi-ncurses Fails on several varieties of Ubuntu due to being unable to locate ncursesw library
|
data/doc/download.textile
CHANGED
@@ -20,16 +20,40 @@ The source code is included in both source and binary distribution, the Gem dist
|
|
20
20
|
|
21
21
|
h2(#dist). Binaries and Source Code
|
22
22
|
|
23
|
+
h3. buildr 1.4.13 (2013-10-02)
|
24
|
+
|
25
|
+
|_. Package |_. MD5 Checksum |_. PGP |
|
26
|
+
| "buildr-1.4.13-java.gem":http://www.apache.org/dyn/closer.cgi/buildr/1.4.13/buildr-1.4.13-java.gem | "ffcc5a2de357ca7bd6b1e0f9b6b03726":http://www.apache.org/dist/buildr/1.4.13/buildr-1.4.13-java.gem.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.13/buildr-1.4.13-java.gem.asc |
|
27
|
+
| "buildr-1.4.13-x86-mswin32.gem":http://www.apache.org/dyn/closer.cgi/buildr/1.4.13/buildr-1.4.13-x86-mswin32.gem | "8ddd577888adde3de0dfb446dd2ded20":http://www.apache.org/dist/buildr/1.4.13/buildr-1.4.13-x86-mswin32.gem.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.13/buildr-1.4.13-x86-mswin32.gem.asc |
|
28
|
+
| "buildr-1.4.13.gem":http://www.apache.org/dyn/closer.cgi/buildr/1.4.13/buildr-1.4.13.gem | "b55c573116d8ea444c71c3eadff52c46":http://www.apache.org/dist/buildr/1.4.13/buildr-1.4.13.gem.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.13/buildr-1.4.13.gem.asc |
|
29
|
+
| "buildr-1.4.13.tgz":http://www.apache.org/dyn/closer.cgi/buildr/1.4.13/buildr-1.4.13.tgz | "b3a4c8f22d56e043df8b7a7b862af0e0":http://www.apache.org/dist/buildr/1.4.13/buildr-1.4.13.tgz.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.13/buildr-1.4.13.tgz.asc |
|
30
|
+
| "buildr-1.4.13.zip":http://www.apache.org/dyn/closer.cgi/buildr/1.4.13/buildr-1.4.13.zip | "58365ecd0fa7f3ec81d2009ffb045505":http://www.apache.org/dist/buildr/1.4.13/buildr-1.4.13.zip.md5 | "Sig":http://www.apache.org/dist/buildr/1.4.13/buildr-1.4.13.zip.asc |
|
31
|
+
|
32
|
+
p>. ("Release signing keys":http://www.apache.org/dist/buildr/1.4.13/KEYS)
|
33
|
+
|
34
|
+
|
35
|
+
h3. buildr 1.4.12 (2013-05-04)
|
36
|
+
|
37
|
+
|_. Package |_. MD5 Checksum |_. PGP |
|
38
|
+
| "buildr-1.4.12-java.gem":http://archive.apache.org/dist/buildr/1.4.12/buildr-1.4.12-java.gem | "c4e4587a6c908dd3036ef8df785a3428":http://archive.apache.org/dist/buildr/1.4.12/buildr-1.4.12-java.gem.md5 | "Sig":http://archive.apache.org/dist/buildr/1.4.12/buildr-1.4.12-java.gem.asc |
|
39
|
+
| "buildr-1.4.12-x86-mswin32.gem":http://archive.apache.org/dist/buildr/1.4.12/buildr-1.4.12-x86-mswin32.gem | "afba0a6b9a41db270540eea611863a57":http://archive.apache.org/dist/buildr/1.4.12/buildr-1.4.12-x86-mswin32.gem.md5 | "Sig":http://archive.apache.org/dist/buildr/1.4.12/buildr-1.4.12-x86-mswin32.gem.asc |
|
40
|
+
| "buildr-1.4.12.gem":http://archive.apache.org/dist/buildr/1.4.12/buildr-1.4.12.gem | "6c2fe37ef05705d4419e0ba1922df658":http://archive.apache.org/dist/buildr/1.4.12/buildr-1.4.12.gem.md5 | "Sig":http://archive.apache.org/dist/buildr/1.4.12/buildr-1.4.12.gem.asc |
|
41
|
+
| "buildr-1.4.12.tgz":http://archive.apache.org/dist/buildr/1.4.12/buildr-1.4.12.tgz | "eda08e0ec89713d67a065a3c22110065":http://archive.apache.org/dist/buildr/1.4.12/buildr-1.4.12.tgz.md5 | "Sig":http://archive.apache.org/dist/buildr/1.4.12/buildr-1.4.12.tgz.asc |
|
42
|
+
| "buildr-1.4.12.zip":http://archive.apache.org/dist/buildr/1.4.12/buildr-1.4.12.zip | "b23f65c57f0aa148044e7ce1b1718bca":http://archive.apache.org/dist/buildr/1.4.12/buildr-1.4.12.zip.md5 | "Sig":http://archive.apache.org/dist/buildr/1.4.12/buildr-1.4.12.zip.asc |
|
43
|
+
|
44
|
+
p>. ("Release signing keys":http://archive.apache.org/dist/buildr/1.4.12/KEYS)
|
45
|
+
|
46
|
+
|
23
47
|
h3. buildr 1.4.11 (2013-03-14)
|
24
48
|
|
25
49
|
|_. Package |_. MD5 Checksum |_. PGP |
|
26
|
-
| "buildr-1.4.11-java.gem":http://
|
27
|
-
| "buildr-1.4.11-x86-mswin32.gem":http://
|
28
|
-
| "buildr-1.4.11.gem":http://
|
29
|
-
| "buildr-1.4.11.tgz":http://
|
30
|
-
| "buildr-1.4.11.zip":http://
|
50
|
+
| "buildr-1.4.11-java.gem":http://archive.apache.org/dist/buildr/1.4.11/buildr-1.4.11-java.gem | "2ad2134527b9fc7f4726a7b2350318c0":http://archive.apache.org/dist/buildr/1.4.11/buildr-1.4.11-java.gem.md5 | "Sig":http://archive.apache.org/dist/buildr/1.4.11/buildr-1.4.11-java.gem.asc |
|
51
|
+
| "buildr-1.4.11-x86-mswin32.gem":http://archive.apache.org/dist/buildr/1.4.11/buildr-1.4.11-x86-mswin32.gem | "ada93b14069c418d727c7f225e02b082":http://archive.apache.org/dist/buildr/1.4.11/buildr-1.4.11-x86-mswin32.gem.md5 | "Sig":http://archive.apache.org/dist/buildr/1.4.11/buildr-1.4.11-x86-mswin32.gem.asc |
|
52
|
+
| "buildr-1.4.11.gem":http://archive.apache.org/dist/buildr/1.4.11/buildr-1.4.11.gem | "89c09e4bfdbbd571d76e4b6f41c30ece":http://archive.apache.org/dist/buildr/1.4.11/buildr-1.4.11.gem.md5 | "Sig":http://archive.apache.org/dist/buildr/1.4.11/buildr-1.4.11.gem.asc |
|
53
|
+
| "buildr-1.4.11.tgz":http://archive.apache.org/dist/buildr/1.4.11/buildr-1.4.11.tgz | "ca7b4812001388883923b86caedbf16c":http://archive.apache.org/dist/buildr/1.4.11/buildr-1.4.11.tgz.md5 | "Sig":http://archive.apache.org/dist/buildr/1.4.11/buildr-1.4.11.tgz.asc |
|
54
|
+
| "buildr-1.4.11.zip":http://archive.apache.org/dist/buildr/1.4.11/buildr-1.4.11.zip | "d8e2cb88e0c365fb226404d2d9de3dfc":http://archive.apache.org/dist/buildr/1.4.11/buildr-1.4.11.zip.md5 | "Sig":http://archive.apache.org/dist/buildr/1.4.11/buildr-1.4.11.zip.asc |
|
31
55
|
|
32
|
-
p>. ("Release signing keys":http://
|
56
|
+
p>. ("Release signing keys":http://archive.apache.org/dist/buildr/1.4.11/KEYS)
|
33
57
|
|
34
58
|
|
35
59
|
h3. buildr 1.4.10 (2013-02-17)
|
data/doc/index.textile
CHANGED
@@ -46,15 +46,27 @@ So let's get started. You can "read the documentation online":quick_start.html,
|
|
46
46
|
|
47
47
|
h2(#news). What's New
|
48
48
|
|
49
|
-
Highlights from Buildr 1.4.
|
50
|
-
|
51
|
-
*
|
52
|
-
|
53
|
-
* Change:
|
54
|
-
*
|
55
|
-
*
|
56
|
-
*
|
57
|
-
|
49
|
+
Highlights from Buildr 1.4.13 (2013-10-02)
|
50
|
+
|
51
|
+
* Fixed: Upgrade rjb dependency so that you can change JVMs by
|
52
|
+
modifying JAVA_HOME rather than recompiling rjb.
|
53
|
+
* Change: Update to TestNG 6.8.5.
|
54
|
+
* Fixed: Several Ruby 2.0.0 failures have been addressed.
|
55
|
+
* Fixed: Make archive-related operations use a deterministic ordering.
|
56
|
+
* Added: Initial support for simple integration of an asset pipeline.
|
57
|
+
See "Compiling Assets" section in the manual.
|
58
|
+
* Change: Improve the Intellij IDEA plugin substantially.
|
59
|
+
* Change: Improve the gpg addon.
|
60
|
+
* Fixed: BUILDR-676 - Support the :dir option in Java::Command:java.
|
61
|
+
Reported by John Roth.
|
62
|
+
* Fixed: Improve downloading from Maven Central to avoid caching and
|
63
|
+
set the "User-Agent" http header.
|
64
|
+
* Change: Change default scope of dependencies to 'compile'. Submitted
|
65
|
+
by Ingo Schmidt.
|
66
|
+
* Fixed: BUILDR-673 - Fix the option handling of the MultiTest test
|
67
|
+
framework to behave as documented. Submitted by John Roth.
|
68
|
+
* Added: BUILDR-672 - Allow the user to modify the properties field in
|
69
|
+
the checkstyle addon. Submitted by Wim C.
|
58
70
|
|
59
71
|
This is a partial list -- see the "CHANGELOG":CHANGELOG for full details.
|
60
72
|
|
data/doc/packaging.textile
CHANGED
@@ -235,6 +235,35 @@ puts 'Artifacts included in WAR package:'
|
|
235
235
|
puts package(:war).libs.map(&:to_spec)
|
236
236
|
{% endhighlight %}
|
237
237
|
|
238
|
+
h3(#war_extra_assets). Compiling Assets
|
239
|
+
|
240
|
+
In modern web applications, it is common to use tools that compile and compress assets. i.e. "Coffeescript":http://coffeescript.org/ is compiled into javascript and "Sass":http://sass-lang.com/ compiles into CSS. Buildr provides support using a simple @assets@ abstraction. Directory or file tasks can be added to the @assets.paths@ configuration variable for a project and the contents will be included in the package.
|
241
|
+
|
242
|
+
h4(#coffeescript). Integrating CoffeeScript
|
243
|
+
|
244
|
+
{% highlight ruby %}
|
245
|
+
target_dir = _(:target, :generated, "coffee/main/webapp")
|
246
|
+
source_dir = _(:source, :main, :coffee)
|
247
|
+
|
248
|
+
assets.paths << file(target_dir => [FileList["#{source_dir}/**/*.coffee"]]) do
|
249
|
+
puts "Compiling coffeescript"
|
250
|
+
sh "coffee --bare --compile --output #{target_dir} #{source_dir}"
|
251
|
+
touch target_dir
|
252
|
+
end
|
253
|
+
{% endhighlight %}
|
254
|
+
|
255
|
+
h4(#sass). Integrating Sass
|
256
|
+
|
257
|
+
{% highlight ruby %}
|
258
|
+
target_dir = _(:target, :generated, "sass/main/webapp")
|
259
|
+
source_dir = _(:source, :main, :sass)
|
260
|
+
|
261
|
+
assets.paths << file(target_dir => [FileList["#{source_dir}/**/*.scss"]]) do
|
262
|
+
puts "Compiling scss"
|
263
|
+
sh "scss -q --update #{source_dir}:#{target_dir}"
|
264
|
+
touch target_dir
|
265
|
+
end
|
266
|
+
{% endhighlight %}
|
238
267
|
|
239
268
|
h2(#aar). Packaging AARs
|
240
269
|
|
data/lib/buildr.rb
CHANGED
@@ -35,12 +35,15 @@ require 'find'
|
|
35
35
|
require 'uri'
|
36
36
|
require 'stringio'
|
37
37
|
require 'fileutils'
|
38
|
+
require 'orderedhash'
|
39
|
+
require 'securerandom'
|
38
40
|
|
39
41
|
require 'buildr/core/util'
|
40
42
|
require 'buildr/core/common'
|
41
43
|
require 'buildr/core/application'
|
42
44
|
require 'buildr/core/jrebel'
|
43
45
|
require 'buildr/core/project'
|
46
|
+
require 'buildr/core/assets'
|
44
47
|
require 'buildr/core/environment'
|
45
48
|
require 'buildr/core/help'
|
46
49
|
require 'buildr/core/checks'
|
@@ -693,3 +693,27 @@ module FileUtils
|
|
693
693
|
module_function :fu_output_message
|
694
694
|
private_class_method :fu_output_message
|
695
695
|
end
|
696
|
+
|
697
|
+
module ::Rake
|
698
|
+
class FileList
|
699
|
+
# Add matching glob patterns.
|
700
|
+
def add_matching(pattern)
|
701
|
+
# Patch to use File::FNM_DOTMATCH where appropriate
|
702
|
+
flags = 0
|
703
|
+
args = [pattern]
|
704
|
+
flags |= File::FNM_DOTMATCH if pattern =~ /\.\*/
|
705
|
+
flags |= File::FNM_EXTGLOB if pattern =~ /[^\\]\{.*\}/
|
706
|
+
args << flags unless 0 == flags
|
707
|
+
FileList.glob(*args).each do |fn|
|
708
|
+
self << fn unless exclude?(fn)
|
709
|
+
end
|
710
|
+
end
|
711
|
+
private :add_matching
|
712
|
+
|
713
|
+
class << self
|
714
|
+
def glob(pattern, *args)
|
715
|
+
Dir.glob(pattern, *args).sort
|
716
|
+
end
|
717
|
+
end
|
718
|
+
end
|
719
|
+
end if RUBY_VERSION >= "2.0.0"
|
@@ -0,0 +1,93 @@
|
|
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 #:nodoc:
|
17
|
+
|
18
|
+
module Assets #:nodoc:
|
19
|
+
|
20
|
+
# The base assets task that is responsible for
|
21
|
+
# collecting all of the assets into a single output
|
22
|
+
# directory
|
23
|
+
class AssetsTask < Rake::FileTask
|
24
|
+
attr_reader :project
|
25
|
+
|
26
|
+
def project=(project)
|
27
|
+
@project = project
|
28
|
+
end
|
29
|
+
|
30
|
+
# The list of input paths to add to output directory
|
31
|
+
def paths
|
32
|
+
unless @paths
|
33
|
+
@paths = []
|
34
|
+
@paths << project._(:source, :main, :webapp) if File.exist?(project._(:source, :main, :webapp))
|
35
|
+
end
|
36
|
+
@paths
|
37
|
+
end
|
38
|
+
|
39
|
+
protected
|
40
|
+
|
41
|
+
def initialize(*args) #:nodoc:
|
42
|
+
super
|
43
|
+
enhance do
|
44
|
+
mkdir_p name
|
45
|
+
self.paths.flatten.compact.collect do |a|
|
46
|
+
a.is_a?(String) ? project.file(a) : a
|
47
|
+
end.each do |a|
|
48
|
+
a.invoke if a.respond_to?(:invoke)
|
49
|
+
end.each do |asset|
|
50
|
+
cp_r Dir["#{asset}/*"], "#{name}/"
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
private
|
56
|
+
|
57
|
+
def out_of_date?(stamp)
|
58
|
+
super ||
|
59
|
+
self.paths.any? { |n| n.respond_to?(:needed?) && n.needed? }
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
module ProjectExtension
|
65
|
+
include Extension
|
66
|
+
|
67
|
+
first_time do
|
68
|
+
desc "Prepare the assets"
|
69
|
+
Project.local_task("assets")
|
70
|
+
end
|
71
|
+
|
72
|
+
# Access the asset task
|
73
|
+
def assets
|
74
|
+
if @assets.nil?
|
75
|
+
@assets = AssetsTask.define_task(project._(:target, :main, :webapp) => [])
|
76
|
+
@assets.project = self
|
77
|
+
project.task('assets').enhance([@assets])
|
78
|
+
project.build.enhance([@assets])
|
79
|
+
end
|
80
|
+
@assets
|
81
|
+
end
|
82
|
+
|
83
|
+
after_define do |project|
|
84
|
+
# Force construction
|
85
|
+
project.assets
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
class Buildr::Project #:nodoc:
|
92
|
+
include ::Buildr::Assets::ProjectExtension
|
93
|
+
end
|