You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by as...@apache.org on 2008/01/03 23:15:26 UTC
svn commit: r608657 [2/2] - in /incubator/buildr/trunk: ./ bin/ doc/
doc/css/ doc/pages/ lib/ lib/buildr/ lib/core/ lib/java/ spec/
Modified: incubator/buildr/trunk/spec/artifact_spec.rb
URL: http://svn.apache.org/viewvc/incubator/buildr/trunk/spec/artifact_spec.rb?rev=608657&r1=608656&r2=608657&view=diff
==============================================================================
--- incubator/buildr/trunk/spec/artifact_spec.rb (original)
+++ incubator/buildr/trunk/spec/artifact_spec.rb Thu Jan 3 14:15:24 2008
@@ -279,23 +279,6 @@
end
-describe "repositories.proxy" do
- before do
- repositories.remote = "http://example.com"
- end
-
- it "should be empty initially" do
- repositories.proxy.should be_nil
- end
-
- it "should be used when downloading" do
- repositories.proxy = "http://myproxy:8080"
- Net::HTTP.should_receive(:start).with(anything, 80, "myproxy", 8080, nil, nil).twice
- artifact("com.example:library:jar:all:2.0").invoke
- end
-end
-
-
describe "repositories.release_to" do
it "should accept URL as first argument" do
repositories.release_to = "http://example.com"
@@ -466,7 +449,7 @@
before do
@spec = 'group:id:jar:1.0'
write @file = 'test.jar'
- repositories.deploy_to = 'sftp://example.com/base'
+ repositories.release_to = 'sftp://example.com/base'
end
it 'should return the upload task' do
@@ -486,25 +469,6 @@
URI.should_receive(:upload).once.
with(URI.parse('sftp://example.com/base/group/id/1.0/id-1.0.pom'), artifact(@spec).pom.to_s, anything)
upload.invoke
- end
-end
-
-
-describe Buildr, "#deploy" do
- before do
- repositories.deploy_to = "sftp://example.com/base"
- @file = file("README")
- write @file.to_s
- end
-
- it "should deploy a file to a path using its basename" do
- URI.should_receive(:upload).once.with(URI.parse("sftp://example.com/base/README"), @file.to_s, anything)
- deploy @file
- end
-
- it "should deploy a file to specified path and basename" do
- URI.should_receive(:upload).once.with(URI.parse("sftp://example.com/base/foo/bar/README"), @file.to_s, anything)
- deploy @file, :path=>"foo/bar"
end
end
Modified: incubator/buildr/trunk/spec/build_spec.rb
URL: http://svn.apache.org/viewvc/incubator/buildr/trunk/spec/build_spec.rb?rev=608657&r1=608656&r2=608657&view=diff
==============================================================================
--- incubator/buildr/trunk/spec/build_spec.rb (original)
+++ incubator/buildr/trunk/spec/build_spec.rb Thu Jan 3 14:15:24 2008
@@ -1,22 +1,81 @@
require File.join(File.dirname(__FILE__), 'sandbox')
-
-describe 'Local directory build task' do
- it 'should execute build task for current project' do
+describe 'local task', :shared=>true do
+ it "should execute task for project in current directory" do
define 'foobar'
- lambda { task('build').invoke }.should run_task('foobar:build')
+ lambda { @task.invoke }.should run_task("foobar:#{@task.name}")
end
- it 'should not execute build task for other projects' do
+ it "should not execute task for projects in other directory" do
define 'foobar', :base_dir=>'elsewhere'
lambda { task('build').invoke }.should_not run_task('foobar:build')
end
end
-describe Project, ' build task' do
+describe 'build task' do
+ it_should_behave_like 'local task'
+ before(:each) { @task = task('build') }
+end
+
+describe 'clean task' do
+ it_should_behave_like 'local task'
+ before(:each) { @task = task('clean') }
+end
+
+describe 'package task' do
+ it_should_behave_like 'local task'
+ before(:each) { @task = task('package') }
+
+ it 'should execute build task as prerequisite' do
+ lambda { @task.invoke }.should run_task('build')
+ end
+end
+
+describe 'install task' do
+ it_should_behave_like 'local task'
+ before(:each) { @task = task('install') }
+
+ it 'should execute package task as prerequisite' do
+ lambda { @task.invoke }.should run_task('package')
+ end
+end
+
+describe 'uninstall task' do
+ it_should_behave_like 'local task'
+ before(:each) { @task = task('uninstall') }
+end
+
+describe 'upload task' do
+ it_should_behave_like 'local task'
+ before(:each) { @task = task('upload') }
+
+ it 'should execute package task as prerequisite' do
+ lambda { @task.invoke }.should run_task('package')
+ end
+end
+
+
+describe Project, '#build' do
+ it 'should return the project\'s build task' do
+ define('foo').build.should eql(task('foo:build'))
+ end
+
+ it 'should enhance the project\'s build task' do
+ task 'prereq'
+ task 'action'
+ define 'foo' do
+ build 'prereq' do
+ task('action').invoke
+ end
+ end
+ lambda { project('foo').build.invoke }.should run_tasks('prereq', 'action')
+ end
+
it 'should execute build task for sub-project' do
- define('foo') { define 'bar' }
+ define 'foo' do
+ define 'bar'
+ end
lambda { task('foo:build').invoke }.should run_task('foo:bar:build')
end
@@ -25,15 +84,57 @@
define 'bar'
lambda { task('foo:build').invoke }.should_not run_task('bar:build')
end
+end
- it 'should be accessible as build method' do
- define 'boo'
- project('boo').build.should be(task('boo:build'))
+
+describe Project, '#clean' do
+ it 'should return the project\'s clean task' do
+ define('foo').clean.should eql(task('foo:clean'))
+ end
+
+ it 'should enhance the project\'s clean task' do
+ task 'prereq'
+ task 'action'
+ define 'foo' do
+ clean 'prereq' do
+ task('action').invoke
+ end
+ end
+ lambda { project('foo').clean.invoke }.should run_tasks('prereq', 'action')
+ end
+
+ it 'should remove target directory' do
+ define 'foo' do
+ self.layout[:target] = 'targeted'
+ end
+ mkpath 'targeted'
+ lambda { project('foo').clean.invoke }.should change { File.exist?('targeted') }.from(true).to(false)
+ end
+
+ it 'should remove reports directory' do
+ define 'foo' do
+ self.layout[:reports] = 'reported'
+ end
+ mkpath 'reported'
+ lambda { project('foo').clean.invoke }.should change { File.exist?('reported') }.from(true).to(false)
+ end
+
+ it 'should execute clean task for sub-project' do
+ define 'foo' do
+ define 'bar'
+ end
+ lambda { task('foo:clean').invoke }.should run_task('foo:bar:clean')
+ end
+
+ it 'should not execute clean task of other projects' do
+ define 'foo'
+ define 'bar'
+ lambda { task('foo:clean').invoke }.should_not run_task('bar:clean')
end
end
-describe Project, 'target' do
+describe Project, '#target' do
before :each do
@project = define('foo', :layout=>Layout.new)
end
@@ -54,7 +155,7 @@
end
-describe Project, 'reports' do
+describe Project, '#reports' do
before :each do
@project = define('foo', :layout=>Layout.new)
end
Modified: incubator/buildr/trunk/spec/packaging_spec.rb
URL: http://svn.apache.org/viewvc/incubator/buildr/trunk/spec/packaging_spec.rb?rev=608657&r1=608656&r2=608657&view=diff
==============================================================================
--- incubator/buildr/trunk/spec/packaging_spec.rb (original)
+++ incubator/buildr/trunk/spec/packaging_spec.rb Thu Jan 3 14:15:24 2008
@@ -742,15 +742,6 @@
define_method(:packaging) { :zip }
it_should_behave_like "packaging"
- it "should accept files from :include option" do
- write "test"
- define("foo", :version=>"1.0") { package(:zip, :include=>"test") }
- project("foo").package(:zip).invoke
- Zip::ZipFile.open(project("foo").package(:zip).to_s) do |zip|
- zip.entries.map(&:to_s).should include("test")
- end
- end
-
it "should not include META-INF directory" do
define("foo", :version=>"1.0") { package(:zip) }
project("foo").package(:zip).invoke
@@ -768,22 +759,6 @@
define_method(:meta_inf) { "MANIFEST.MF" }
it_should_behave_like "package_with_meta_inf"
- it "should accept files from :include option" do
- write "test"
- write "src/main/java/Test.java", "class Test {}"
- define("foo", :version=>"1.0") { package(:jar, :include=>"test") }
- project("foo").package(:jar).invoke
- Zip::ZipFile.open(project("foo").package(:jar).to_s) do |jar|
- jar.entries.map(&:to_s).sort.should include("META-INF/MANIFEST.MF", "test")
- end
- end
-
- it "should warn that :include option is deprecated" do
- define "foo", :version=>"1.0" do
- verbose(true) { lambda { package(:jar, :include=>"test") }.should warn_that(/:include option .* is deprecated/) }
- end
- end
-
it "should use files from compile directory if nothing included" do
write "src/main/java/Test.java", "class Test {}"
define("foo", :version=>"1.0") { package(:jar) }
@@ -850,19 +825,6 @@
end
end
- it "should accept files from :include option" do
- write "test"
- write "src/main/webapp/test.html"
- define("foo", :version=>"1.0") { package(:war, :include=>"test") }
- inspect_war { |files| files.should include("META-INF/MANIFEST.MF", "test") }
- end
-
- it "should warn that :include option is deprecated" do
- define "foo", :version=>"1.0" do
- verbose(true) { lambda { package(:war, :include=>"test") }.should warn_that(/:include option .* is deprecated/) }
- end
- end
-
it "should use files from webapp directory if nothing included" do
write "src/main/webapp/test.html"
define("foo", :version=>"1.0") { package(:war) }
@@ -877,16 +839,10 @@
it "should accept files from :classes option" do
write "src/main/java/Test.java", "class Test {}"
write "classes/test"
- define("foo", :version=>"1.0") { package(:war, :classes=>"classes") }
+ define("foo", :version=>"1.0") { package(:war).with(:classes=>"classes") }
inspect_war { |files| files.should include("WEB-INF/classes/test") }
end
- it "should warn that :classes option is deprecated" do
- define "foo", :version=>"1.0" do
- verbose(true) { lambda { package(:war, :classes=>"classes") }.should warn_that(/:classes option .* is deprecated/) }
- end
- end
-
it "should use files from compile directory if nothing included" do
write "src/main/java/Test.java", "class Test {}"
define("foo", :version=>"1.0") { package(:war) }
@@ -919,19 +875,13 @@
it "should accept file from :libs option" do
make_jars
- define("foo", :version=>"1.0") { package(:war, :libs=>"group:id:jar:1.0") }
+ define("foo", :version=>"1.0") { package(:war).with(:libs=>"group:id:jar:1.0") }
inspect_war { |files| files.should include("META-INF/MANIFEST.MF", "WEB-INF/lib/id-1.0.jar") }
end
- it "should warn that :libs option is deprecated" do
- define "foo", :version=>"1.0" do
- verbose(true) { lambda { package(:war, :libs=>"group:id:jar:1.0") }.should warn_that(/:libs option .* is deprecated/) }
- end
- end
-
it "should accept file from :libs option" do
make_jars
- define("foo", :version=>"1.0") { package(:war, :libs=>["group:id:jar:1.0", "group:id:jar:2.0"]) }
+ define("foo", :version=>"1.0") { package(:war).with(:libs=>["group:id:jar:1.0", "group:id:jar:2.0"]) }
inspect_war { |files| files.should include("META-INF/MANIFEST.MF", "WEB-INF/lib/id-1.0.jar", "WEB-INF/lib/id-2.0.jar") }
end
Modified: incubator/buildr/trunk/spec/project_spec.rb
URL: http://svn.apache.org/viewvc/incubator/buildr/trunk/spec/project_spec.rb?rev=608657&r1=608656&r2=608657&view=diff
==============================================================================
--- incubator/buildr/trunk/spec/project_spec.rb (original)
+++ incubator/buildr/trunk/spec/project_spec.rb Thu Jan 3 14:15:24 2008
@@ -732,7 +732,7 @@
end
-describe Rake::Task, ' buildr:initialize' do
+describe Rake::Task, 'buildr:initialize' do
it 'should be ready to run as the first task' do
Rake.application.top_level_tasks.first.should eql('buildr:initialize')
end
@@ -743,5 +743,3 @@
lambda { task('buildr:initialize').invoke }.should change { defined }.to(true)
end
end
-
-
Modified: incubator/buildr/trunk/spec/sandbox.rb
URL: http://svn.apache.org/viewvc/incubator/buildr/trunk/spec/sandbox.rb?rev=608657&r1=608656&r2=608657&view=diff
==============================================================================
--- incubator/buildr/trunk/spec/sandbox.rb (original)
+++ incubator/buildr/trunk/spec/sandbox.rb Thu Jan 3 14:15:24 2008
@@ -11,7 +11,7 @@
# that the code requires several artifacts. So we establish them first using the real local
# repository and cache these across test cases.
repositories.remote << "http://repo1.maven.org/maven2"
- Java.wrapper.load # Anything added to the classpath.
+ Java.load # Anything added to the classpath.
artifacts(TestFramework.frameworks.values.map(&:requires).flatten).each { |a| file(a).invoke }
task("buildr:initialize").invoke
Modified: incubator/buildr/trunk/spec/test_spec.rb
URL: http://svn.apache.org/viewvc/incubator/buildr/trunk/spec/test_spec.rb?rev=608657&r1=608656&r2=608657&view=diff
==============================================================================
--- incubator/buildr/trunk/spec/test_spec.rb (original)
+++ incubator/buildr/trunk/spec/test_spec.rb Thu Jan 3 14:15:24 2008
@@ -239,7 +239,7 @@
end
-describe Buildr::TestFramework::JUnit do
+describe Buildr::JUnit do
before do
write "src/test/java/PassingTest.java",
"public class PassingTest extends junit.framework.TestCase { public void testNothing() {} }"
@@ -249,15 +249,15 @@
end
it "should include JUnit requirements" do
- project("foo").test.requires.should include(*TestFramework::JUnit::JUNIT_REQUIRES)
- project("foo").test.compile.dependencies.should include(*artifacts(TestFramework::JUnit::JUNIT_REQUIRES))
- project("foo").test.dependencies.should include(*artifacts(TestFramework::JUnit::JUNIT_REQUIRES))
+ project("foo").test.requires.should include(*JUnit::REQUIRES)
+ project("foo").test.compile.dependencies.should include(*artifacts(JUnit::REQUIRES))
+ project("foo").test.dependencies.should include(*artifacts(JUnit::REQUIRES))
end
it "should include JMock requirements" do
- project("foo").test.requires.should include(*TestFramework::JMock::JMOCK_REQUIRES)
- project("foo").test.compile.dependencies.should include(*artifacts(TestFramework::JMock::JMOCK_REQUIRES))
- project("foo").test.dependencies.should include(*artifacts(TestFramework::JMock::JMOCK_REQUIRES))
+ project("foo").test.requires.should include(*JMock::REQUIRES)
+ project("foo").test.compile.dependencies.should include(*artifacts(JMock::REQUIRES))
+ project("foo").test.dependencies.should include(*artifacts(JMock::REQUIRES))
end
it "should include classes starting with and ending with Test" do
@@ -339,15 +339,15 @@
end
it "should include TestNG requirements" do
- project("foo").test.requires.should include(*TestFramework::TestNG::TESTNG_REQUIRES)
- project("foo").test.compile.dependencies.should include(*artifacts(TestFramework::TestNG::TESTNG_REQUIRES))
- project("foo").test.dependencies.should include(*artifacts(TestFramework::TestNG::TESTNG_REQUIRES))
+ project("foo").test.requires.should include(*TestNG::REQUIRES)
+ project("foo").test.compile.dependencies.should include(*artifacts(TestNG::REQUIRES))
+ project("foo").test.dependencies.should include(*artifacts(TestNG::REQUIRES))
end
it "should include TestNG requirements" do
- project("foo").test.requires.should include(*TestFramework::JMock::JMOCK_REQUIRES)
- project("foo").test.compile.dependencies.should include(*artifacts(TestFramework::JMock::JMOCK_REQUIRES))
- project("foo").test.dependencies.should include(*artifacts(TestFramework::JMock::JMOCK_REQUIRES))
+ project("foo").test.requires.should include(*JMock::REQUIRES)
+ project("foo").test.compile.dependencies.should include(*artifacts(JMock::REQUIRES))
+ project("foo").test.dependencies.should include(*artifacts(JMock::REQUIRES))
end
it "should include classes starting with and ending with Test" do
@@ -693,17 +693,17 @@
describe Rake::Task, "junit:report" do
it "should default to the target directory reports/junit" do
- TestFramework::JUnit.report.target.should eql("reports/junit")
+ JUnit.report.target.should eql("reports/junit")
end
it "should generate report into the target directory" do
- TestFramework::JUnit.report.target = "test-report"
- lambda { task("junit:report").invoke }.should change { File.exist?(TestFramework::JUnit.report.target) }.to(true)
+ JUnit.report.target = "test-report"
+ lambda { task("junit:report").invoke }.should change { File.exist?(JUnit.report.target) }.to(true)
end
it "should clean after itself" do
- mkpath TestFramework::JUnit.report.target
- lambda { task("clean").invoke }.should change { File.exist?(TestFramework::JUnit.report.target) }.to(false)
+ mkpath JUnit.report.target
+ lambda { task("clean").invoke }.should change { File.exist?(JUnit.report.target) }.to(false)
end
it "should generate a consolidated XML report" do
@@ -711,17 +711,17 @@
end
it "should default to generating a report with frames" do
- TestFramework::JUnit.report.frames.should be_true
+ JUnit.report.frames.should be_true
end
it "should generate single page when frames is false" do
- TestFramework::JUnit.report.frames = false
+ JUnit.report.frames = false
task("junit:report").invoke
file("reports/junit/html/junit-noframes.html").should exist
end
it "should generate frame page when frames is false" do
- TestFramework::JUnit.report.frames = true
+ JUnit.report.frames = true
task("junit:report").invoke
file("reports/junit/html/index.html").should exist
end
@@ -736,7 +736,7 @@
end
after do
- TestFramework::JUnit.instance_eval { @report = nil }
+ JUnit.instance_eval { @report = nil }
end
end