buildr 1.3.5-x86-mswin32 → 1.4.0-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 +153 -8
- data/README.rdoc +1 -1
- data/addon/buildr/antlr.rb +5 -5
- data/addon/buildr/drb.rb +18 -18
- data/addon/buildr/hibernate.rb +18 -14
- data/addon/buildr/javacc.rb +4 -4
- data/addon/buildr/jetty.rb +5 -5
- data/addon/buildr/nailgun.rb +23 -23
- data/addon/buildr/openjpa.rb +1 -1
- data/addon/buildr/org/apache/buildr/BuildrNail$Main.class +0 -0
- data/addon/buildr/org/apache/buildr/BuildrNail.class +0 -0
- data/addon/buildr/org/apache/buildr/JettyWrapper$1.class +0 -0
- data/addon/buildr/org/apache/buildr/JettyWrapper$BuildrHandler.class +0 -0
- data/addon/buildr/org/apache/buildr/JettyWrapper.class +0 -0
- data/addon/buildr/protobuf.rb +75 -0
- data/addon/buildr/xmlbeans.rb +5 -5
- data/buildr.buildfile +2 -2
- data/buildr.gemspec +8 -7
- data/doc/_layouts/default.html +2 -2
- data/doc/artifacts.textile +4 -4
- data/doc/building.textile +35 -3
- data/doc/contributing.textile +5 -0
- data/doc/download.textile +16 -5
- data/doc/extending.textile +38 -12
- data/doc/installing.textile +6 -5
- data/doc/languages.textile +182 -42
- data/doc/more_stuff.textile +2 -2
- data/doc/packaging.textile +14 -15
- data/doc/projects.textile +7 -2
- data/doc/quick_start.textile +4 -4
- data/doc/scripts/buildr-git.rb +63 -63
- data/doc/scripts/gitflow.rb +21 -21
- data/doc/settings_profiles.textile +9 -2
- data/doc/testing.textile +16 -5
- data/etc/KEYS +38 -0
- data/lib/buildr.rb +1 -1
- data/lib/buildr/core.rb +1 -0
- data/lib/buildr/core/application.rb +33 -27
- data/lib/buildr/core/build.rb +41 -28
- data/lib/buildr/core/cc.rb +172 -0
- data/lib/buildr/core/checks.rb +1 -1
- data/lib/buildr/core/common.rb +7 -6
- data/lib/buildr/core/compile.rb +7 -8
- data/lib/buildr/core/doc.rb +263 -0
- data/lib/buildr/core/environment.rb +6 -6
- data/lib/buildr/core/filter.rb +77 -35
- data/lib/buildr/core/generate.rb +7 -7
- data/lib/buildr/core/help.rb +1 -1
- data/lib/buildr/core/osx.rb +6 -6
- data/lib/buildr/core/progressbar.rb +4 -4
- data/lib/buildr/core/project.rb +144 -36
- data/lib/buildr/core/shell.rb +34 -34
- data/lib/buildr/core/test.rb +89 -20
- data/lib/buildr/core/transports.rb +8 -7
- data/lib/buildr/core/util.rb +77 -23
- data/lib/buildr/groovy/bdd.rb +5 -5
- data/lib/buildr/groovy/compiler.rb +19 -15
- data/lib/buildr/groovy/shell.rb +6 -6
- data/lib/buildr/ide/eclipse.rb +148 -75
- data/lib/buildr/ide/eclipse/java.rb +3 -3
- data/lib/buildr/ide/eclipse/plugin.rb +8 -5
- data/lib/buildr/ide/eclipse/scala.rb +4 -2
- data/lib/buildr/ide/idea.rb +2 -2
- data/lib/buildr/ide/idea7x.rb +23 -4
- data/lib/buildr/java.rb +1 -0
- data/lib/buildr/java/ant.rb +4 -4
- data/lib/buildr/java/bdd.rb +51 -54
- data/lib/buildr/java/cobertura.rb +57 -35
- data/lib/buildr/java/commands.rb +14 -5
- data/lib/buildr/java/compiler.rb +3 -217
- data/lib/buildr/java/deprecated.rb +4 -4
- data/lib/buildr/java/doc.rb +70 -0
- data/lib/buildr/java/emma.rb +22 -22
- data/lib/buildr/java/jruby.rb +4 -4
- data/lib/buildr/java/jtestr_runner.rb.erb +27 -25
- data/lib/buildr/java/org/apache/buildr/JavaTestFilter.class +0 -0
- data/lib/buildr/java/org/apache/buildr/JavaTestFilter.java +8 -3
- data/lib/buildr/java/packaging.rb +30 -29
- data/lib/buildr/java/pom.rb +4 -4
- data/lib/buildr/java/rjb.rb +6 -6
- data/lib/buildr/java/test_result.rb +61 -85
- data/lib/buildr/java/tests.rb +44 -27
- data/lib/buildr/java/version_requirement.rb +8 -8
- data/lib/buildr/packaging/archive.rb +55 -22
- data/lib/buildr/packaging/artifact.rb +75 -36
- data/lib/buildr/packaging/artifact_namespace.rb +90 -78
- data/lib/buildr/packaging/artifact_search.rb +5 -5
- data/lib/buildr/packaging/gems.rb +11 -7
- data/lib/buildr/packaging/package.rb +10 -7
- data/lib/buildr/packaging/tar.rb +14 -14
- data/lib/buildr/packaging/version_requirement.rb +30 -10
- data/lib/buildr/packaging/ziptask.rb +51 -13
- data/lib/buildr/scala.rb +1 -0
- data/lib/buildr/scala/bdd.rb +25 -20
- data/lib/buildr/scala/compiler.rb +87 -40
- data/lib/buildr/scala/doc.rb +106 -0
- data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.class +0 -0
- data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.java +57 -0
- data/lib/buildr/scala/shell.rb +14 -9
- data/lib/buildr/scala/tests.rb +33 -26
- data/lib/buildr/shell.rb +33 -33
- data/rakelib/all-in-one.rake +113 -0
- data/rakelib/checks.rake +1 -1
- data/rakelib/doc.rake +7 -0
- data/rakelib/package.rake +1 -1
- data/rakelib/release.rake +9 -6
- data/rakelib/rspec.rake +26 -7
- data/rakelib/setup.rake +15 -3
- data/rakelib/stage.rake +18 -11
- data/spec/addon/drb_spec.rb +25 -25
- data/spec/core/application_spec.rb +111 -21
- data/spec/core/build_spec.rb +16 -15
- data/spec/core/cc_spec.rb +174 -0
- data/spec/core/checks_spec.rb +34 -34
- data/spec/core/common_spec.rb +51 -5
- data/spec/core/compile_spec.rb +89 -14
- data/spec/core/extension_spec.rb +127 -19
- data/spec/core/generate_spec.rb +2 -2
- data/spec/core/project_spec.rb +10 -10
- data/spec/core/test_spec.rb +144 -35
- data/spec/core/transport_spec.rb +8 -8
- data/spec/core/util_spec.rb +63 -5
- data/spec/groovy/bdd_spec.rb +5 -5
- data/spec/groovy/compiler_spec.rb +29 -18
- data/spec/ide/eclipse_spec.rb +185 -9
- data/spec/ide/idea7x_spec.rb +22 -10
- data/spec/java/ant_spec.rb +9 -5
- data/spec/java/bdd_spec.rb +29 -37
- data/spec/java/cobertura_spec.rb +12 -12
- data/spec/java/commands_spec.rb +34 -0
- data/spec/java/compiler_spec.rb +53 -53
- data/spec/java/emma_spec.rb +11 -11
- data/spec/java/java_spec.rb +10 -10
- data/spec/java/packaging_spec.rb +67 -20
- data/spec/java/test_coverage_helper.rb +18 -18
- data/spec/java/tests_spec.rb +13 -9
- data/spec/packaging/archive_spec.rb +187 -20
- data/spec/packaging/artifact_namespace_spec.rb +172 -83
- data/spec/packaging/artifact_spec.rb +83 -18
- data/spec/packaging/packaging_spec.rb +41 -14
- data/spec/sandbox.rb +23 -12
- data/spec/scala/bdd_spec.rb +13 -8
- data/spec/scala/compiler_spec.rb +18 -13
- data/spec/scala/scala.rb +3 -3
- data/spec/scala/tests_spec.rb +46 -24
- data/spec/spec_helpers.rb +28 -10
- data/spec/version_requirement_spec.rb +25 -11
- metadata +149 -133
- data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner$.class +0 -0
- data/lib/buildr/scala/org/apache/buildr/SpecsSingletonRunner.scala +0 -35
- data/rakelib/stage.rake~ +0 -213
data/spec/core/build_spec.rb
CHANGED
@@ -169,7 +169,7 @@ describe Project, '#target' do
|
|
169
169
|
@project.layout[:target] = 'baz'
|
170
170
|
@project.target.should eql('baz')
|
171
171
|
end
|
172
|
-
|
172
|
+
|
173
173
|
it 'should be removed in version 1.5 since it was deprecated in version 1.3' do
|
174
174
|
Buildr::VERSION.should < '1.5'
|
175
175
|
end
|
@@ -194,7 +194,7 @@ describe Project, '#reports' do
|
|
194
194
|
@project.layout[:reports] = 'baz'
|
195
195
|
@project.reports.should eql('baz')
|
196
196
|
end
|
197
|
-
|
197
|
+
|
198
198
|
it 'should be removed in version 1.5 since it was deprecated in version 1.3' do
|
199
199
|
Buildr::VERSION.should < '1.5'
|
200
200
|
end
|
@@ -221,7 +221,7 @@ nothing to commit (working directory clean)
|
|
221
221
|
#
|
222
222
|
# modified: lib/buildr.rb
|
223
223
|
# modified: spec/buildr_spec.rb
|
224
|
-
#
|
224
|
+
#
|
225
225
|
# Untracked files:
|
226
226
|
# (use "git add <file>..." to include in what will be committed)
|
227
227
|
#
|
@@ -232,7 +232,7 @@ nothing to commit (working directory clean)
|
|
232
232
|
|
233
233
|
it 'should reject a dirty repository, Git 1.4.3 or higher' do
|
234
234
|
Git.should_receive(:`).with('git status').and_return <<-EOF
|
235
|
-
# On branch master
|
235
|
+
# On branch master
|
236
236
|
# Changed but not updated:
|
237
237
|
# (use "git add <file>..." to update what will be committed)
|
238
238
|
#
|
@@ -381,7 +381,7 @@ describe 'a release process', :shared=>true do
|
|
381
381
|
@release.should_receive(:ruby).with('-S', 'buildr', "_#{Buildr::VERSION}_", '--buildfile', File.expand_path('buildfile.next'),
|
382
382
|
'--environment', 'development', 'clean', 'upload', 'DEBUG=no')
|
383
383
|
end
|
384
|
-
|
384
|
+
|
385
385
|
it 'should tag a release with the release version' do
|
386
386
|
@release.stub!(:update_version_to_next)
|
387
387
|
@release.should_receive(:tag_release).with('1.0.0')
|
@@ -412,7 +412,7 @@ describe 'a release process', :shared=>true do
|
|
412
412
|
@release.stub!(:tag_release)
|
413
413
|
@release.make
|
414
414
|
file('buildfile').should contain('VERSION_NUMBER = "1.0.1-SNAPSHOT"')
|
415
|
-
end
|
415
|
+
end
|
416
416
|
end
|
417
417
|
|
418
418
|
describe '#resolve_tag' do
|
@@ -421,15 +421,15 @@ describe 'a release process', :shared=>true do
|
|
421
421
|
end
|
422
422
|
|
423
423
|
it 'should return tag specified by tag_name' do
|
424
|
-
|
424
|
+
Release.tag_name = 'first'
|
425
425
|
@release.send(:resolve_tag).should == 'first'
|
426
426
|
end
|
427
|
-
|
427
|
+
|
428
428
|
it 'should use tag returned by tag_name if tag_name is a proc' do
|
429
|
-
|
429
|
+
Release.tag_name = lambda { |version| "buildr-#{version}" }
|
430
430
|
@release.send(:resolve_tag).should == 'buildr-1.0.0'
|
431
431
|
end
|
432
|
-
after {
|
432
|
+
after { Release.tag_name = nil }
|
433
433
|
end
|
434
434
|
|
435
435
|
describe '#tag_release' do
|
@@ -501,13 +501,13 @@ describe 'a release process', :shared=>true do
|
|
501
501
|
end
|
502
502
|
|
503
503
|
it 'should use the commit message specified by commit_message' do
|
504
|
-
|
504
|
+
Release.commit_message = 'Here is my custom message'
|
505
505
|
@release.should_receive(:message).and_return('Here is my custom message')
|
506
506
|
@release.update_version_to_next
|
507
507
|
end
|
508
|
-
|
508
|
+
|
509
509
|
it 'should use the commit message returned by commit_message if commit_message is a proc' do
|
510
|
-
|
510
|
+
Release.commit_message = lambda { |new_version|
|
511
511
|
new_version.should == '1.0.1-SNAPSHOT'
|
512
512
|
"increment version number to #{new_version}"
|
513
513
|
}
|
@@ -518,6 +518,7 @@ describe 'a release process', :shared=>true do
|
|
518
518
|
it 'should inform the user of the new version' do
|
519
519
|
lambda { @release.update_version_to_next }.should show_info('Current version is now 1.0.1-SNAPSHOT')
|
520
520
|
end
|
521
|
+
after { Release.commit_message = nil }
|
521
522
|
end
|
522
523
|
|
523
524
|
end
|
@@ -542,7 +543,7 @@ describe GitRelease do
|
|
542
543
|
it 'should accept a git repo' do
|
543
544
|
FileUtils.mkdir '.git'
|
544
545
|
FileUtils.touch File.join('.git', 'config')
|
545
|
-
GitRelease.applies_to?.should be_true
|
546
|
+
GitRelease.applies_to?.should be_true
|
546
547
|
end
|
547
548
|
end
|
548
549
|
|
@@ -636,7 +637,7 @@ describe SvnRelease do
|
|
636
637
|
|
637
638
|
it 'should accept a git repo' do
|
638
639
|
FileUtils.touch '.svn'
|
639
|
-
SvnRelease.applies_to?.should be_true
|
640
|
+
SvnRelease.applies_to?.should be_true
|
640
641
|
end
|
641
642
|
end
|
642
643
|
|
@@ -0,0 +1,174 @@
|
|
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
|
+
require File.join(File.dirname(__FILE__), '../spec_helpers')
|
18
|
+
|
19
|
+
module CCHelper
|
20
|
+
def setup_cc
|
21
|
+
project = define('foo')
|
22
|
+
|
23
|
+
cc = project.cc
|
24
|
+
project.stub!(:task).with(:cc).and_return(cc)
|
25
|
+
|
26
|
+
compile = mock 'compile'
|
27
|
+
project.stub!(:task).with(:compile).and_return(compile)
|
28
|
+
|
29
|
+
test_compile = mock 'test:compile'
|
30
|
+
project.stub!(:task).with('test:compile').and_return(test_compile)
|
31
|
+
|
32
|
+
filter = mock('resources').tap do |resources|
|
33
|
+
project.stub!(:task).with(:resources).and_return(resources)
|
34
|
+
|
35
|
+
back = mock 'filter'
|
36
|
+
resources.stub!(:filter).and_return(back)
|
37
|
+
|
38
|
+
back
|
39
|
+
end
|
40
|
+
|
41
|
+
sources
|
42
|
+
tests
|
43
|
+
resources
|
44
|
+
|
45
|
+
[ project, compile, test_compile, filter ]
|
46
|
+
end
|
47
|
+
|
48
|
+
def sources
|
49
|
+
@sources ||= ['Test1.java', 'Test2.java'].map { |f| File.join('src/main/java/thepackage', f) }.
|
50
|
+
each { |src| write src, "package thepackage; class #{src.pathmap('%n')} {}" }
|
51
|
+
end
|
52
|
+
|
53
|
+
def tests
|
54
|
+
@tests ||= ['Test1.java', 'Test2.java'].map { |f| File.join('src/test/java/thepackage', f) }.
|
55
|
+
each { |src| write src, "package thepackage; class #{src.pathmap('%n')} {}" }
|
56
|
+
end
|
57
|
+
|
58
|
+
def resources
|
59
|
+
@resources ||= ['Test1.html', 'Test2.html'].map { |f| File.join('src/main/resources', f) }.
|
60
|
+
each { |src| write src, '<html></html>' }
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
describe Buildr::CCTask do
|
65
|
+
include CCHelper
|
66
|
+
|
67
|
+
it 'should default to a delay of 0.2' do
|
68
|
+
define('foo').cc.delay.should == 0.2
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'should compile and test:compile on initial start' do
|
72
|
+
project, compile, test_compile, filter = setup_cc
|
73
|
+
|
74
|
+
compile.should_receive :invoke
|
75
|
+
test_compile.should_receive :invoke
|
76
|
+
filter.should_not_receive :run
|
77
|
+
|
78
|
+
thread = Thread.new do
|
79
|
+
project.cc.invoke
|
80
|
+
end
|
81
|
+
|
82
|
+
sleep 0.5
|
83
|
+
|
84
|
+
thread.exit
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'should detect a file change' do |spec|
|
88
|
+
|
89
|
+
write 'src/main/java/Example.java', "public class Example {}"
|
90
|
+
write 'src/test/java/ExampleTest.java', "public class ExampleTest {}"
|
91
|
+
|
92
|
+
project = define("foo")
|
93
|
+
cc = project.cc
|
94
|
+
|
95
|
+
compile = project.compile
|
96
|
+
|
97
|
+
|
98
|
+
test_compile = project.test.compile
|
99
|
+
|
100
|
+
filter = project.resources
|
101
|
+
|
102
|
+
# After first period:
|
103
|
+
compile.should_receive :invoke
|
104
|
+
test_compile.should_receive :invoke
|
105
|
+
filter.should_not_receive :run
|
106
|
+
|
107
|
+
thread = Thread.new do
|
108
|
+
project.cc.invoke
|
109
|
+
end
|
110
|
+
|
111
|
+
sleep 1
|
112
|
+
|
113
|
+
compile.should_receive :reenable
|
114
|
+
compile.should_receive :invoke
|
115
|
+
|
116
|
+
test_compile.should_receive :reenable
|
117
|
+
test_compile.should_receive :invoke
|
118
|
+
|
119
|
+
filter.should_not_receive :run
|
120
|
+
|
121
|
+
sleep 1 # Wait one sec as the timestamp needs to be different.
|
122
|
+
touch File.join(Dir.pwd, 'src/main/java/Example.java')
|
123
|
+
sleep 0.2# Wait one standard delay
|
124
|
+
|
125
|
+
thread.exit
|
126
|
+
end
|
127
|
+
|
128
|
+
|
129
|
+
it 'should support subprojects' do |spec|
|
130
|
+
|
131
|
+
write 'foo/src/main/java/Example.java', "public class Example {}"
|
132
|
+
write 'foo/src/test/java/ExampleTest.java', "public class ExampleTest {}"
|
133
|
+
|
134
|
+
define 'container' do
|
135
|
+
define('foo')
|
136
|
+
end
|
137
|
+
|
138
|
+
project = project("container:foo")
|
139
|
+
cc = project.cc
|
140
|
+
|
141
|
+
compile = project.compile
|
142
|
+
|
143
|
+
test_compile = project.test.compile
|
144
|
+
|
145
|
+
filter = project.resources
|
146
|
+
|
147
|
+
|
148
|
+
# After first period:
|
149
|
+
compile.should_receive :invoke
|
150
|
+
test_compile.should_receive :invoke
|
151
|
+
filter.should_not_receive :run
|
152
|
+
|
153
|
+
thread = Thread.new do
|
154
|
+
project("container").cc.invoke
|
155
|
+
end
|
156
|
+
|
157
|
+
sleep 0.5
|
158
|
+
|
159
|
+
# After we changed the file:
|
160
|
+
compile.should_receive :reenable
|
161
|
+
compile.should_receive :invoke
|
162
|
+
|
163
|
+
test_compile.should_receive :reenable
|
164
|
+
test_compile.should_receive :invoke
|
165
|
+
|
166
|
+
filter.should_not_receive :run
|
167
|
+
|
168
|
+
sleep 1 # Wait one sec as the timestamp needs to be different.
|
169
|
+
touch File.join(Dir.pwd, 'foo/src/main/java/Example.java')
|
170
|
+
sleep 0.2 # Wait one standard delay
|
171
|
+
|
172
|
+
thread.exit
|
173
|
+
end
|
174
|
+
end
|
data/spec/core/checks_spec.rb
CHANGED
@@ -31,7 +31,7 @@ describe Project, 'check task' do
|
|
31
31
|
it "should execute all project's expectations" do
|
32
32
|
task 'expectation'
|
33
33
|
define 'foo', :version=>'1.0' do
|
34
|
-
check { task('expectation').invoke }
|
34
|
+
check { task('expectation').invoke }
|
35
35
|
end
|
36
36
|
lambda { project('foo').task('package').invoke }.should run_task('expectation')
|
37
37
|
end
|
@@ -52,7 +52,7 @@ describe Project, 'check task' do
|
|
52
52
|
it "should fail if any expectation failed" do
|
53
53
|
define 'foo', :version=>'1.0' do
|
54
54
|
check
|
55
|
-
check { fail 'sorry' }
|
55
|
+
check { fail 'sorry' }
|
56
56
|
check
|
57
57
|
end
|
58
58
|
lambda { project('foo').task('package').invoke }.should raise_error(RuntimeError, /Checks failed/)
|
@@ -342,132 +342,132 @@ end
|
|
342
342
|
|
343
343
|
|
344
344
|
describe Buildr::Checks::Expectation do
|
345
|
-
|
345
|
+
|
346
346
|
shared_examples_for 'all archive types' do
|
347
|
-
|
347
|
+
|
348
348
|
before do
|
349
349
|
archive = @archive
|
350
350
|
define 'foo', :version=>'1.0' do
|
351
351
|
package(archive).include('resources')
|
352
352
|
end
|
353
353
|
end
|
354
|
-
|
354
|
+
|
355
355
|
def check *args, &block
|
356
356
|
project('foo').check *args, &block
|
357
357
|
end
|
358
|
-
|
358
|
+
|
359
359
|
def package
|
360
360
|
project('foo').package(@archive)
|
361
361
|
end
|
362
|
-
|
362
|
+
|
363
363
|
describe '#exist' do
|
364
|
-
|
364
|
+
|
365
365
|
it "should pass if archive path exists" do
|
366
366
|
write 'resources/test'
|
367
367
|
check(package.path('resources')) { it.should exist }
|
368
368
|
lambda { project('foo').task('package').invoke }.should_not raise_error
|
369
369
|
end
|
370
|
-
|
370
|
+
|
371
371
|
it "should fail if archive path does not exist" do
|
372
372
|
mkpath 'resources'
|
373
373
|
check(package) { it.path('not-resources').should exist }
|
374
374
|
lambda { project('foo').task('package').invoke }.should raise_error(RuntimeError, /Checks failed/)
|
375
375
|
end
|
376
|
-
|
376
|
+
|
377
377
|
it "should pass if archive entry exists" do
|
378
378
|
write 'resources/test'
|
379
379
|
check(package.entry('resources/test')) { it.should exist }
|
380
380
|
check(package.path('resources').entry('test')) { it.should exist }
|
381
381
|
lambda { project('foo').task('package').invoke }.should_not raise_error
|
382
382
|
end
|
383
|
-
|
383
|
+
|
384
384
|
it "should fail if archive path does not exist" do
|
385
385
|
mkpath 'resources'
|
386
386
|
check(package.entry('resources/test')) { it.should exist }
|
387
387
|
lambda { project('foo').task('package').invoke }.should raise_error(RuntimeError, /Checks failed/)
|
388
|
-
end
|
388
|
+
end
|
389
389
|
end
|
390
|
-
|
390
|
+
|
391
391
|
describe '#be_empty' do
|
392
392
|
it "should pass if archive path is empty" do
|
393
393
|
mkpath 'resources'
|
394
394
|
check(package.path('resources')) { it.should be_empty }
|
395
395
|
lambda { project('foo').task('package').invoke }.should_not raise_error
|
396
396
|
end
|
397
|
-
|
397
|
+
|
398
398
|
it "should fail if archive path has any entries" do
|
399
399
|
write 'resources/test'
|
400
400
|
check(package.path('resources')) { it.should be_empty }
|
401
401
|
lambda { project('foo').task('package').invoke }.should raise_error(RuntimeError, /Checks failed/)
|
402
402
|
end
|
403
|
-
|
403
|
+
|
404
404
|
it "should pass if archive entry has no content" do
|
405
405
|
write 'resources/test'
|
406
406
|
check(package.entry('resources/test')) { it.should be_empty }
|
407
407
|
check(package.path('resources').entry('test')) { it.should be_empty }
|
408
408
|
lambda { project('foo').task('package').invoke }.should_not raise_error
|
409
409
|
end
|
410
|
-
|
410
|
+
|
411
411
|
it "should fail if archive entry has content" do
|
412
412
|
write 'resources/test', 'something'
|
413
413
|
check(package.entry('resources/test')) { it.should be_empty }
|
414
414
|
lambda { project('foo').task('package').invoke }.should raise_error(RuntimeError, /Checks failed/)
|
415
415
|
end
|
416
|
-
|
416
|
+
|
417
417
|
it "should fail if archive entry does not exist" do
|
418
418
|
mkpath 'resources'
|
419
419
|
check(package.entry('resources/test')) { it.should be_empty }
|
420
420
|
lambda { project('foo').task('package').invoke }.should raise_error(RuntimeError, /Checks failed/)
|
421
421
|
end
|
422
422
|
end
|
423
|
-
|
423
|
+
|
424
424
|
describe '#contain(entry)' do
|
425
|
-
|
425
|
+
|
426
426
|
it "should pass if archive entry content matches string" do
|
427
427
|
write 'resources/test', 'something'
|
428
428
|
check(package.entry('resources/test')) { it.should contain('thing') }
|
429
429
|
lambda { project('foo').task('package').invoke }.should_not raise_error
|
430
430
|
end
|
431
|
-
|
431
|
+
|
432
432
|
it "should pass if archive entry content matches pattern" do
|
433
433
|
write 'resources/test', "something\nor\another"
|
434
434
|
check(package.entry('resources/test')) { it.should contain(/or/) }
|
435
435
|
lambda { project('foo').task('package').invoke }.should_not raise_error
|
436
436
|
end
|
437
|
-
|
437
|
+
|
438
438
|
it "should pass if archive entry content matches all arguments" do
|
439
439
|
write 'resources/test', "something\nor\nanother"
|
440
440
|
check(package.entry('resources/test')) { it.should contain(/or/, /other/) }
|
441
441
|
lambda { project('foo').task('package').invoke }.should_not raise_error
|
442
442
|
end
|
443
|
-
|
443
|
+
|
444
444
|
it "should fail unless archive path contains all arguments" do
|
445
445
|
write 'resources/test', 'something'
|
446
446
|
check(package.entry('resources/test')) { it.should contain(/some/, /other/) }
|
447
447
|
lambda { project('foo').task('package').invoke }.should raise_error(RuntimeError, /Checks failed/)
|
448
448
|
end
|
449
|
-
|
449
|
+
|
450
450
|
it "should fail if archive entry content does not match" do
|
451
451
|
write 'resources/test', 'something'
|
452
452
|
check(package.entry('resources/test')) { it.should contain(/other/) }
|
453
453
|
lambda { project('foo').task('package').invoke }.should raise_error(RuntimeError, /Checks failed/)
|
454
454
|
end
|
455
|
-
|
455
|
+
|
456
456
|
it "should fail if archive entry does not exist" do
|
457
457
|
mkpath 'resources'
|
458
458
|
check(package.entry('resources/test')) { it.should contain(/anything/) }
|
459
459
|
lambda { project('foo').task('package').invoke }.should raise_error(RuntimeError, /Checks failed/)
|
460
460
|
end
|
461
461
|
end
|
462
|
-
|
462
|
+
|
463
463
|
describe '#contain(path)' do
|
464
|
-
|
464
|
+
|
465
465
|
it "should pass if archive path contains file" do
|
466
466
|
write 'resources/test'
|
467
467
|
check(package.path('resources')) { it.should contain('test') }
|
468
468
|
lambda { project('foo').task('package').invoke }.should_not raise_error
|
469
469
|
end
|
470
|
-
|
470
|
+
|
471
471
|
it "should handle deep nesting" do
|
472
472
|
write 'resources/test/test2.efx'
|
473
473
|
check(package) { it.should contain('resources/test/test2.efx') }
|
@@ -475,25 +475,25 @@ describe Buildr::Checks::Expectation do
|
|
475
475
|
check(package.path('resources/test')) { it.should contain('test2.efx') }
|
476
476
|
lambda { project('foo').task('package').invoke }.should_not raise_error
|
477
477
|
end
|
478
|
-
|
478
|
+
|
479
479
|
it "should pass if archive path contains pattern" do
|
480
480
|
write 'resources/with/test'
|
481
481
|
check(package.path('resources')) { it.should contain('**/t*st') }
|
482
482
|
lambda { project('foo').task('package').invoke }.should_not raise_error
|
483
483
|
end
|
484
|
-
|
484
|
+
|
485
485
|
it "should pass if archive path contains all arguments" do
|
486
486
|
write 'resources/with/test'
|
487
487
|
check(package.path('resources')) { it.should contain('**/test', '**/*') }
|
488
488
|
lambda { project('foo').task('package').invoke }.should_not raise_error
|
489
489
|
end
|
490
|
-
|
490
|
+
|
491
491
|
it "should fail unless archive path contains all arguments" do
|
492
492
|
write 'resources/test'
|
493
493
|
check(package.path('resources')) { it.should contain('test', 'or-not') }
|
494
494
|
lambda { project('foo').task('package').invoke }.should raise_error(RuntimeError, /Checks failed/)
|
495
495
|
end
|
496
|
-
|
496
|
+
|
497
497
|
it "should fail if archive path is empty" do
|
498
498
|
mkpath 'resources'
|
499
499
|
check(package.path('resources')) { it.should contain('test') }
|
@@ -501,17 +501,17 @@ describe Buildr::Checks::Expectation do
|
|
501
501
|
end
|
502
502
|
end
|
503
503
|
end
|
504
|
-
|
504
|
+
|
505
505
|
describe 'ZIP' do
|
506
506
|
before { @archive = :jar }
|
507
507
|
it_should_behave_like 'all archive types'
|
508
508
|
end
|
509
|
-
|
509
|
+
|
510
510
|
describe 'tar' do
|
511
511
|
before { @archive = :tar }
|
512
512
|
it_should_behave_like 'all archive types'
|
513
513
|
end
|
514
|
-
|
514
|
+
|
515
515
|
describe 'tgz' do
|
516
516
|
before { @archive = :tgz }
|
517
517
|
it_should_behave_like 'all archive types'
|