From 5b1e26660c9bb329b7b35adb3fe61e663508a264 Mon Sep 17 00:00:00 2001 From: Mark Harrah Date: Fri, 18 Dec 2009 09:47:02 -0500 Subject: [PATCH] * Added source-dependency tests created when testing build manager * Updated remaining scripted tests for 0.6.x and new scripted framework- test/* tests need to be rewritten * removed FileUtilities.sbtJar since sbt is no longer one jar * updated PluginProject to work with 0.6.x --- project/build/SbtProject.scala | 2 +- src/main/scala/sbt/BuilderProject.scala | 4 +- src/main/scala/sbt/FileUtilities.scala | 2 - src/main/scala/sbt/WebApp.scala | 2 +- .../project/build/src/TestProject.scala | 6 -- .../run-test/src/main/scala/Foo.scala | 1 + .../configurations/changes/ivy/TestUse.scala | 6 +- .../changes/ivy/publish.build.properties | 3 - .../changes/ivy/use.build.properties | 3 - .../changes/maven/TestUse.scala | 6 +- .../changes/maven/use.build.properties | 3 - .../dependency-management/configurations/test | 17 +++-- .../exclude-transitive/test | 2 +- .../extra/changes/UseColor.scala | 2 +- .../extra/changes/build.properties | 3 - src/sbt-test/dependency-management/extra/test | 2 +- .../dependency-management/inherit-repo/test | 8 +-- .../dependency-management/inline-default/test | 2 +- .../module-confs/project/build/Test.scala | 2 + .../dependency-management/module-confs/test | 6 +- .../changes/LibTestProject.scala | 1 + .../project/build/LibTestProject.scala | 7 ++ src/sbt-test/project/Class.forName/test | 11 +-- .../project/build/src/FlatProject.scala | 2 +- src/sbt-test/project/flatten/test | 12 +--- .../project/lib/changes/LibTestProject.scala | 2 + .../project/lib/project/build/Test.scala | 7 ++ src/sbt-test/project/lib/test | 11 +-- .../multi/changes/SingleAndTraitProject.scala | 2 +- src/sbt-test/project/multi/test | 27 ++----- src/sbt-test/project/plugins/test | 3 +- .../project/src-plugins/changes/Plugins.scala | 13 ++++ .../src-plugins/changes/TestPlugin.scala | 6 ++ .../src-plugins/changes/UsePlugin.scala | 3 + .../src-plugins/project/build.properties | 3 + .../project/build/DefinePlugin.scala | 10 +++ src/sbt-test/project/src-plugins/test | 10 +++ .../source-dependencies/abstract-type/A.scala | 3 + .../source-dependencies/abstract-type/B.scala | 3 + .../abstract-type/changes/A.scala | 3 + .../abstract-type/project/build.properties | 3 + .../source-dependencies/abstract-type/test | 7 ++ src/sbt-test/source-dependencies/added/test | 23 ++---- .../source-dependencies/by-name/A.scala | 4 ++ .../source-dependencies/by-name/B.scala | 4 ++ .../by-name/changes/A.scala | 4 ++ .../by-name/project/build.properties | 3 + src/sbt-test/source-dependencies/by-name/test | 7 ++ .../default-params/A.scala | 5 ++ .../default-params/B.scala | 4 ++ .../default-params/changes/A.scala | 5 ++ .../default-params/project/build.properties | 3 + .../source-dependencies/default-params/test | 11 +++ src/sbt-test/source-dependencies/empty-a/test | 34 ++------- .../source-dependencies/erasure/A.scala | 3 + .../source-dependencies/erasure/B.scala | 3 + .../erasure/changes/A.scala | 3 + .../erasure/project/build.properties | 3 + src/sbt-test/source-dependencies/erasure/test | 4 ++ .../source-dependencies/false-error/A.scala | 4 ++ .../source-dependencies/false-error/B.scala | 3 + .../false-error/changes/A.scala | 4 ++ .../false-error/project/build.properties | 3 + .../source-dependencies/false-error/test | 5 ++ .../implicit-params/A.scala | 6 ++ .../implicit-params/B.scala | 4 ++ .../implicit-params/changes/A.scala | 6 ++ .../implicit-params/project/build.properties | 3 + .../source-dependencies/implicit-params/test | 8 +++ .../source-dependencies/implicit/A.scala | 4 ++ .../source-dependencies/implicit/B.scala | 4 ++ .../implicit/changes/A.scala | 4 ++ .../implicit/project/build.properties | 3 + .../source-dependencies/implicit/test | 7 ++ .../source-dependencies/import/A.scala | 1 + .../source-dependencies/import/B.scala | 1 + .../import/changes/A.scala | 1 + .../import/project/build.properties | 3 + src/sbt-test/source-dependencies/import/test | 8 +++ .../intermediate-error/A.scala | 6 ++ .../intermediate-error/B.scala | 4 ++ .../intermediate-error/changes/A2.scala | 6 ++ .../intermediate-error/changes/A3.scala | 6 ++ .../project/build.properties | 3 + .../intermediate-error/test | 7 ++ .../source-dependencies/java-basic/test | 35 +++------ .../source-dependencies/java-static/test | 18 ++--- .../source-dependencies/lazy-val/A.scala | 4 ++ .../source-dependencies/lazy-val/B.scala | 4 ++ .../lazy-val/changes/A.scala | 4 ++ .../lazy-val/project/build.properties | 3 + .../source-dependencies/lazy-val/test | 6 ++ .../source-dependencies/linearization/A.scala | 3 + .../source-dependencies/linearization/B.scala | 3 + .../source-dependencies/linearization/C.scala | 3 + .../source-dependencies/linearization/D.scala | 2 + .../source-dependencies/linearization/E.scala | 2 + .../source-dependencies/linearization/F.scala | 3 + .../linearization/changes/D.scala | 1 + .../linearization/project/build.properties | 3 + .../source-dependencies/linearization/test | 13 ++++ .../source-dependencies/named/A.scala | 3 + .../source-dependencies/named/B.scala | 7 ++ .../source-dependencies/named/changes/A.scala | 3 + .../named/project/build.properties | 3 + src/sbt-test/source-dependencies/named/test | 16 +++++ .../source-dependencies/new-cyclic/test | 8 +-- .../source-dependencies/parent-change/W.scala | 5 ++ .../source-dependencies/parent-change/Y.scala | 5 ++ .../source-dependencies/parent-change/Z.scala | 1 + .../parent-change/changes/W.scala | 5 ++ .../parent-change/project/build.properties | 3 + .../source-dependencies/parent-change/test | 7 ++ .../parent-member-change/A.scala | 3 + .../parent-member-change/B.scala | 1 + .../parent-member-change/C.scala | 3 + .../parent-member-change/changes/A.scala | 3 + .../project/build.properties | 3 + .../parent-member-change/test | 7 ++ .../qualified-access/A.scala | 10 +++ .../qualified-access/B.scala | 6 ++ .../qualified-access/changes/A.scala | 6 ++ .../qualified-access/project/build.properties | 3 + .../source-dependencies/qualified-access/test | 7 ++ .../source-dependencies/remove-test-a/test | 13 +--- .../source-dependencies/remove-test-b/test | 43 +++-------- .../repeated-parameters/A.scala | 4 ++ .../repeated-parameters/B.scala | 4 ++ .../repeated-parameters/changes/A.scala | 4 ++ .../project/build.properties | 3 + .../repeated-parameters/test | 7 ++ .../source-dependencies/replace-test-a/test | 22 ++---- .../source-dependencies/sealed/A.scala | 3 + .../source-dependencies/sealed/D.scala | 8 +++ .../sealed/changes/A.scala | 4 ++ .../sealed/project/build.properties | 3 + src/sbt-test/source-dependencies/sealed/test | 9 +++ .../source-dependencies/specialized/A.scala | 4 ++ .../source-dependencies/specialized/B.scala | 7 ++ .../specialized/changes/A.scala | 4 ++ .../specialized/project/build.properties | 3 + .../project/build/SpecializeTest.scala | 6 ++ .../source-dependencies/specialized/test | 16 +++++ .../stability-change/A.scala | 4 ++ .../stability-change/B.scala | 5 ++ .../stability-change/C.scala | 4 ++ .../stability-change/changes/A.scala | 4 ++ .../stability-change/project/build.properties | 3 + .../source-dependencies/stability-change/test | 6 ++ .../source-dependencies/struct-usage/A.scala | 3 + .../source-dependencies/struct-usage/B.scala | 3 + .../struct-usage/changes/A.scala | 3 + .../struct-usage/project/build.properties | 3 + .../source-dependencies/struct-usage/test | 5 ++ .../source-dependencies/struct/A.scala | 3 + .../source-dependencies/struct/B.scala | 4 ++ .../source-dependencies/struct/C.scala | 4 ++ .../struct/changes/A.scala | 3 + .../struct/project/build.properties | 3 + src/sbt-test/source-dependencies/struct/test | 6 ++ .../source-dependencies/transitive-a/test | 8 +-- .../source-dependencies/transitive-b/test | 8 +-- .../type-parameter/A.scala | 1 + .../type-parameter/B.scala | 1 + .../type-parameter/C.scala | 3 + .../type-parameter/D.scala | 3 + .../type-parameter/changes/A.scala | 1 + .../type-parameter/project/build.properties | 3 + .../source-dependencies/type-parameter/test | 7 ++ .../typeref-return/A.scala | 4 ++ .../typeref-return/B.scala | 3 + .../typeref-return/changes/A.scala | 4 ++ .../typeref-return/project/build.properties | 3 + .../source-dependencies/typeref-return/test | 5 ++ src/sbt-test/source-dependencies/var/A.scala | 5 ++ src/sbt-test/source-dependencies/var/B.scala | 4 ++ .../source-dependencies/var/changes/A.scala | 4 ++ .../var/project/build.properties | 3 + src/sbt-test/source-dependencies/var/test | 6 ++ .../source-dependencies/variance/A.scala | 2 + .../source-dependencies/variance/C.scala | 3 + .../variance/changes/A.scala | 2 + .../variance/project/build.properties | 3 + .../source-dependencies/variance/test | 6 ++ .../project/build}/TestProject.scala | 2 +- src/sbt-test/tests/Class.forName/test | 6 -- .../tests/extend/changes/ScalaCheck.scala | 41 ----------- .../tests/extend/changes/TestFailure.scala | 6 -- .../tests/extend/changes/TestProject2.scala | 8 --- .../tests/extend/changes/TestProject3.scala | 12 ---- .../tests/extend/changes/TestSuccess.scala | 6 -- .../tests/extend/project/build.properties | 5 -- .../project/build/src/TestProject.scala | 9 --- src/sbt-test/tests/extend/test | 72 ------------------- src/sbt-test/tests/resources/test | 5 +- .../scalacheck-a/changes/BasicTest.scala | 21 ------ .../scalacheck-a/changes/FailedTest.scala | 21 ------ .../scalacheck-a/project/build.properties | 4 -- .../project/build/src/TestProject.scala | 7 -- .../src/test/scala/DummyTest.scala | 2 - src/sbt-test/tests/scalacheck-a/test | 23 ------ .../scalatest-ignore/project/build.properties | 2 - .../scalatest-ignore/project/build/Test.scala | 7 -- .../src/test/scala/IgnoreTest.scala | 11 --- src/sbt-test/tests/scalatest-ignore/test | 5 -- .../tests/specs-a/changes/BasicTest.scala | 35 --------- .../tests/specs-a/changes/FailTest.scala | 36 ---------- .../tests/specs-a/project/build.properties | 4 -- .../project/build/src/TestProject.scala | 7 -- .../specs-a/src/test/scala/DummyTest.scala | 2 - src/sbt-test/tests/specs-a/test | 23 ------ .../specs-nested/project/build.properties | 4 -- .../src/test/scala/TestSpecification.scala | 19 ----- src/sbt-test/tests/specs-nested/test | 5 -- .../project/build/TestQuickProject.scala | 3 +- src/sbt-test/tests/test-failed/test | 24 ++----- 216 files changed, 768 insertions(+), 687 deletions(-) delete mode 100644 src/sbt-test/compiler-project/run-test/project/build/src/TestProject.scala delete mode 100644 src/sbt-test/dependency-management/configurations/changes/ivy/publish.build.properties delete mode 100644 src/sbt-test/dependency-management/configurations/changes/ivy/use.build.properties delete mode 100644 src/sbt-test/dependency-management/configurations/changes/maven/use.build.properties delete mode 100644 src/sbt-test/dependency-management/extra/changes/build.properties create mode 100644 src/sbt-test/project/Class.forName/project/build/LibTestProject.scala create mode 100644 src/sbt-test/project/lib/project/build/Test.scala create mode 100644 src/sbt-test/project/src-plugins/changes/Plugins.scala create mode 100644 src/sbt-test/project/src-plugins/changes/TestPlugin.scala create mode 100644 src/sbt-test/project/src-plugins/changes/UsePlugin.scala create mode 100644 src/sbt-test/project/src-plugins/project/build.properties create mode 100644 src/sbt-test/project/src-plugins/project/build/DefinePlugin.scala create mode 100644 src/sbt-test/project/src-plugins/test create mode 100644 src/sbt-test/source-dependencies/abstract-type/A.scala create mode 100644 src/sbt-test/source-dependencies/abstract-type/B.scala create mode 100644 src/sbt-test/source-dependencies/abstract-type/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/abstract-type/project/build.properties create mode 100644 src/sbt-test/source-dependencies/abstract-type/test create mode 100644 src/sbt-test/source-dependencies/by-name/A.scala create mode 100644 src/sbt-test/source-dependencies/by-name/B.scala create mode 100644 src/sbt-test/source-dependencies/by-name/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/by-name/project/build.properties create mode 100644 src/sbt-test/source-dependencies/by-name/test create mode 100644 src/sbt-test/source-dependencies/default-params/A.scala create mode 100644 src/sbt-test/source-dependencies/default-params/B.scala create mode 100644 src/sbt-test/source-dependencies/default-params/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/default-params/project/build.properties create mode 100644 src/sbt-test/source-dependencies/default-params/test create mode 100644 src/sbt-test/source-dependencies/erasure/A.scala create mode 100644 src/sbt-test/source-dependencies/erasure/B.scala create mode 100644 src/sbt-test/source-dependencies/erasure/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/erasure/project/build.properties create mode 100644 src/sbt-test/source-dependencies/erasure/test create mode 100644 src/sbt-test/source-dependencies/false-error/A.scala create mode 100644 src/sbt-test/source-dependencies/false-error/B.scala create mode 100644 src/sbt-test/source-dependencies/false-error/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/false-error/project/build.properties create mode 100644 src/sbt-test/source-dependencies/false-error/test create mode 100644 src/sbt-test/source-dependencies/implicit-params/A.scala create mode 100644 src/sbt-test/source-dependencies/implicit-params/B.scala create mode 100644 src/sbt-test/source-dependencies/implicit-params/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/implicit-params/project/build.properties create mode 100644 src/sbt-test/source-dependencies/implicit-params/test create mode 100644 src/sbt-test/source-dependencies/implicit/A.scala create mode 100644 src/sbt-test/source-dependencies/implicit/B.scala create mode 100644 src/sbt-test/source-dependencies/implicit/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/implicit/project/build.properties create mode 100644 src/sbt-test/source-dependencies/implicit/test create mode 100644 src/sbt-test/source-dependencies/import/A.scala create mode 100644 src/sbt-test/source-dependencies/import/B.scala create mode 100644 src/sbt-test/source-dependencies/import/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/import/project/build.properties create mode 100644 src/sbt-test/source-dependencies/import/test create mode 100644 src/sbt-test/source-dependencies/intermediate-error/A.scala create mode 100644 src/sbt-test/source-dependencies/intermediate-error/B.scala create mode 100644 src/sbt-test/source-dependencies/intermediate-error/changes/A2.scala create mode 100644 src/sbt-test/source-dependencies/intermediate-error/changes/A3.scala create mode 100644 src/sbt-test/source-dependencies/intermediate-error/project/build.properties create mode 100644 src/sbt-test/source-dependencies/intermediate-error/test create mode 100644 src/sbt-test/source-dependencies/lazy-val/A.scala create mode 100644 src/sbt-test/source-dependencies/lazy-val/B.scala create mode 100644 src/sbt-test/source-dependencies/lazy-val/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/lazy-val/project/build.properties create mode 100644 src/sbt-test/source-dependencies/lazy-val/test create mode 100644 src/sbt-test/source-dependencies/linearization/A.scala create mode 100644 src/sbt-test/source-dependencies/linearization/B.scala create mode 100644 src/sbt-test/source-dependencies/linearization/C.scala create mode 100644 src/sbt-test/source-dependencies/linearization/D.scala create mode 100644 src/sbt-test/source-dependencies/linearization/E.scala create mode 100644 src/sbt-test/source-dependencies/linearization/F.scala create mode 100644 src/sbt-test/source-dependencies/linearization/changes/D.scala create mode 100644 src/sbt-test/source-dependencies/linearization/project/build.properties create mode 100644 src/sbt-test/source-dependencies/linearization/test create mode 100644 src/sbt-test/source-dependencies/named/A.scala create mode 100644 src/sbt-test/source-dependencies/named/B.scala create mode 100644 src/sbt-test/source-dependencies/named/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/named/project/build.properties create mode 100644 src/sbt-test/source-dependencies/named/test create mode 100644 src/sbt-test/source-dependencies/parent-change/W.scala create mode 100644 src/sbt-test/source-dependencies/parent-change/Y.scala create mode 100644 src/sbt-test/source-dependencies/parent-change/Z.scala create mode 100644 src/sbt-test/source-dependencies/parent-change/changes/W.scala create mode 100644 src/sbt-test/source-dependencies/parent-change/project/build.properties create mode 100644 src/sbt-test/source-dependencies/parent-change/test create mode 100644 src/sbt-test/source-dependencies/parent-member-change/A.scala create mode 100644 src/sbt-test/source-dependencies/parent-member-change/B.scala create mode 100644 src/sbt-test/source-dependencies/parent-member-change/C.scala create mode 100644 src/sbt-test/source-dependencies/parent-member-change/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/parent-member-change/project/build.properties create mode 100644 src/sbt-test/source-dependencies/parent-member-change/test create mode 100644 src/sbt-test/source-dependencies/qualified-access/A.scala create mode 100644 src/sbt-test/source-dependencies/qualified-access/B.scala create mode 100644 src/sbt-test/source-dependencies/qualified-access/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/qualified-access/project/build.properties create mode 100644 src/sbt-test/source-dependencies/qualified-access/test create mode 100644 src/sbt-test/source-dependencies/repeated-parameters/A.scala create mode 100644 src/sbt-test/source-dependencies/repeated-parameters/B.scala create mode 100644 src/sbt-test/source-dependencies/repeated-parameters/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/repeated-parameters/project/build.properties create mode 100644 src/sbt-test/source-dependencies/repeated-parameters/test create mode 100644 src/sbt-test/source-dependencies/sealed/A.scala create mode 100644 src/sbt-test/source-dependencies/sealed/D.scala create mode 100644 src/sbt-test/source-dependencies/sealed/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/sealed/project/build.properties create mode 100644 src/sbt-test/source-dependencies/sealed/test create mode 100644 src/sbt-test/source-dependencies/specialized/A.scala create mode 100644 src/sbt-test/source-dependencies/specialized/B.scala create mode 100644 src/sbt-test/source-dependencies/specialized/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/specialized/project/build.properties create mode 100644 src/sbt-test/source-dependencies/specialized/project/build/SpecializeTest.scala create mode 100644 src/sbt-test/source-dependencies/specialized/test create mode 100644 src/sbt-test/source-dependencies/stability-change/A.scala create mode 100644 src/sbt-test/source-dependencies/stability-change/B.scala create mode 100644 src/sbt-test/source-dependencies/stability-change/C.scala create mode 100644 src/sbt-test/source-dependencies/stability-change/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/stability-change/project/build.properties create mode 100644 src/sbt-test/source-dependencies/stability-change/test create mode 100644 src/sbt-test/source-dependencies/struct-usage/A.scala create mode 100644 src/sbt-test/source-dependencies/struct-usage/B.scala create mode 100644 src/sbt-test/source-dependencies/struct-usage/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/struct-usage/project/build.properties create mode 100644 src/sbt-test/source-dependencies/struct-usage/test create mode 100644 src/sbt-test/source-dependencies/struct/A.scala create mode 100644 src/sbt-test/source-dependencies/struct/B.scala create mode 100644 src/sbt-test/source-dependencies/struct/C.scala create mode 100644 src/sbt-test/source-dependencies/struct/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/struct/project/build.properties create mode 100644 src/sbt-test/source-dependencies/struct/test create mode 100644 src/sbt-test/source-dependencies/type-parameter/A.scala create mode 100644 src/sbt-test/source-dependencies/type-parameter/B.scala create mode 100644 src/sbt-test/source-dependencies/type-parameter/C.scala create mode 100644 src/sbt-test/source-dependencies/type-parameter/D.scala create mode 100644 src/sbt-test/source-dependencies/type-parameter/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/type-parameter/project/build.properties create mode 100644 src/sbt-test/source-dependencies/type-parameter/test create mode 100644 src/sbt-test/source-dependencies/typeref-return/A.scala create mode 100644 src/sbt-test/source-dependencies/typeref-return/B.scala create mode 100644 src/sbt-test/source-dependencies/typeref-return/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/typeref-return/project/build.properties create mode 100644 src/sbt-test/source-dependencies/typeref-return/test create mode 100644 src/sbt-test/source-dependencies/var/A.scala create mode 100644 src/sbt-test/source-dependencies/var/B.scala create mode 100644 src/sbt-test/source-dependencies/var/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/var/project/build.properties create mode 100644 src/sbt-test/source-dependencies/var/test create mode 100644 src/sbt-test/source-dependencies/variance/A.scala create mode 100644 src/sbt-test/source-dependencies/variance/C.scala create mode 100644 src/sbt-test/source-dependencies/variance/changes/A.scala create mode 100644 src/sbt-test/source-dependencies/variance/project/build.properties create mode 100644 src/sbt-test/source-dependencies/variance/test rename src/sbt-test/tests/{specs-nested/project/build/src => Class.forName/project/build}/TestProject.scala (61%) mode change 100755 => 100644 delete mode 100644 src/sbt-test/tests/extend/changes/ScalaCheck.scala delete mode 100644 src/sbt-test/tests/extend/changes/TestFailure.scala delete mode 100644 src/sbt-test/tests/extend/changes/TestProject2.scala delete mode 100644 src/sbt-test/tests/extend/changes/TestProject3.scala delete mode 100644 src/sbt-test/tests/extend/changes/TestSuccess.scala delete mode 100644 src/sbt-test/tests/extend/project/build.properties delete mode 100644 src/sbt-test/tests/extend/project/build/src/TestProject.scala delete mode 100644 src/sbt-test/tests/extend/test delete mode 100755 src/sbt-test/tests/scalacheck-a/changes/BasicTest.scala delete mode 100755 src/sbt-test/tests/scalacheck-a/changes/FailedTest.scala delete mode 100755 src/sbt-test/tests/scalacheck-a/project/build.properties delete mode 100755 src/sbt-test/tests/scalacheck-a/project/build/src/TestProject.scala delete mode 100755 src/sbt-test/tests/scalacheck-a/src/test/scala/DummyTest.scala delete mode 100755 src/sbt-test/tests/scalacheck-a/test delete mode 100644 src/sbt-test/tests/scalatest-ignore/project/build.properties delete mode 100644 src/sbt-test/tests/scalatest-ignore/project/build/Test.scala delete mode 100644 src/sbt-test/tests/scalatest-ignore/src/test/scala/IgnoreTest.scala delete mode 100644 src/sbt-test/tests/scalatest-ignore/test delete mode 100755 src/sbt-test/tests/specs-a/changes/BasicTest.scala delete mode 100755 src/sbt-test/tests/specs-a/changes/FailTest.scala delete mode 100755 src/sbt-test/tests/specs-a/project/build.properties delete mode 100755 src/sbt-test/tests/specs-a/project/build/src/TestProject.scala delete mode 100755 src/sbt-test/tests/specs-a/src/test/scala/DummyTest.scala delete mode 100755 src/sbt-test/tests/specs-a/test delete mode 100755 src/sbt-test/tests/specs-nested/project/build.properties delete mode 100755 src/sbt-test/tests/specs-nested/src/test/scala/TestSpecification.scala delete mode 100755 src/sbt-test/tests/specs-nested/test diff --git a/project/build/SbtProject.scala b/project/build/SbtProject.scala index c5506e9c5..4b8817504 100644 --- a/project/build/SbtProject.scala +++ b/project/build/SbtProject.scala @@ -53,7 +53,7 @@ class SbtProject(info: ProjectInfo) extends DefaultProject(info) with test.SbtSc //testing val scalacheck = "org.scala-tools.testing" %% "scalacheck" % "1.6" - val ivy = "org.apache.ivy" % "ivy" % "2.0.0" intransitive() + val ivy = "org.apache.ivy" % "ivy" % "2.1.0" intransitive() val jsch = "com.jcraft" % "jsch" % "0.1.31" intransitive() val jetty = "org.mortbay.jetty" % "jetty" % "6.1.14" % "optional" diff --git a/src/main/scala/sbt/BuilderProject.scala b/src/main/scala/sbt/BuilderProject.scala index 4483c7117..611180c40 100644 --- a/src/main/scala/sbt/BuilderProject.scala +++ b/src/main/scala/sbt/BuilderProject.scala @@ -210,7 +210,9 @@ class PluginDefinition(val info: ProjectInfo) extends InternalProject with Basic } class PluginProject(info: ProjectInfo) extends DefaultProject(info) { - override def unmanagedClasspath = super.unmanagedClasspath +++ Path.lazyPathFinder(Path.fromFile(FileUtilities.sbtJar) :: Nil) + override def moduleID = normalizedName + override def buildScalaVersion = defScalaVersion.value + override def unmanagedClasspath = super.unmanagedClasspath +++ Path.lazyPathFinder(info.app.mainClasspath.map(Path.fromFile)) override def packageAction = packageSrc dependsOn(test) override def packageSrcJar = jarPath override def useMavenConfigurations = true diff --git a/src/main/scala/sbt/FileUtilities.scala b/src/main/scala/sbt/FileUtilities.scala index 4174d9ab6..0ad0d2c9b 100644 --- a/src/main/scala/sbt/FileUtilities.scala +++ b/src/main/scala/sbt/FileUtilities.scala @@ -806,8 +806,6 @@ object FileUtilities def classLocation[T](implicit mf: scala.reflect.Manifest[T]): URL = classLocation(mf.erasure) def classLocationFile[T](implicit mf: scala.reflect.Manifest[T]): File = classLocationFile(mf.erasure) - /** The location of the jar containing this class.*/ - lazy val sbtJar: File = classLocationFile(getClass) lazy val scalaLibraryJar: File = classLocationFile[scala.ScalaObject] lazy val scalaCompilerJar: File = classLocationFile[scala.tools.nsc.Settings] def scalaJars: Iterable[File] = List(scalaLibraryJar, scalaCompilerJar) diff --git a/src/main/scala/sbt/WebApp.scala b/src/main/scala/sbt/WebApp.scala index 29f38d357..d8b748b99 100644 --- a/src/main/scala/sbt/WebApp.scala +++ b/src/main/scala/sbt/WebApp.scala @@ -33,7 +33,7 @@ class JettyRunner(configuration: JettyConfiguration) extends ExitHook val baseLoader = this.getClass.getClassLoader val classpathURLs = jettyClasspath.get.map(_.asURL).toSeq val loader: ClassLoader = new java.net.URLClassLoader(classpathURLs.toArray, baseLoader) - val lazyLoader = new LazyFrameworkLoader(implClassName, Array(FileUtilities.sbtJar.toURI.toURL), loader, baseLoader) + val lazyLoader = new LazyFrameworkLoader(implClassName, Array(FileUtilities.classLocation[Stoppable].toURI.toURL), loader, baseLoader) val runner = ModuleUtilities.getObject(implClassName, lazyLoader).asInstanceOf[JettyRun] runner(configuration) } diff --git a/src/sbt-test/compiler-project/run-test/project/build/src/TestProject.scala b/src/sbt-test/compiler-project/run-test/project/build/src/TestProject.scala deleted file mode 100644 index e08ad8e61..000000000 --- a/src/sbt-test/compiler-project/run-test/project/build/src/TestProject.scala +++ /dev/null @@ -1,6 +0,0 @@ -import sbt._ - -class TestProject(info: ProjectInfo) extends DefaultProject(info) -{ - override def unmanagedClasspath = super.unmanagedClasspath +++ Path.fromFile(FileUtilities.sbtJar) -} diff --git a/src/sbt-test/compiler-project/run-test/src/main/scala/Foo.scala b/src/sbt-test/compiler-project/run-test/src/main/scala/Foo.scala index b81426eb7..875399679 100644 --- a/src/sbt-test/compiler-project/run-test/src/main/scala/Foo.scala +++ b/src/sbt-test/compiler-project/run-test/src/main/scala/Foo.scala @@ -10,6 +10,7 @@ import scala.tools.nsc.{Interpreter, Settings} class Foo { val settings = new Settings() settings.classpath.value = location(classOf[Holder]) + settings.bootclasspath.value = settings.bootclasspath.value + File.pathSeparator + location(classOf[ScalaObject]) val inter = new Interpreter(settings) def eval(code: String): Any = { diff --git a/src/sbt-test/dependency-management/configurations/changes/ivy/TestUse.scala b/src/sbt-test/dependency-management/configurations/changes/ivy/TestUse.scala index 01ad76516..2d71feffd 100644 --- a/src/sbt-test/dependency-management/configurations/changes/ivy/TestUse.scala +++ b/src/sbt-test/dependency-management/configurations/changes/ivy/TestUse.scala @@ -5,7 +5,7 @@ class TestUse(info: ProjectInfo) extends DefaultProject(info) { override def managedStyle = ManagedStyle.Ivy val publishTo = Resolver.file("test-repo", path("repo").asFile)(Patterns(false, Resolver.mavenStyleBasePattern)) - val mavenC = "org.example" % "test-ivy" % "1.0" - val mavenT = "org.example" % "test-ivy" % "1.0" % "test" - val mavenR = "org.example" % "test-ivy" % "1.0" % "runtime" + val mavenC = "org.example" %% "test-ivy" % "1.0" + val mavenT = "org.example" %% "test-ivy" % "1.0" % "test" + val mavenR = "org.example" %% "test-ivy" % "1.0" % "runtime" } \ No newline at end of file diff --git a/src/sbt-test/dependency-management/configurations/changes/ivy/publish.build.properties b/src/sbt-test/dependency-management/configurations/changes/ivy/publish.build.properties deleted file mode 100644 index 067fa5e0a..000000000 --- a/src/sbt-test/dependency-management/configurations/changes/ivy/publish.build.properties +++ /dev/null @@ -1,3 +0,0 @@ -project.name=test-ivy -project.organization=org.example -project.version=1.0 \ No newline at end of file diff --git a/src/sbt-test/dependency-management/configurations/changes/ivy/use.build.properties b/src/sbt-test/dependency-management/configurations/changes/ivy/use.build.properties deleted file mode 100644 index cd8b539bd..000000000 --- a/src/sbt-test/dependency-management/configurations/changes/ivy/use.build.properties +++ /dev/null @@ -1,3 +0,0 @@ -project.name=test-ivy-use -project.organization=test -project.version=1.0 \ No newline at end of file diff --git a/src/sbt-test/dependency-management/configurations/changes/maven/TestUse.scala b/src/sbt-test/dependency-management/configurations/changes/maven/TestUse.scala index 49208bbd8..fa8b7b6dc 100644 --- a/src/sbt-test/dependency-management/configurations/changes/maven/TestUse.scala +++ b/src/sbt-test/dependency-management/configurations/changes/maven/TestUse.scala @@ -4,7 +4,7 @@ import sbt._ class TestUse(info: ProjectInfo) extends DefaultProject(info) { val publishTo = Resolver.file("test-repo", path("repo").asFile) - val mavenC = "org.example" % "test" % "1.0" - val mavenT = "org.example" % "test" % "1.0" % "test" - val mavenR = "org.example" % "test" % "1.0" % "runtime" + val mavenC = "org.example" %% "test" % "1.0" + val mavenT = "org.example" %% "test" % "1.0" % "test" + val mavenR = "org.example" %% "test" % "1.0" % "runtime" } \ No newline at end of file diff --git a/src/sbt-test/dependency-management/configurations/changes/maven/use.build.properties b/src/sbt-test/dependency-management/configurations/changes/maven/use.build.properties deleted file mode 100644 index 85cb472ff..000000000 --- a/src/sbt-test/dependency-management/configurations/changes/maven/use.build.properties +++ /dev/null @@ -1,3 +0,0 @@ -project.name=test-use -project.organization=test -project.version=1.0 \ No newline at end of file diff --git a/src/sbt-test/dependency-management/configurations/test b/src/sbt-test/dependency-management/configurations/test index 4b534066b..8d3a67f5b 100644 --- a/src/sbt-test/dependency-management/configurations/test +++ b/src/sbt-test/dependency-management/configurations/test @@ -2,12 +2,14 @@ $ copy-file changes/maven/Published.scala src/main/scala/Published.scala > publish -$ delete src project lib_managed + # get and compile against each published jar with managedStyle = ManagedStyle.Maven +> set project.name test-use +> set project.organization test +$ delete src project/build lib_managed $ copy-file changes/maven/TestUse.scala project/build/TestUse.scala -$ copy-file changes/maven/use.build.properties project/build.properties > reload $ copy-file changes/maven/Use.scala src/main/scala/Use.scala @@ -15,12 +17,12 @@ $ copy-file changes/maven/Use.scala src/main/scala/Use.scala > update > compile -$ delete src project lib_managed repo # publish a jar with PublishedIvy with managedStyle = ManagedStyle.Ivy - -$ copy-file changes/ivy/publish.build.properties project/build.properties +> set project.name test-ivy +> set project.organization org.example +$ delete src project/build lib_managed repo $ copy-file changes/ivy/TestPublish.scala project/build/TestPublish.scala > reload $ copy-file changes/ivy/Published.scala src/main/scala/Published.scala @@ -28,9 +30,10 @@ $ copy-file changes/ivy/Published.scala src/main/scala/Published.scala # get and compile against each published jar with managedStyle = ManagedStyle.Ivy -$ delete src project lib_managed +> set project.name test-ivy-use +> set project.organization test +$ delete src project/build lib_managed $ copy-file changes/ivy/TestUse.scala project/build/TestUse.scala -$ copy-file changes/ivy/use.build.properties project/build.properties > reload $ copy-file changes/ivy/Use.scala src/main/scala/Use.scala diff --git a/src/sbt-test/dependency-management/exclude-transitive/test b/src/sbt-test/dependency-management/exclude-transitive/test index b55595ca6..3911dabf1 100644 --- a/src/sbt-test/dependency-management/exclude-transitive/test +++ b/src/sbt-test/dependency-management/exclude-transitive/test @@ -2,7 +2,7 @@ # and check that they are not downloaded $ touch transitive -$ reload +> reload > update diff --git a/src/sbt-test/dependency-management/extra/changes/UseColor.scala b/src/sbt-test/dependency-management/extra/changes/UseColor.scala index 79639ab5e..4371704fd 100644 --- a/src/sbt-test/dependency-management/extra/changes/UseColor.scala +++ b/src/sbt-test/dependency-management/extra/changes/UseColor.scala @@ -9,6 +9,6 @@ class UseColor(info: ProjectInfo) extends DefaultProject(info) val repo = Resolver.file("test-repo", ("repo" / "test").asFile) def color = FileUtilities.readString("color".asFile, log).right.getOrElse(error("No color specified")) override def libraryDependencies = Set( - "org.scala-tools.sbt" % "test-ivy-extra" %"1.0" extra("e:color" -> color) + "org.scala-tools.sbt" %% "test-ivy-extra" %"1.0" extra("e:color" -> color) ) } \ No newline at end of file diff --git a/src/sbt-test/dependency-management/extra/changes/build.properties b/src/sbt-test/dependency-management/extra/changes/build.properties deleted file mode 100644 index e0c0892fb..000000000 --- a/src/sbt-test/dependency-management/extra/changes/build.properties +++ /dev/null @@ -1,3 +0,0 @@ -project.name=UseColor -project.version=1.0 -project.organization=org.scala-tools.sbt \ No newline at end of file diff --git a/src/sbt-test/dependency-management/extra/test b/src/sbt-test/dependency-management/extra/test index 1c3192000..1d6137036 100644 --- a/src/sbt-test/dependency-management/extra/test +++ b/src/sbt-test/dependency-management/extra/test @@ -1,9 +1,9 @@ > publish +> set project.name UseColor $ delete project/build/ $ copy-file changes/UseColor.scala project/build/UseColor.scala $ copy-file changes/blue color -$ copy-file changes/build.properties project/build.properties > reload -> update diff --git a/src/sbt-test/dependency-management/inherit-repo/test b/src/sbt-test/dependency-management/inherit-repo/test index 5f48617db..e35eedd79 100644 --- a/src/sbt-test/dependency-management/inherit-repo/test +++ b/src/sbt-test/dependency-management/inherit-repo/test @@ -1,21 +1,21 @@ # This should fail because the sub project declares a dependency that exists in an extra repository, which we haven't declared -> update +-> update # Copy the project definition with the extra repository declared in the parent and reload $ copy-file changes/CorrectProject.scala project/build/src/TestProject.scala -$ reload +> reload # Try updating again, which should work because the repository declared in the parent should be inherited by the child > update # Copy the project definition with the extra repository declared in the child and parent and reload $ copy-file changes/CorrectProject2.scala project/build/src/TestProject.scala -$ reload +> reload > update # Copy the project definition with the extra repository declared in the child and reload $ copy-file changes/CorrectProject3.scala project/build/src/TestProject.scala -$ reload +> reload > update \ No newline at end of file diff --git a/src/sbt-test/dependency-management/inline-default/test b/src/sbt-test/dependency-management/inline-default/test index e7c024b64..589a667a1 100644 --- a/src/sbt-test/dependency-management/inline-default/test +++ b/src/sbt-test/dependency-management/inline-default/test @@ -21,7 +21,7 @@ $ touch useDefaultConfigurations # Reload for change to take effect -$ reload +> reload ## Rerun test with useDefaultConfigurations=true diff --git a/src/sbt-test/dependency-management/module-confs/project/build/Test.scala b/src/sbt-test/dependency-management/module-confs/project/build/Test.scala index c1ea79b6e..83b398a03 100644 --- a/src/sbt-test/dependency-management/module-confs/project/build/Test.scala +++ b/src/sbt-test/dependency-management/module-confs/project/build/Test.scala @@ -11,4 +11,6 @@ class Test(info: ProjectInfo) extends DefaultProject(info) val uniqueScala = "org.scala-lang" % "scala-compiler" % "2.8.0-20091017.011744-240" val otherDep = "org.scala-tools.sxr" % "sxr_2.7.5" % "0.2.3" + + override def checkExplicitScalaDependencies = false } \ No newline at end of file diff --git a/src/sbt-test/dependency-management/module-confs/test b/src/sbt-test/dependency-management/module-confs/test index 3c5aaf79b..16466a54b 100644 --- a/src/sbt-test/dependency-management/module-confs/test +++ b/src/sbt-test/dependency-management/module-confs/test @@ -2,13 +2,13 @@ > clean $ copy-file changes/WrongOrg.scala project/build/Test.scala -$ reload +> reload -> update $ copy-file changes/WrongVersion.scala project/build/Test.scala -$ reload +> reload -> update $ copy-file changes/WrongPattern.scala project/build/Test.scala -$ reload +> reload -> update diff --git a/src/sbt-test/project/Class.forName/changes/LibTestProject.scala b/src/sbt-test/project/Class.forName/changes/LibTestProject.scala index 121545671..19d6398aa 100644 --- a/src/sbt-test/project/Class.forName/changes/LibTestProject.scala +++ b/src/sbt-test/project/Class.forName/changes/LibTestProject.scala @@ -3,4 +3,5 @@ import sbt._ class LibTestProject(info: ProjectInfo) extends DefaultProject(info) { lazy val useJar = task { injar.Test.other; None } + override def disableCrossPaths = true } \ No newline at end of file diff --git a/src/sbt-test/project/Class.forName/project/build/LibTestProject.scala b/src/sbt-test/project/Class.forName/project/build/LibTestProject.scala new file mode 100644 index 000000000..be902da1b --- /dev/null +++ b/src/sbt-test/project/Class.forName/project/build/LibTestProject.scala @@ -0,0 +1,7 @@ +import sbt._ + +class LibTestProject(info: ProjectInfo) extends DefaultProject(info) +{ + override def disableCrossPaths = true + override def buildScalaVersion = defScalaVersion.value +} \ No newline at end of file diff --git a/src/sbt-test/project/Class.forName/test b/src/sbt-test/project/Class.forName/test index 00c356c76..a9aeccdfd 100644 --- a/src/sbt-test/project/Class.forName/test +++ b/src/sbt-test/project/Class.forName/test @@ -1,19 +1,14 @@ # this step builds a test jar for use by the project definition > package -[success] +$ delete project/build $ copy-file target/definition-lib-forname-test-1.0.jar project/build/lib/test.jar -[success] - $ copy-file changes/LibTestProject.scala project/build/src/LibTestProject.scala -[success] # the copied project definition depends on the Test module in test.jar and will # fail to compile if sbt did not put the jars in project/build/lib/ on the compile classpath -$ reload -[success] +> reload # The project definition uses the class in test.jar and will fail here if sbt did not put the # jars in project/build/lib on the runtime classpath -> use-jar -[success] \ No newline at end of file +> use-jar \ No newline at end of file diff --git a/src/sbt-test/project/flatten/project/build/src/FlatProject.scala b/src/sbt-test/project/flatten/project/build/src/FlatProject.scala index abafb603e..f9cb648fc 100644 --- a/src/sbt-test/project/flatten/project/build/src/FlatProject.scala +++ b/src/sbt-test/project/flatten/project/build/src/FlatProject.scala @@ -3,7 +3,7 @@ import sbt._ class FlatProject(info: ProjectInfo) extends DefaultProject(info) { override def useMavenConfigurations = true - val sc = "org.scalacheck" % "scalacheck" % "1.5" % "test->default" + val sc = "org.scalacheck" % "scalacheck" % "1.5" % "test" def sourceFilter = "*.java" | "*.scala" override def mainSources = descendents(sourcePath ##, sourceFilter) diff --git a/src/sbt-test/project/flatten/test b/src/sbt-test/project/flatten/test index 0b85c1c16..f3588fbb2 100644 --- a/src/sbt-test/project/flatten/test +++ b/src/sbt-test/project/flatten/test @@ -1,25 +1,19 @@ +> ++2.7.7 + # This test verifies that sbt works after the source hierarchy has been flattened and merged # so that resources and Java and Scala sources are side by side under src/ > update -[success] - > test -[success] # This part verifies that the package-src action works properly under a flattened/merged source hierarchy > package-project -[success] $ delete src -[success] -> test -[failure] +-> test > unpackage-project -[success] > test -[success] diff --git a/src/sbt-test/project/lib/changes/LibTestProject.scala b/src/sbt-test/project/lib/changes/LibTestProject.scala index c586969ae..3bb540a96 100644 --- a/src/sbt-test/project/lib/changes/LibTestProject.scala +++ b/src/sbt-test/project/lib/changes/LibTestProject.scala @@ -2,5 +2,7 @@ import sbt._ class LibTestProject(info: ProjectInfo) extends DefaultProject(info) { + override def disableCrossPaths = true + override def buildScalaVersion = defScalaVersion.value lazy val useJar = task { injar.Test.foo } } \ No newline at end of file diff --git a/src/sbt-test/project/lib/project/build/Test.scala b/src/sbt-test/project/lib/project/build/Test.scala new file mode 100644 index 000000000..f240876d6 --- /dev/null +++ b/src/sbt-test/project/lib/project/build/Test.scala @@ -0,0 +1,7 @@ +import sbt._ + +class Test(info: ProjectInfo) extends DefaultProject(info) +{ + override def disableCrossPaths = true + override def buildScalaVersion = defScalaVersion.value +} \ No newline at end of file diff --git a/src/sbt-test/project/lib/test b/src/sbt-test/project/lib/test index a6870d084..3975db53a 100644 --- a/src/sbt-test/project/lib/test +++ b/src/sbt-test/project/lib/test @@ -1,19 +1,14 @@ # this step builds a test jar for use by the project definition > package -[success] +$ delete project/build $ copy-file target/definition-lib-test-1.0.jar project/build/lib/test.jar -[success] - $ copy-file changes/LibTestProject.scala project/build/src/LibTestProject.scala -[success] # the copied project definition depends on the Test module in test.jar and will # fail to compile if sbt did not put the jars in project/build/lib/ on the compile classpath -$ reload -[success] +> reload # The project definition uses the class in test.jar and will fail here if sbt did not put the # jars in project/build/lib on the runtime classpath -> use-jar -[success] \ No newline at end of file +> use-jar \ No newline at end of file diff --git a/src/sbt-test/project/multi/changes/SingleAndTraitProject.scala b/src/sbt-test/project/multi/changes/SingleAndTraitProject.scala index 503b434d1..00c1b8ee1 100644 --- a/src/sbt-test/project/multi/changes/SingleAndTraitProject.scala +++ b/src/sbt-test/project/multi/changes/SingleAndTraitProject.scala @@ -6,4 +6,4 @@ class TestProject(info: ProjectInfo) extends DefaultProject(info) trait NotAProject extends Project abstract class AnotherNonProject extends Project -object YetAnotherNonProject extends DefaultProject(ProjectInfo(new java.io.File("."), Nil, None)(new ConsoleLogger)) \ No newline at end of file +object YetAnotherNonProject extends DefaultProject(error("Shouldn't be called")) \ No newline at end of file diff --git a/src/sbt-test/project/multi/test b/src/sbt-test/project/multi/test index 317a22840..a637b54d5 100644 --- a/src/sbt-test/project/multi/test +++ b/src/sbt-test/project/multi/test @@ -1,31 +1,16 @@ # There should be no ambiguity with a single project definition $ copy-file changes/SingleProject.scala project/build/src/TestProject.scala -[success] - -$ reload -[success] +> reload # Again, no ambiguity with a single project definition and any number of abstract classes/traits implementing Project - $ copy-file changes/SingleAndTraitProject.scala project/build/src/TestProject.scala -[success] - -$ reload -[success] - -# Multiple public projects should be an error - -$ copy-file changes/MultiProject.scala project/build/src/TestProject.scala -[success] - -$ reload -[failure] +> reload # One public project and any number of non-public projects should not be an error - $ copy-file changes/SinglePublicProject.scala project/build/src/TestProject.scala -[success] +> reload -$ reload -[success] +# Multiple public projects should be an error +$ copy-file changes/MultiProject.scala project/build/src/TestProject.scala +-> reload \ No newline at end of file diff --git a/src/sbt-test/project/plugins/test b/src/sbt-test/project/plugins/test index f9d588aa7..a5912a391 100644 --- a/src/sbt-test/project/plugins/test +++ b/src/sbt-test/project/plugins/test @@ -1,2 +1 @@ -> check -[success] \ No newline at end of file +> check \ No newline at end of file diff --git a/src/sbt-test/project/src-plugins/changes/Plugins.scala b/src/sbt-test/project/src-plugins/changes/Plugins.scala new file mode 100644 index 000000000..20f91dc6e --- /dev/null +++ b/src/sbt-test/project/src-plugins/changes/Plugins.scala @@ -0,0 +1,13 @@ +import sbt._ + +class Plugins(info: ProjectInfo) extends PluginDefinition(info) +{ + def ivyCacheDirectory = outputPath / "ivy-cache" + override def updateOptions = CacheDirectory(ivyCacheDirectory) :: super.updateOptions.toList + + override def managedStyle = ManagedStyle.Ivy + def projectRoot = Path.fromFile(info.projectPath.asFile.getParentFile.getParentFile) + val publishTo = Resolver.file("test-repo", (projectRoot /"repo" / "test").asFile) + + val plug = "test" % "plugins-test" % "1.0" +} \ No newline at end of file diff --git a/src/sbt-test/project/src-plugins/changes/TestPlugin.scala b/src/sbt-test/project/src-plugins/changes/TestPlugin.scala new file mode 100644 index 000000000..19e043b1f --- /dev/null +++ b/src/sbt-test/project/src-plugins/changes/TestPlugin.scala @@ -0,0 +1,6 @@ +import sbt._ + +trait TestPlugin extends DefaultProject +{ + lazy val check = task { log.info("Test action"); None } +} \ No newline at end of file diff --git a/src/sbt-test/project/src-plugins/changes/UsePlugin.scala b/src/sbt-test/project/src-plugins/changes/UsePlugin.scala new file mode 100644 index 000000000..0feff6898 --- /dev/null +++ b/src/sbt-test/project/src-plugins/changes/UsePlugin.scala @@ -0,0 +1,3 @@ +import sbt._ + +class UsePlugin(info: ProjectInfo) extends DefaultProject(info) with TestPlugin \ No newline at end of file diff --git a/src/sbt-test/project/src-plugins/project/build.properties b/src/sbt-test/project/src-plugins/project/build.properties new file mode 100644 index 000000000..6915dc797 --- /dev/null +++ b/src/sbt-test/project/src-plugins/project/build.properties @@ -0,0 +1,3 @@ +project.version=1.0 +project.name=Plugins Test +project.organization=test \ No newline at end of file diff --git a/src/sbt-test/project/src-plugins/project/build/DefinePlugin.scala b/src/sbt-test/project/src-plugins/project/build/DefinePlugin.scala new file mode 100644 index 000000000..7f063b03f --- /dev/null +++ b/src/sbt-test/project/src-plugins/project/build/DefinePlugin.scala @@ -0,0 +1,10 @@ +import sbt._ + +class DefinePlugin(info: ProjectInfo) extends PluginProject(info) +{ + def ivyCacheDirectory = outputPath / "ivy-cache" + override def updateOptions = CacheDirectory(ivyCacheDirectory) :: super.updateOptions.toList + + override def managedStyle = ManagedStyle.Ivy + val publishTo = Resolver.file("test-repo", ("repo" / "test").asFile) +} \ No newline at end of file diff --git a/src/sbt-test/project/src-plugins/test b/src/sbt-test/project/src-plugins/test new file mode 100644 index 000000000..93b1260a4 --- /dev/null +++ b/src/sbt-test/project/src-plugins/test @@ -0,0 +1,10 @@ +$ copy-file changes/TestPlugin.scala src/main/scala/TestPlugin.scala +> publish + +> set project.name use-plugin-test +$ delete project/build +$ copy-file changes/Plugins.scala project/plugins/Plugins.scala +$ copy-file changes/UsePlugin.scala project/build/UsePlugin.scala + +> reload +> check \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/abstract-type/A.scala b/src/sbt-test/source-dependencies/abstract-type/A.scala new file mode 100644 index 000000000..08c21e380 --- /dev/null +++ b/src/sbt-test/source-dependencies/abstract-type/A.scala @@ -0,0 +1,3 @@ +trait A { + type S[_] +} diff --git a/src/sbt-test/source-dependencies/abstract-type/B.scala b/src/sbt-test/source-dependencies/abstract-type/B.scala new file mode 100644 index 000000000..c6fa33d89 --- /dev/null +++ b/src/sbt-test/source-dependencies/abstract-type/B.scala @@ -0,0 +1,3 @@ +trait B extends A { + type F = S[Int] +} diff --git a/src/sbt-test/source-dependencies/abstract-type/changes/A.scala b/src/sbt-test/source-dependencies/abstract-type/changes/A.scala new file mode 100644 index 000000000..7d5c095b4 --- /dev/null +++ b/src/sbt-test/source-dependencies/abstract-type/changes/A.scala @@ -0,0 +1,3 @@ +trait A { + type S +} diff --git a/src/sbt-test/source-dependencies/abstract-type/project/build.properties b/src/sbt-test/source-dependencies/abstract-type/project/build.properties new file mode 100644 index 000000000..5206c1758 --- /dev/null +++ b/src/sbt-test/source-dependencies/abstract-type/project/build.properties @@ -0,0 +1,3 @@ +project.name=abstract-type +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/abstract-type/test b/src/sbt-test/source-dependencies/abstract-type/test new file mode 100644 index 000000000..a5dd8502d --- /dev/null +++ b/src/sbt-test/source-dependencies/abstract-type/test @@ -0,0 +1,7 @@ +> +compile + +# remove type arguments from S +$ copy-file changes/A.scala A.scala + +# Both A.scala and B.scala should be recompiled, producing a compile error +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/added/test b/src/sbt-test/source-dependencies/added/test index 5ba6a5af9..4f85e4288 100644 --- a/src/sbt-test/source-dependencies/added/test +++ b/src/sbt-test/source-dependencies/added/test @@ -3,37 +3,26 @@ # B and A are independent, so both should compile successfully $ copy-file changes/A1.scala src/main/scala/A.scala -[success] $ copy-file changes/B1.scala src/main/scala/B.scala -[success] -> compile -[success] +> +compile # A now depends on B and to check that it was recompiled, we mismatch the types, which should fail $ copy-file changes/A2.scala src/main/scala/A.scala -[success] -> compile -[failure] +-> +compile # We now correct the type so that it compiles successfully and this should introduce a dependency from A to B $ copy-file changes/A3.scala src/main/scala/A.scala -[success] -> compile -[success] +> +compile # If the dependency from A to B was properly introduced, changing the type of B.y to Int should make # the following statement in A a compiler error: # val x: String = B.y $ copy-file changes/B2.scala src/main/scala/B.scala -[success] -> compile -[failure] +-> +compile # verify this was the correct result by doing a clean+compile ->clean -[success] -> compile -[failure] \ No newline at end of file +> +clean +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/by-name/A.scala b/src/sbt-test/source-dependencies/by-name/A.scala new file mode 100644 index 000000000..46ec286ff --- /dev/null +++ b/src/sbt-test/source-dependencies/by-name/A.scala @@ -0,0 +1,4 @@ +object A +{ + def x(i: => String) = () +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/by-name/B.scala b/src/sbt-test/source-dependencies/by-name/B.scala new file mode 100644 index 000000000..a06f3a186 --- /dev/null +++ b/src/sbt-test/source-dependencies/by-name/B.scala @@ -0,0 +1,4 @@ +object B +{ + val x = A.x("3") +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/by-name/changes/A.scala b/src/sbt-test/source-dependencies/by-name/changes/A.scala new file mode 100644 index 000000000..0d12dd477 --- /dev/null +++ b/src/sbt-test/source-dependencies/by-name/changes/A.scala @@ -0,0 +1,4 @@ +object A +{ + def x(i: Function0[String]) = () +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/by-name/project/build.properties b/src/sbt-test/source-dependencies/by-name/project/build.properties new file mode 100644 index 000000000..a69cc28b4 --- /dev/null +++ b/src/sbt-test/source-dependencies/by-name/project/build.properties @@ -0,0 +1,3 @@ +project.name=by-name +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/by-name/test b/src/sbt-test/source-dependencies/by-name/test new file mode 100644 index 000000000..0d39f0383 --- /dev/null +++ b/src/sbt-test/source-dependencies/by-name/test @@ -0,0 +1,7 @@ +> +compile + +# change => Int to Function0 +$ copy-file changes/A.scala A.scala + +# Both A.scala and B.scala need to be recompiled because the type has changed +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/default-params/A.scala b/src/sbt-test/source-dependencies/default-params/A.scala new file mode 100644 index 000000000..50baa662f --- /dev/null +++ b/src/sbt-test/source-dependencies/default-params/A.scala @@ -0,0 +1,5 @@ +object A +{ + def x(f: String, g: Int): Int = g + def x(f: Int, g: Int = 3): Int = g +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/default-params/B.scala b/src/sbt-test/source-dependencies/default-params/B.scala new file mode 100644 index 000000000..59a7159f9 --- /dev/null +++ b/src/sbt-test/source-dependencies/default-params/B.scala @@ -0,0 +1,4 @@ +object B +{ + val y = A.x(5) +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/default-params/changes/A.scala b/src/sbt-test/source-dependencies/default-params/changes/A.scala new file mode 100644 index 000000000..b59015306 --- /dev/null +++ b/src/sbt-test/source-dependencies/default-params/changes/A.scala @@ -0,0 +1,5 @@ +object A +{ + def x(f: String, g: Int = 3): Int = g + def x(f: Int, g: Int): Int = g +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/default-params/project/build.properties b/src/sbt-test/source-dependencies/default-params/project/build.properties new file mode 100644 index 000000000..76fda34a1 --- /dev/null +++ b/src/sbt-test/source-dependencies/default-params/project/build.properties @@ -0,0 +1,3 @@ +project.name=default-params +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/default-params/test b/src/sbt-test/source-dependencies/default-params/test new file mode 100644 index 000000000..666b17986 --- /dev/null +++ b/src/sbt-test/source-dependencies/default-params/test @@ -0,0 +1,11 @@ +# default parameters are only in 2.8 +> ++2.8.0-SNAPSHOT +> compile + +# switch which 'x' method has a default for the second parameter in A +# this change is selected because of the encoding of default method names +$ copy-file changes/A.scala A.scala + +# Both A.scala and B.scala need to be recompiled because the parameter needs to be explicitly provided +# and it should be a compile error +-> compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/empty-a/test b/src/sbt-test/source-dependencies/empty-a/test index 2e58e8cb9..ecba8ad1a 100644 --- a/src/sbt-test/source-dependencies/empty-a/test +++ b/src/sbt-test/source-dependencies/empty-a/test @@ -1,41 +1,19 @@ $ copy-file changes/A.scala src/main/scala/A.scala -[success] - -> compile -[success] +> +compile $ copy-file changes/A2.scala src/main/scala/A.scala -[success] - -> compile -[success] +> +compile $ copy-file changes/B.scala src/main/scala/B.scala -[success] - -> compile -[failure] +-> +compile $ copy-file changes/A.scala src/main/scala/A.scala -[success] - -> compile -[success] +> +compile $ delete src/main/scala/B.scala -[success] - $ copy-file changes/A2.scala src/main/scala/A.scala -[success] - -> compile -[success] +> +compile $ copy-file changes/A.scala src/main/scala/A.scala -[success] - $ copy-file changes/B.scala src/main/scala/B.scala -[success] - -> compile -[success] +> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/erasure/A.scala b/src/sbt-test/source-dependencies/erasure/A.scala new file mode 100644 index 000000000..63b240ac6 --- /dev/null +++ b/src/sbt-test/source-dependencies/erasure/A.scala @@ -0,0 +1,3 @@ +object A { + def x: List[Int] = List(3) +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/erasure/B.scala b/src/sbt-test/source-dependencies/erasure/B.scala new file mode 100644 index 000000000..1c636101f --- /dev/null +++ b/src/sbt-test/source-dependencies/erasure/B.scala @@ -0,0 +1,3 @@ +object B { + val y: List[Int] = A.x +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/erasure/changes/A.scala b/src/sbt-test/source-dependencies/erasure/changes/A.scala new file mode 100644 index 000000000..c1bceae79 --- /dev/null +++ b/src/sbt-test/source-dependencies/erasure/changes/A.scala @@ -0,0 +1,3 @@ +object A { + def x: List[String] = List("3") +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/erasure/project/build.properties b/src/sbt-test/source-dependencies/erasure/project/build.properties new file mode 100644 index 000000000..a38a143cd --- /dev/null +++ b/src/sbt-test/source-dependencies/erasure/project/build.properties @@ -0,0 +1,3 @@ +project.name=erasure +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/erasure/test b/src/sbt-test/source-dependencies/erasure/test new file mode 100644 index 000000000..30a932d1b --- /dev/null +++ b/src/sbt-test/source-dependencies/erasure/test @@ -0,0 +1,4 @@ +> +compile + +$ copy-file changes/A.scala A.scala +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/false-error/A.scala b/src/sbt-test/source-dependencies/false-error/A.scala new file mode 100644 index 000000000..64675b5e3 --- /dev/null +++ b/src/sbt-test/source-dependencies/false-error/A.scala @@ -0,0 +1,4 @@ +object A { + val x = 3 + val z: Int = B.y +} diff --git a/src/sbt-test/source-dependencies/false-error/B.scala b/src/sbt-test/source-dependencies/false-error/B.scala new file mode 100644 index 000000000..756aeacf6 --- /dev/null +++ b/src/sbt-test/source-dependencies/false-error/B.scala @@ -0,0 +1,3 @@ +object B { + val y = A.x +} diff --git a/src/sbt-test/source-dependencies/false-error/changes/A.scala b/src/sbt-test/source-dependencies/false-error/changes/A.scala new file mode 100644 index 000000000..b2c9dfb26 --- /dev/null +++ b/src/sbt-test/source-dependencies/false-error/changes/A.scala @@ -0,0 +1,4 @@ +object A { + val x = "3" + val z: String = B.y +} diff --git a/src/sbt-test/source-dependencies/false-error/project/build.properties b/src/sbt-test/source-dependencies/false-error/project/build.properties new file mode 100644 index 000000000..168e1bf4d --- /dev/null +++ b/src/sbt-test/source-dependencies/false-error/project/build.properties @@ -0,0 +1,3 @@ +project.name=no-false-error +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/false-error/test b/src/sbt-test/source-dependencies/false-error/test new file mode 100644 index 000000000..aac00c6b9 --- /dev/null +++ b/src/sbt-test/source-dependencies/false-error/test @@ -0,0 +1,5 @@ +> +compile + +$ copy-file changes/A.scala A.scala + +> +compile diff --git a/src/sbt-test/source-dependencies/implicit-params/A.scala b/src/sbt-test/source-dependencies/implicit-params/A.scala new file mode 100644 index 000000000..598d266d4 --- /dev/null +++ b/src/sbt-test/source-dependencies/implicit-params/A.scala @@ -0,0 +1,6 @@ +class A +{ + implicit def e: E = new E + def x(i: Int)(implicit y: E): String = "" +} +class E \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/implicit-params/B.scala b/src/sbt-test/source-dependencies/implicit-params/B.scala new file mode 100644 index 000000000..3273cdceb --- /dev/null +++ b/src/sbt-test/source-dependencies/implicit-params/B.scala @@ -0,0 +1,4 @@ +object B extends A +{ + val y = x(3) +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/implicit-params/changes/A.scala b/src/sbt-test/source-dependencies/implicit-params/changes/A.scala new file mode 100644 index 000000000..2de2c62ee --- /dev/null +++ b/src/sbt-test/source-dependencies/implicit-params/changes/A.scala @@ -0,0 +1,6 @@ +class A +{ + implicit def e: E = new E + def x(i: Int)(y: E): String = "" +} +class E \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/implicit-params/project/build.properties b/src/sbt-test/source-dependencies/implicit-params/project/build.properties new file mode 100644 index 000000000..473fe0930 --- /dev/null +++ b/src/sbt-test/source-dependencies/implicit-params/project/build.properties @@ -0,0 +1,3 @@ +project.name=implicit-params +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/implicit-params/test b/src/sbt-test/source-dependencies/implicit-params/test new file mode 100644 index 000000000..5b0be8a77 --- /dev/null +++ b/src/sbt-test/source-dependencies/implicit-params/test @@ -0,0 +1,8 @@ +> +compile + +# make implicit parameters in A.x be explicit +$ copy-file changes/A.scala A.scala + +# Both A.scala and B.scala need to be recompiled because the parameter section is no longer implicit +# and it should be a compile error +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/implicit/A.scala b/src/sbt-test/source-dependencies/implicit/A.scala new file mode 100644 index 000000000..765f66013 --- /dev/null +++ b/src/sbt-test/source-dependencies/implicit/A.scala @@ -0,0 +1,4 @@ +class A +{ + implicit def x(i: Int): String = i.toString +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/implicit/B.scala b/src/sbt-test/source-dependencies/implicit/B.scala new file mode 100644 index 000000000..ec0200dfa --- /dev/null +++ b/src/sbt-test/source-dependencies/implicit/B.scala @@ -0,0 +1,4 @@ +object B extends A +{ + val x: String = 3 +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/implicit/changes/A.scala b/src/sbt-test/source-dependencies/implicit/changes/A.scala new file mode 100644 index 000000000..24f8e4069 --- /dev/null +++ b/src/sbt-test/source-dependencies/implicit/changes/A.scala @@ -0,0 +1,4 @@ +class A +{ + def x(i: Int): String = i.toString +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/implicit/project/build.properties b/src/sbt-test/source-dependencies/implicit/project/build.properties new file mode 100644 index 000000000..85325a978 --- /dev/null +++ b/src/sbt-test/source-dependencies/implicit/project/build.properties @@ -0,0 +1,3 @@ +project.name=implicit +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/implicit/test b/src/sbt-test/source-dependencies/implicit/test new file mode 100644 index 000000000..57d694872 --- /dev/null +++ b/src/sbt-test/source-dependencies/implicit/test @@ -0,0 +1,7 @@ +> +compile + +# change A.x to be implicit +$ copy-file changes/A.scala A.scala + +# Both A.scala and B.scala need to be recompiled because a new implicit is available +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/import/A.scala b/src/sbt-test/source-dependencies/import/A.scala new file mode 100644 index 000000000..1c94ccf3a --- /dev/null +++ b/src/sbt-test/source-dependencies/import/A.scala @@ -0,0 +1 @@ +package a.b \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/import/B.scala b/src/sbt-test/source-dependencies/import/B.scala new file mode 100644 index 000000000..10ee10d82 --- /dev/null +++ b/src/sbt-test/source-dependencies/import/B.scala @@ -0,0 +1 @@ +import a.b \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/import/changes/A.scala b/src/sbt-test/source-dependencies/import/changes/A.scala new file mode 100644 index 000000000..d63f93ea4 --- /dev/null +++ b/src/sbt-test/source-dependencies/import/changes/A.scala @@ -0,0 +1 @@ +package a \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/import/project/build.properties b/src/sbt-test/source-dependencies/import/project/build.properties new file mode 100644 index 000000000..fe80ce662 --- /dev/null +++ b/src/sbt-test/source-dependencies/import/project/build.properties @@ -0,0 +1,3 @@ +project.name=import +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/import/test b/src/sbt-test/source-dependencies/import/test new file mode 100644 index 000000000..393bdb6a7 --- /dev/null +++ b/src/sbt-test/source-dependencies/import/test @@ -0,0 +1,8 @@ +> +compile + +# shorten the package defined in A from 'a.b' to 'a'. +$ copy-file changes/A.scala A.scala + +# 'import a.b' should now fail in B.scala +# disabled because scalac doesn't track this dependency +#-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/intermediate-error/A.scala b/src/sbt-test/source-dependencies/intermediate-error/A.scala new file mode 100644 index 000000000..392db0805 --- /dev/null +++ b/src/sbt-test/source-dependencies/intermediate-error/A.scala @@ -0,0 +1,6 @@ +object A +{ + def x = 3 + //def x: String = 3 + //def x: String = "3" +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/intermediate-error/B.scala b/src/sbt-test/source-dependencies/intermediate-error/B.scala new file mode 100644 index 000000000..1a1e0c06f --- /dev/null +++ b/src/sbt-test/source-dependencies/intermediate-error/B.scala @@ -0,0 +1,4 @@ +object B +{ + val y: Int = A.x +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/intermediate-error/changes/A2.scala b/src/sbt-test/source-dependencies/intermediate-error/changes/A2.scala new file mode 100644 index 000000000..ba9953954 --- /dev/null +++ b/src/sbt-test/source-dependencies/intermediate-error/changes/A2.scala @@ -0,0 +1,6 @@ +object A +{ + //def x = 3 + def x: String = 3 + //def x: String = "3" +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/intermediate-error/changes/A3.scala b/src/sbt-test/source-dependencies/intermediate-error/changes/A3.scala new file mode 100644 index 000000000..f020041ea --- /dev/null +++ b/src/sbt-test/source-dependencies/intermediate-error/changes/A3.scala @@ -0,0 +1,6 @@ +object A +{ + //def x = 3 + //def x: String = 3 + def x: String = "3" +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/intermediate-error/project/build.properties b/src/sbt-test/source-dependencies/intermediate-error/project/build.properties new file mode 100644 index 000000000..c67debabc --- /dev/null +++ b/src/sbt-test/source-dependencies/intermediate-error/project/build.properties @@ -0,0 +1,3 @@ +project.name=intermediate-error +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/intermediate-error/test b/src/sbt-test/source-dependencies/intermediate-error/test new file mode 100644 index 000000000..64cf407c5 --- /dev/null +++ b/src/sbt-test/source-dependencies/intermediate-error/test @@ -0,0 +1,7 @@ +> +compile + +$ copy-file changes/A2.scala A.scala +-> +compile + +$ copy-file changes/A3.scala A.scala +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/java-basic/test b/src/sbt-test/source-dependencies/java-basic/test index 5dca1b173..0dfee643f 100644 --- a/src/sbt-test/source-dependencies/java-basic/test +++ b/src/sbt-test/source-dependencies/java-basic/test @@ -2,60 +2,43 @@ # A is a basic Java file with no dependencies. Just a basic check for Java compilation $ copy-file changes/A.java src/main/java/a/A.java -[success] -> compile -[success] +> +compile # A2 is a basic Java file with no dependencies. This is added to verify # that classes are properly mapped back to their source. # (There are two files named A.java now, one in a/ and one in a/b) $ copy-file changes/A2.java src/main/java/a/b/A.java -[success] -> compile -[success] +> +compile # This adds B, another basic Java file with no dependencies $ copy-file changes/B1.java src/main/java/a/b/B.java -[success] -> compile -[success] +> +compile # Now, modify B so that it depends on a.A # This ensures that dependencies on a source not included in the compilation # (a/A.java has not changed) are tracked $ copy-file changes/B2.java src/main/java/a/b/B.java -[success] -> compile -[success] +> +compile # Remove a.b.A and there should be no problem compiling, since B should # have recorded a dependency on a.A and not a.b.A $ delete src/main/java/a/b/A.java -[success] -> compile -[success] +> +compile # Remove a.A and B should be recompiled if the dependency on a.A was properly # recorded. This should be a compile error, since we haven't updated B to not # depend on A $ delete src/main/java/a/A.java -[success] -> compile -[failure] +-> +compile # Replace B with a new B that doesn't depend on a.A and so it should compile # It shouldn't run though, because it doesn't have a main method $ copy-file changes/B1.java src/main/java/a/b/B.java -[success] -> compile -[success] -> run -[failure] +> +compile +-> +run # Replace B with a new B that has a main method and should therefore run # if the main method was properly detected $ copy-file changes/B3.java src/main/java/a/b/B.java -[success] -> run -[success] \ No newline at end of file +> +run \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/java-static/test b/src/sbt-test/source-dependencies/java-static/test index 7a13a1186..d75a1bfdc 100644 --- a/src/sbt-test/source-dependencies/java-static/test +++ b/src/sbt-test/source-dependencies/java-static/test @@ -9,24 +9,16 @@ # add and compile the Java source $ copy-file changes/J1.java src/main/java/J.java -[success] -> compile -[success] +> +compile # add and compile the Scala source $ copy-file changes/S.scala src/main/scala/S.scala -[success] -> compile -[success] +> +compile # change the Java source so that a compile error should occur if S.scala is also recompiled (which will happen if the dependency was properly recorded) $ copy-file changes/J2.java src/main/java/J.java -[success] -> compile -[failure] +-> +compile # verify it should have failed by doing a full recompilation -> clean -[success] -> compile -[failure] \ No newline at end of file +> +clean +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/lazy-val/A.scala b/src/sbt-test/source-dependencies/lazy-val/A.scala new file mode 100644 index 000000000..fc3870856 --- /dev/null +++ b/src/sbt-test/source-dependencies/lazy-val/A.scala @@ -0,0 +1,4 @@ +class A +{ + val x = 3 +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/lazy-val/B.scala b/src/sbt-test/source-dependencies/lazy-val/B.scala new file mode 100644 index 000000000..3ddfddb61 --- /dev/null +++ b/src/sbt-test/source-dependencies/lazy-val/B.scala @@ -0,0 +1,4 @@ +class B extends A +{ + override val x = 3 +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/lazy-val/changes/A.scala b/src/sbt-test/source-dependencies/lazy-val/changes/A.scala new file mode 100644 index 000000000..805901802 --- /dev/null +++ b/src/sbt-test/source-dependencies/lazy-val/changes/A.scala @@ -0,0 +1,4 @@ +class A +{ + lazy val x = 3 +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/lazy-val/project/build.properties b/src/sbt-test/source-dependencies/lazy-val/project/build.properties new file mode 100644 index 000000000..713d6be32 --- /dev/null +++ b/src/sbt-test/source-dependencies/lazy-val/project/build.properties @@ -0,0 +1,3 @@ +project.name=lazy-val +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/lazy-val/test b/src/sbt-test/source-dependencies/lazy-val/test new file mode 100644 index 000000000..5e9230e9c --- /dev/null +++ b/src/sbt-test/source-dependencies/lazy-val/test @@ -0,0 +1,6 @@ +> +compile + +# replace val x with lazy val x +$ copy-file changes/A.scala A.scala + +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/linearization/A.scala b/src/sbt-test/source-dependencies/linearization/A.scala new file mode 100644 index 000000000..69399d3fb --- /dev/null +++ b/src/sbt-test/source-dependencies/linearization/A.scala @@ -0,0 +1,3 @@ +trait A { + def x = 3 +} diff --git a/src/sbt-test/source-dependencies/linearization/B.scala b/src/sbt-test/source-dependencies/linearization/B.scala new file mode 100644 index 000000000..608b53052 --- /dev/null +++ b/src/sbt-test/source-dependencies/linearization/B.scala @@ -0,0 +1,3 @@ +trait B extends A { + override def x = super.x * 2 +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/linearization/C.scala b/src/sbt-test/source-dependencies/linearization/C.scala new file mode 100644 index 000000000..3fbd747e0 --- /dev/null +++ b/src/sbt-test/source-dependencies/linearization/C.scala @@ -0,0 +1,3 @@ +trait C extends A { + override def x = super.x + 5 +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/linearization/D.scala b/src/sbt-test/source-dependencies/linearization/D.scala new file mode 100644 index 000000000..7b46ebf97 --- /dev/null +++ b/src/sbt-test/source-dependencies/linearization/D.scala @@ -0,0 +1,2 @@ +// define the order +trait D extends C with B \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/linearization/E.scala b/src/sbt-test/source-dependencies/linearization/E.scala new file mode 100644 index 000000000..f69ea1d51 --- /dev/null +++ b/src/sbt-test/source-dependencies/linearization/E.scala @@ -0,0 +1,2 @@ +// put a level in between D and its concrete class +trait E extends D diff --git a/src/sbt-test/source-dependencies/linearization/F.scala b/src/sbt-test/source-dependencies/linearization/F.scala new file mode 100644 index 000000000..6dda903f5 --- /dev/null +++ b/src/sbt-test/source-dependencies/linearization/F.scala @@ -0,0 +1,3 @@ +object F extends E { + def main(args: Array[String]) = assert(x == args(0).toInt, x) +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/linearization/changes/D.scala b/src/sbt-test/source-dependencies/linearization/changes/D.scala new file mode 100644 index 000000000..84c173887 --- /dev/null +++ b/src/sbt-test/source-dependencies/linearization/changes/D.scala @@ -0,0 +1 @@ +trait D extends B with C diff --git a/src/sbt-test/source-dependencies/linearization/project/build.properties b/src/sbt-test/source-dependencies/linearization/project/build.properties new file mode 100644 index 000000000..713d6be32 --- /dev/null +++ b/src/sbt-test/source-dependencies/linearization/project/build.properties @@ -0,0 +1,3 @@ +project.name=lazy-val +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/linearization/test b/src/sbt-test/source-dependencies/linearization/test new file mode 100644 index 000000000..480962b6c --- /dev/null +++ b/src/sbt-test/source-dependencies/linearization/test @@ -0,0 +1,13 @@ +> +compile + +# the value of F.x should be 16 +> +run 16 + +# modify D.scala so that the linearization changes +$ copy-file changes/D.scala D.scala +# F.x becomes 11 +> +compile + +# if F is recompiled, the value of x should be 11, otherwise it will still be 16 +# and this will fail +> +run 11 \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/named/A.scala b/src/sbt-test/source-dependencies/named/A.scala new file mode 100644 index 000000000..42afb874d --- /dev/null +++ b/src/sbt-test/source-dependencies/named/A.scala @@ -0,0 +1,3 @@ +object A { + def x(zz: Int, yy: Int) = yy - zz +} diff --git a/src/sbt-test/source-dependencies/named/B.scala b/src/sbt-test/source-dependencies/named/B.scala new file mode 100644 index 000000000..5699c4db8 --- /dev/null +++ b/src/sbt-test/source-dependencies/named/B.scala @@ -0,0 +1,7 @@ +object B { + def main(args: Array[String]): Unit = + { + val result = A.x(zz = 3, yy = 4) + assert(result == args(0).toInt, result) + } +} diff --git a/src/sbt-test/source-dependencies/named/changes/A.scala b/src/sbt-test/source-dependencies/named/changes/A.scala new file mode 100644 index 000000000..04b150525 --- /dev/null +++ b/src/sbt-test/source-dependencies/named/changes/A.scala @@ -0,0 +1,3 @@ +object A { + def x(yy: Int, zz: Int) = yy - zz +} diff --git a/src/sbt-test/source-dependencies/named/project/build.properties b/src/sbt-test/source-dependencies/named/project/build.properties new file mode 100644 index 000000000..61029bf16 --- /dev/null +++ b/src/sbt-test/source-dependencies/named/project/build.properties @@ -0,0 +1,3 @@ +project.name=named +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/named/test b/src/sbt-test/source-dependencies/named/test new file mode 100644 index 000000000..55cfc1486 --- /dev/null +++ b/src/sbt-test/source-dependencies/named/test @@ -0,0 +1,16 @@ +# named parameters are only in 2.8 +> ++2.8.0-SNAPSHOT + +> compile + +# result should be 1 +> run 1 + +# change order of arguments in A.x +$ copy-file changes/A.scala A.scala + +# Recompile +> compile + +# Should still get 1 and not -1 +> run 1 \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/new-cyclic/test b/src/sbt-test/source-dependencies/new-cyclic/test index 1a8ead2f3..aae8fdeaf 100644 --- a/src/sbt-test/source-dependencies/new-cyclic/test +++ b/src/sbt-test/source-dependencies/new-cyclic/test @@ -1,8 +1,4 @@ -> compile -[success] +> +compile $ copy-file changes/A2.scala src/main/scala/A.scala -[success] - -> compile -[failure] +-> +compile diff --git a/src/sbt-test/source-dependencies/parent-change/W.scala b/src/sbt-test/source-dependencies/parent-change/W.scala new file mode 100644 index 000000000..527676b6d --- /dev/null +++ b/src/sbt-test/source-dependencies/parent-change/W.scala @@ -0,0 +1,5 @@ +class W +{ + def x = 3 +} +class V extends W \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/parent-change/Y.scala b/src/sbt-test/source-dependencies/parent-change/Y.scala new file mode 100644 index 000000000..9379ee7b6 --- /dev/null +++ b/src/sbt-test/source-dependencies/parent-change/Y.scala @@ -0,0 +1,5 @@ +object Y +{ + def main(args: Array[String]) = + println( (new Z).x ) +} diff --git a/src/sbt-test/source-dependencies/parent-change/Z.scala b/src/sbt-test/source-dependencies/parent-change/Z.scala new file mode 100644 index 000000000..0f7c79a40 --- /dev/null +++ b/src/sbt-test/source-dependencies/parent-change/Z.scala @@ -0,0 +1 @@ +class Z extends V diff --git a/src/sbt-test/source-dependencies/parent-change/changes/W.scala b/src/sbt-test/source-dependencies/parent-change/changes/W.scala new file mode 100644 index 000000000..f2e4dc28f --- /dev/null +++ b/src/sbt-test/source-dependencies/parent-change/changes/W.scala @@ -0,0 +1,5 @@ +class W +{ + def x = 3 +} +class V \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/parent-change/project/build.properties b/src/sbt-test/source-dependencies/parent-change/project/build.properties new file mode 100644 index 000000000..14d3f7e07 --- /dev/null +++ b/src/sbt-test/source-dependencies/parent-change/project/build.properties @@ -0,0 +1,3 @@ +project.name=parent-member +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/parent-change/test b/src/sbt-test/source-dependencies/parent-change/test new file mode 100644 index 000000000..5f45f4756 --- /dev/null +++ b/src/sbt-test/source-dependencies/parent-change/test @@ -0,0 +1,7 @@ +> +compile + +# modify V to no longer extend W +$ copy-file changes/W.scala W.scala + +# Should recompile Y.scala and report an error: "value x is not a member of Z" +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/parent-member-change/A.scala b/src/sbt-test/source-dependencies/parent-member-change/A.scala new file mode 100644 index 000000000..d6f828508 --- /dev/null +++ b/src/sbt-test/source-dependencies/parent-member-change/A.scala @@ -0,0 +1,3 @@ +class A { + def x(i: Int) = i+"3" +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/parent-member-change/B.scala b/src/sbt-test/source-dependencies/parent-member-change/B.scala new file mode 100644 index 000000000..26e47fd25 --- /dev/null +++ b/src/sbt-test/source-dependencies/parent-member-change/B.scala @@ -0,0 +1 @@ +class B extends A \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/parent-member-change/C.scala b/src/sbt-test/source-dependencies/parent-member-change/C.scala new file mode 100644 index 000000000..6985a0d2f --- /dev/null +++ b/src/sbt-test/source-dependencies/parent-member-change/C.scala @@ -0,0 +1,3 @@ +class C extends B { + def x(s: String) = s+"5" +} diff --git a/src/sbt-test/source-dependencies/parent-member-change/changes/A.scala b/src/sbt-test/source-dependencies/parent-member-change/changes/A.scala new file mode 100644 index 000000000..949655f41 --- /dev/null +++ b/src/sbt-test/source-dependencies/parent-member-change/changes/A.scala @@ -0,0 +1,3 @@ +class A { + def x(i: String) = i+"3" +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/parent-member-change/project/build.properties b/src/sbt-test/source-dependencies/parent-member-change/project/build.properties new file mode 100644 index 000000000..d08e70fba --- /dev/null +++ b/src/sbt-test/source-dependencies/parent-member-change/project/build.properties @@ -0,0 +1,3 @@ +project.name=parent-member-change +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/parent-member-change/test b/src/sbt-test/source-dependencies/parent-member-change/test new file mode 100644 index 000000000..6f4ce0df8 --- /dev/null +++ b/src/sbt-test/source-dependencies/parent-member-change/test @@ -0,0 +1,7 @@ +> +compile + +# modify A.scala so that the signature of its method changes to be identical to +# that of the method in its descendent in C.scala +$ copy-file changes/A.scala A.scala +# Should recompile C.scala and report this error, failing the compile +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/qualified-access/A.scala b/src/sbt-test/source-dependencies/qualified-access/A.scala new file mode 100644 index 000000000..b1ff88af7 --- /dev/null +++ b/src/sbt-test/source-dependencies/qualified-access/A.scala @@ -0,0 +1,10 @@ +package a +{ + package b + { + object A + { + private[a] def x = 3 + } + } +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/qualified-access/B.scala b/src/sbt-test/source-dependencies/qualified-access/B.scala new file mode 100644 index 000000000..d709285f5 --- /dev/null +++ b/src/sbt-test/source-dependencies/qualified-access/B.scala @@ -0,0 +1,6 @@ +package a + +object B +{ + val y = b.A.x +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/qualified-access/changes/A.scala b/src/sbt-test/source-dependencies/qualified-access/changes/A.scala new file mode 100644 index 000000000..ef50d0ef9 --- /dev/null +++ b/src/sbt-test/source-dependencies/qualified-access/changes/A.scala @@ -0,0 +1,6 @@ +package a.b + +object A +{ + private[b] def x = 3 +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/qualified-access/project/build.properties b/src/sbt-test/source-dependencies/qualified-access/project/build.properties new file mode 100644 index 000000000..51409b08c --- /dev/null +++ b/src/sbt-test/source-dependencies/qualified-access/project/build.properties @@ -0,0 +1,3 @@ +project.name=qualified-access +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/qualified-access/test b/src/sbt-test/source-dependencies/qualified-access/test new file mode 100644 index 000000000..b368fc123 --- /dev/null +++ b/src/sbt-test/source-dependencies/qualified-access/test @@ -0,0 +1,7 @@ +> +compile + +# change access of A.x +$ copy-file changes/A.scala A.scala + +# Should force recompilation of B.scala because access changed and B's access is now invalid. +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/remove-test-a/test b/src/sbt-test/source-dependencies/remove-test-a/test index e3d44e4e1..a3ed3425c 100644 --- a/src/sbt-test/source-dependencies/remove-test-a/test +++ b/src/sbt-test/source-dependencies/remove-test-a/test @@ -1,14 +1,7 @@ -> compile -[success] +> +compile $ copy-file changes/1.scala src/main/scala/1.scala -[success] - -> compile -[error] +-> +compile $ delete src/main/scala/1.scala -[success] - -> compile -[success] \ No newline at end of file +> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/remove-test-b/test b/src/sbt-test/source-dependencies/remove-test-b/test index 4d9f786f3..7115a1b3a 100644 --- a/src/sbt-test/source-dependencies/remove-test-b/test +++ b/src/sbt-test/source-dependencies/remove-test-b/test @@ -1,50 +1,25 @@ -> compile -[success] +> +compile $ copy-file changes/A2.scala src/main/scala/A.scala -[success] - -> compile -[error] +-> +compile $ copy-file changes/B3.scala src/main/scala/B.scala -[success] - -> compile -[success] +> +compile $ delete src/main/scala/B.scala -[success] - -> compile -[failure] +-> +compile $ copy-file changes/B3.scala src/main/scala/B.scala -[success] - -> compile -[success] +> +compile $ copy-file changes/B4.scala src/main/scala/B.scala -[success] - -> compile -[failure] +-> +compile $ copy-file changes/B3.scala src/main/scala/B.scala -[success] - -> compile -[success] +> +compile $ copy-file changes/B5.scala src/main/scala/B.scala -[success] - -> compile -[failure] +-> +compile $ copy-file changes/B3.scala src/main/scala/B.scala -[success] - -> compile -[success] \ No newline at end of file +> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/repeated-parameters/A.scala b/src/sbt-test/source-dependencies/repeated-parameters/A.scala new file mode 100644 index 000000000..df798a859 --- /dev/null +++ b/src/sbt-test/source-dependencies/repeated-parameters/A.scala @@ -0,0 +1,4 @@ +object A +{ + def x(i: String*) = () +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/repeated-parameters/B.scala b/src/sbt-test/source-dependencies/repeated-parameters/B.scala new file mode 100644 index 000000000..a06f3a186 --- /dev/null +++ b/src/sbt-test/source-dependencies/repeated-parameters/B.scala @@ -0,0 +1,4 @@ +object B +{ + val x = A.x("3") +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/repeated-parameters/changes/A.scala b/src/sbt-test/source-dependencies/repeated-parameters/changes/A.scala new file mode 100644 index 000000000..6de960644 --- /dev/null +++ b/src/sbt-test/source-dependencies/repeated-parameters/changes/A.scala @@ -0,0 +1,4 @@ +object A +{ + def x(i: Seq[String]) = () +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/repeated-parameters/project/build.properties b/src/sbt-test/source-dependencies/repeated-parameters/project/build.properties new file mode 100644 index 000000000..245bcfdf1 --- /dev/null +++ b/src/sbt-test/source-dependencies/repeated-parameters/project/build.properties @@ -0,0 +1,3 @@ +project.name=repeated-parameters +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/repeated-parameters/test b/src/sbt-test/source-dependencies/repeated-parameters/test new file mode 100644 index 000000000..e91d8d6ce --- /dev/null +++ b/src/sbt-test/source-dependencies/repeated-parameters/test @@ -0,0 +1,7 @@ +> +compile + +# change repeated parameters to Seq +$ copy-file changes/A.scala A.scala + +# B.scala needs recompiling because the type has changed +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/replace-test-a/test b/src/sbt-test/source-dependencies/replace-test-a/test index cdaf24b09..f8e0dd629 100644 --- a/src/sbt-test/source-dependencies/replace-test-a/test +++ b/src/sbt-test/source-dependencies/replace-test-a/test @@ -1,19 +1,9 @@ $ copy-file changes/first.scala src/main/scala/A.scala -[success] - -> compile -[success] -> check-first -[success] -> check-second -[failure] +> +compile +> +check-first +-> +check-second $ copy-file changes/second.scala src/main/scala/A.scala -[success] - -> compile -[success] -> check-first -[failure] -> check-second -[success] \ No newline at end of file +> +compile +-> +check-first +> +check-second \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/sealed/A.scala b/src/sbt-test/source-dependencies/sealed/A.scala new file mode 100644 index 000000000..d185a50a9 --- /dev/null +++ b/src/sbt-test/source-dependencies/sealed/A.scala @@ -0,0 +1,3 @@ +sealed trait A +class B extends A +class C extends A \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/sealed/D.scala b/src/sbt-test/source-dependencies/sealed/D.scala new file mode 100644 index 000000000..1f49e9d61 --- /dev/null +++ b/src/sbt-test/source-dependencies/sealed/D.scala @@ -0,0 +1,8 @@ + +object D { +def x(a: A) = + a match { + case _: B => () + case _: C => () + } +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/sealed/changes/A.scala b/src/sbt-test/source-dependencies/sealed/changes/A.scala new file mode 100644 index 000000000..f00e9c127 --- /dev/null +++ b/src/sbt-test/source-dependencies/sealed/changes/A.scala @@ -0,0 +1,4 @@ +sealed trait A +class B extends A +class C extends A +class E extends A \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/sealed/project/build.properties b/src/sbt-test/source-dependencies/sealed/project/build.properties new file mode 100644 index 000000000..cfd728873 --- /dev/null +++ b/src/sbt-test/source-dependencies/sealed/project/build.properties @@ -0,0 +1,3 @@ +project.name=sealed +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/sealed/test b/src/sbt-test/source-dependencies/sealed/test new file mode 100644 index 000000000..442841a12 --- /dev/null +++ b/src/sbt-test/source-dependencies/sealed/test @@ -0,0 +1,9 @@ +> +compile + +# have new class E extend A +$ copy-file changes/A.scala A.scala + +# D.scala needs recompiling because the pattern match in D +# is no longer exhaustive, which should be a warning +# there is no way to make warnings errors, so this has to be manually checked +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/specialized/A.scala b/src/sbt-test/source-dependencies/specialized/A.scala new file mode 100644 index 000000000..a9b5e6818 --- /dev/null +++ b/src/sbt-test/source-dependencies/specialized/A.scala @@ -0,0 +1,4 @@ +class A +{ + def x[T](t: T) = t +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/specialized/B.scala b/src/sbt-test/source-dependencies/specialized/B.scala new file mode 100644 index 000000000..f2aa2cd24 --- /dev/null +++ b/src/sbt-test/source-dependencies/specialized/B.scala @@ -0,0 +1,7 @@ +object B +{ + def main(args: Array[String]) { + val a = new A + a.x(3) + } +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/specialized/changes/A.scala b/src/sbt-test/source-dependencies/specialized/changes/A.scala new file mode 100644 index 000000000..76ac39400 --- /dev/null +++ b/src/sbt-test/source-dependencies/specialized/changes/A.scala @@ -0,0 +1,4 @@ +class A +{ + def x[@specialized T](t: T) = t +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/specialized/project/build.properties b/src/sbt-test/source-dependencies/specialized/project/build.properties new file mode 100644 index 000000000..c90a11c70 --- /dev/null +++ b/src/sbt-test/source-dependencies/specialized/project/build.properties @@ -0,0 +1,3 @@ +project.name=specialized +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/specialized/project/build/SpecializeTest.scala b/src/sbt-test/source-dependencies/specialized/project/build/SpecializeTest.scala new file mode 100644 index 000000000..a9fe1bbb0 --- /dev/null +++ b/src/sbt-test/source-dependencies/specialized/project/build/SpecializeTest.scala @@ -0,0 +1,6 @@ +import sbt._ + +class SpecializeTest(info: ProjectInfo) extends DefaultProject(info) +{ + override def compileOptions = super.compileOptions ++ Seq(CompileOption("-Yspecialize")) +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/specialized/test b/src/sbt-test/source-dependencies/specialized/test new file mode 100644 index 000000000..8661bc0d7 --- /dev/null +++ b/src/sbt-test/source-dependencies/specialized/test @@ -0,0 +1,16 @@ +# -Yspecialize is 2.8 only +> ++2.8.0-SNAPSHOT +> compile + +# verify that erased A.x can be called normally and reflectively +> run false + +# make A.x specialized +$ copy-file changes/A.scala A.scala + +# B.scala needs recompiling so that B.y calls the specialized version of A.x +> compile + +# verify that specialized A.x can be called normally and reflectively +# NOTE: this test doesn't actually work correctly: have to check the output to see that B.scala was recompiled +> run true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/stability-change/A.scala b/src/sbt-test/source-dependencies/stability-change/A.scala new file mode 100644 index 000000000..e9b4d7aa6 --- /dev/null +++ b/src/sbt-test/source-dependencies/stability-change/A.scala @@ -0,0 +1,4 @@ +object A +{ + val x = new C +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/stability-change/B.scala b/src/sbt-test/source-dependencies/stability-change/B.scala new file mode 100644 index 000000000..fce3e99cf --- /dev/null +++ b/src/sbt-test/source-dependencies/stability-change/B.scala @@ -0,0 +1,5 @@ +object B +{ + import A.x.y + val z = y +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/stability-change/C.scala b/src/sbt-test/source-dependencies/stability-change/C.scala new file mode 100644 index 000000000..9b2e3741a --- /dev/null +++ b/src/sbt-test/source-dependencies/stability-change/C.scala @@ -0,0 +1,4 @@ +class C +{ + val y = 4 +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/stability-change/changes/A.scala b/src/sbt-test/source-dependencies/stability-change/changes/A.scala new file mode 100644 index 000000000..1b6e8d65a --- /dev/null +++ b/src/sbt-test/source-dependencies/stability-change/changes/A.scala @@ -0,0 +1,4 @@ +object A +{ + def x = new C +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/stability-change/project/build.properties b/src/sbt-test/source-dependencies/stability-change/project/build.properties new file mode 100644 index 000000000..b66876fb0 --- /dev/null +++ b/src/sbt-test/source-dependencies/stability-change/project/build.properties @@ -0,0 +1,3 @@ +project.name=stability +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/stability-change/test b/src/sbt-test/source-dependencies/stability-change/test new file mode 100644 index 000000000..aea970990 --- /dev/null +++ b/src/sbt-test/source-dependencies/stability-change/test @@ -0,0 +1,6 @@ +> +compile + +# replace val x with var x, invalidating the import in B +$ copy-file changes/A.scala A.scala + +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/struct-usage/A.scala b/src/sbt-test/source-dependencies/struct-usage/A.scala new file mode 100644 index 000000000..de3effffe --- /dev/null +++ b/src/sbt-test/source-dependencies/struct-usage/A.scala @@ -0,0 +1,3 @@ +object A { + def x: { def q: Int } = error("not important") +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/struct-usage/B.scala b/src/sbt-test/source-dependencies/struct-usage/B.scala new file mode 100644 index 000000000..0d37132f1 --- /dev/null +++ b/src/sbt-test/source-dependencies/struct-usage/B.scala @@ -0,0 +1,3 @@ +object B { + val y: Int = A.x.q +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/struct-usage/changes/A.scala b/src/sbt-test/source-dependencies/struct-usage/changes/A.scala new file mode 100644 index 000000000..bf0e4dfce --- /dev/null +++ b/src/sbt-test/source-dependencies/struct-usage/changes/A.scala @@ -0,0 +1,3 @@ +object A { + def x: { def q: String } = error("not important") +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/struct-usage/project/build.properties b/src/sbt-test/source-dependencies/struct-usage/project/build.properties new file mode 100644 index 000000000..94ffa9f9c --- /dev/null +++ b/src/sbt-test/source-dependencies/struct-usage/project/build.properties @@ -0,0 +1,3 @@ +project.name=struct-usage +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/struct-usage/test b/src/sbt-test/source-dependencies/struct-usage/test new file mode 100644 index 000000000..b25104c62 --- /dev/null +++ b/src/sbt-test/source-dependencies/struct-usage/test @@ -0,0 +1,5 @@ +> +compile + +$ copy-file changes/A.scala A.scala + +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/struct/A.scala b/src/sbt-test/source-dependencies/struct/A.scala new file mode 100644 index 000000000..d17a6e20a --- /dev/null +++ b/src/sbt-test/source-dependencies/struct/A.scala @@ -0,0 +1,3 @@ +object A { + def x: Int = 3 +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/struct/B.scala b/src/sbt-test/source-dependencies/struct/B.scala new file mode 100644 index 000000000..635568727 --- /dev/null +++ b/src/sbt-test/source-dependencies/struct/B.scala @@ -0,0 +1,4 @@ +object B { + def onX(m: { def x: Int } ) = + m.x +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/struct/C.scala b/src/sbt-test/source-dependencies/struct/C.scala new file mode 100644 index 000000000..413cd6d63 --- /dev/null +++ b/src/sbt-test/source-dependencies/struct/C.scala @@ -0,0 +1,4 @@ +object C { + def main(args: Array[String]) = + println(B.onX(A)) +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/struct/changes/A.scala b/src/sbt-test/source-dependencies/struct/changes/A.scala new file mode 100644 index 000000000..dc9bbd3c0 --- /dev/null +++ b/src/sbt-test/source-dependencies/struct/changes/A.scala @@ -0,0 +1,3 @@ +object A { + def x: Byte = 3 +} diff --git a/src/sbt-test/source-dependencies/struct/project/build.properties b/src/sbt-test/source-dependencies/struct/project/build.properties new file mode 100644 index 000000000..b7368a54a --- /dev/null +++ b/src/sbt-test/source-dependencies/struct/project/build.properties @@ -0,0 +1,3 @@ +project.name=struct +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/struct/test b/src/sbt-test/source-dependencies/struct/test new file mode 100644 index 000000000..ef218b0d9 --- /dev/null +++ b/src/sbt-test/source-dependencies/struct/test @@ -0,0 +1,6 @@ +>+compile + +# modify A.scala so that it does not conform to the structural type in B.scala +$ copy-file changes/A.scala A.scala + +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/transitive-a/test b/src/sbt-test/source-dependencies/transitive-a/test index efa71c72b..a0889f9d8 100644 --- a/src/sbt-test/source-dependencies/transitive-a/test +++ b/src/sbt-test/source-dependencies/transitive-a/test @@ -1,8 +1,4 @@ -> compile -[success] +> +compile $ copy-file changes/A2.scala src/main/scala/A.scala -[success] - -> compile -[failure] \ No newline at end of file +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/transitive-b/test b/src/sbt-test/source-dependencies/transitive-b/test index efa71c72b..a0889f9d8 100644 --- a/src/sbt-test/source-dependencies/transitive-b/test +++ b/src/sbt-test/source-dependencies/transitive-b/test @@ -1,8 +1,4 @@ -> compile -[success] +> +compile $ copy-file changes/A2.scala src/main/scala/A.scala -[success] - -> compile -[failure] \ No newline at end of file +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/type-parameter/A.scala b/src/sbt-test/source-dependencies/type-parameter/A.scala new file mode 100644 index 000000000..d712f6feb --- /dev/null +++ b/src/sbt-test/source-dependencies/type-parameter/A.scala @@ -0,0 +1 @@ +trait A[T] diff --git a/src/sbt-test/source-dependencies/type-parameter/B.scala b/src/sbt-test/source-dependencies/type-parameter/B.scala new file mode 100644 index 000000000..0f996cdc3 --- /dev/null +++ b/src/sbt-test/source-dependencies/type-parameter/B.scala @@ -0,0 +1 @@ +trait B[T] extends A[T] diff --git a/src/sbt-test/source-dependencies/type-parameter/C.scala b/src/sbt-test/source-dependencies/type-parameter/C.scala new file mode 100644 index 000000000..505a83aa6 --- /dev/null +++ b/src/sbt-test/source-dependencies/type-parameter/C.scala @@ -0,0 +1,3 @@ +object C { + new A[Int] {} +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/type-parameter/D.scala b/src/sbt-test/source-dependencies/type-parameter/D.scala new file mode 100644 index 000000000..51273ad98 --- /dev/null +++ b/src/sbt-test/source-dependencies/type-parameter/D.scala @@ -0,0 +1,3 @@ +object D { + def x[T](a: A[T]) = a +} diff --git a/src/sbt-test/source-dependencies/type-parameter/changes/A.scala b/src/sbt-test/source-dependencies/type-parameter/changes/A.scala new file mode 100644 index 000000000..0eab80adc --- /dev/null +++ b/src/sbt-test/source-dependencies/type-parameter/changes/A.scala @@ -0,0 +1 @@ +trait A diff --git a/src/sbt-test/source-dependencies/type-parameter/project/build.properties b/src/sbt-test/source-dependencies/type-parameter/project/build.properties new file mode 100644 index 000000000..707edcb0d --- /dev/null +++ b/src/sbt-test/source-dependencies/type-parameter/project/build.properties @@ -0,0 +1,3 @@ +project.name=type-parameter +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/type-parameter/test b/src/sbt-test/source-dependencies/type-parameter/test new file mode 100644 index 000000000..8bd892f7a --- /dev/null +++ b/src/sbt-test/source-dependencies/type-parameter/test @@ -0,0 +1,7 @@ +> +compile + +# remove type parameter from A +$ copy-file changes/A.scala A.scala + +# should get compile error because B, C, D reference A without a type parameter +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/typeref-return/A.scala b/src/sbt-test/source-dependencies/typeref-return/A.scala new file mode 100644 index 000000000..8993ad9fa --- /dev/null +++ b/src/sbt-test/source-dependencies/typeref-return/A.scala @@ -0,0 +1,4 @@ +object A { + type I = Int + def x: I = error("not important") +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/typeref-return/B.scala b/src/sbt-test/source-dependencies/typeref-return/B.scala new file mode 100644 index 000000000..afb1169fc --- /dev/null +++ b/src/sbt-test/source-dependencies/typeref-return/B.scala @@ -0,0 +1,3 @@ +object B { + val y: Int = A.x +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/typeref-return/changes/A.scala b/src/sbt-test/source-dependencies/typeref-return/changes/A.scala new file mode 100644 index 000000000..ab798d520 --- /dev/null +++ b/src/sbt-test/source-dependencies/typeref-return/changes/A.scala @@ -0,0 +1,4 @@ +object A { + type I = String + def x: I = error("Not important") +} diff --git a/src/sbt-test/source-dependencies/typeref-return/project/build.properties b/src/sbt-test/source-dependencies/typeref-return/project/build.properties new file mode 100644 index 000000000..e086c7b22 --- /dev/null +++ b/src/sbt-test/source-dependencies/typeref-return/project/build.properties @@ -0,0 +1,3 @@ +project.name=typeref-return +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/typeref-return/test b/src/sbt-test/source-dependencies/typeref-return/test new file mode 100644 index 000000000..b25104c62 --- /dev/null +++ b/src/sbt-test/source-dependencies/typeref-return/test @@ -0,0 +1,5 @@ +> +compile + +$ copy-file changes/A.scala A.scala + +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/var/A.scala b/src/sbt-test/source-dependencies/var/A.scala new file mode 100644 index 000000000..1c5d96e09 --- /dev/null +++ b/src/sbt-test/source-dependencies/var/A.scala @@ -0,0 +1,5 @@ +class A +{ + def x = 3 + def x_=(x$1: Int) = () +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/var/B.scala b/src/sbt-test/source-dependencies/var/B.scala new file mode 100644 index 000000000..3ee290f84 --- /dev/null +++ b/src/sbt-test/source-dependencies/var/B.scala @@ -0,0 +1,4 @@ +class B extends A +{ + override var x = 3 +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/var/changes/A.scala b/src/sbt-test/source-dependencies/var/changes/A.scala new file mode 100644 index 000000000..d1c251596 --- /dev/null +++ b/src/sbt-test/source-dependencies/var/changes/A.scala @@ -0,0 +1,4 @@ +class A +{ + var x = 3 +} \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/var/project/build.properties b/src/sbt-test/source-dependencies/var/project/build.properties new file mode 100644 index 000000000..7dc1118ac --- /dev/null +++ b/src/sbt-test/source-dependencies/var/project/build.properties @@ -0,0 +1,3 @@ +project.name=var +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/var/test b/src/sbt-test/source-dependencies/var/test new file mode 100644 index 000000000..4debd1fd1 --- /dev/null +++ b/src/sbt-test/source-dependencies/var/test @@ -0,0 +1,6 @@ +> +compile + +# replace var x with def x, def x_= +$ copy-file changes/A.scala A.scala + +-> +compile \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/variance/A.scala b/src/sbt-test/source-dependencies/variance/A.scala new file mode 100644 index 000000000..4581bfec8 --- /dev/null +++ b/src/sbt-test/source-dependencies/variance/A.scala @@ -0,0 +1,2 @@ +class A[+T] + \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/variance/C.scala b/src/sbt-test/source-dependencies/variance/C.scala new file mode 100644 index 000000000..8b526d9af --- /dev/null +++ b/src/sbt-test/source-dependencies/variance/C.scala @@ -0,0 +1,3 @@ +object C { + val a: A[Any] = new A[Int] +} diff --git a/src/sbt-test/source-dependencies/variance/changes/A.scala b/src/sbt-test/source-dependencies/variance/changes/A.scala new file mode 100644 index 000000000..e9c64dff6 --- /dev/null +++ b/src/sbt-test/source-dependencies/variance/changes/A.scala @@ -0,0 +1,2 @@ +class A[T] + \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/variance/project/build.properties b/src/sbt-test/source-dependencies/variance/project/build.properties new file mode 100644 index 000000000..7550db3ca --- /dev/null +++ b/src/sbt-test/source-dependencies/variance/project/build.properties @@ -0,0 +1,3 @@ +project.name=variance +project.version=1.0 +project.scratch=true \ No newline at end of file diff --git a/src/sbt-test/source-dependencies/variance/test b/src/sbt-test/source-dependencies/variance/test new file mode 100644 index 000000000..db6d5af10 --- /dev/null +++ b/src/sbt-test/source-dependencies/variance/test @@ -0,0 +1,6 @@ +> +compile + +# make T invariant +$ copy-file changes/A.scala A.scala + +-> +compile \ No newline at end of file diff --git a/src/sbt-test/tests/specs-nested/project/build/src/TestProject.scala b/src/sbt-test/tests/Class.forName/project/build/TestProject.scala old mode 100755 new mode 100644 similarity index 61% rename from src/sbt-test/tests/specs-nested/project/build/src/TestProject.scala rename to src/sbt-test/tests/Class.forName/project/build/TestProject.scala index e06023159..f8cb6a639 --- a/src/sbt-test/tests/specs-nested/project/build/src/TestProject.scala +++ b/src/sbt-test/tests/Class.forName/project/build/TestProject.scala @@ -2,5 +2,5 @@ import sbt._ class TestProject(info: ProjectInfo) extends DefaultProject(info) { - val scalacheck = "org.specs" % "specs" % "1.4.1" + override def disableCrossPaths = true } \ No newline at end of file diff --git a/src/sbt-test/tests/Class.forName/test b/src/sbt-test/tests/Class.forName/test index 401921be5..b506a5a67 100644 --- a/src/sbt-test/tests/Class.forName/test +++ b/src/sbt-test/tests/Class.forName/test @@ -1,23 +1,17 @@ # Create a jar that contains two classes: Test and OtherTest # Test loads OtherTest using Class.forName > package -[success] # get the specs jar > update -[success] # copy to the lib_managed/test directory to simulate # a library on the 'test' configuration $ copy-file target/class-forname-1.0.jar lib_managed/test/forname.jar -[success] # Remove the classes that created the jar $ delete src/main/ target/ -[success] # Compile and run the test that calls into the jar created above # It won't succeed if something is messed up with class loading > test -[success] - diff --git a/src/sbt-test/tests/extend/changes/ScalaCheck.scala b/src/sbt-test/tests/extend/changes/ScalaCheck.scala deleted file mode 100644 index 4a436c7aa..000000000 --- a/src/sbt-test/tests/extend/changes/ScalaCheck.scala +++ /dev/null @@ -1,41 +0,0 @@ -/** This tests implementing a test framework in a project definition. To ensure sbt's builtin ScalaCheck -* test framework is not used, it flips success and failure so that a failing test is marked as succeeding and -* a suceeding test is marked as failing. */ - -package framework - -import sbt._ - -object FrameworkScalaCheck extends LazyTestFramework -{ - val name = "ScalaCheck" - - def testSuperClassName = "org.scalacheck.Properties" - def testSubClassType = ClassType.Module - - def testRunnerClassName = "framework.RunnerScalaCheck" -} - -class RunnerScalaCheck(val log: Logger, val listeners: Seq[TestReportListener], val testLoader: ClassLoader) extends BasicTestRunner -{ - import org.scalacheck.{Pretty, Properties, Test} - def runTest(testClassName: String): Result.Value = - { - val test = ModuleUtilities.getObject(testClassName, testLoader).asInstanceOf[Properties] - val result = Test.checkProperties(test, Test.defaultParams, propReport, testReport).find(!_._2.passed) - if(result.isEmpty) - Result.Failed // intentionally flipped (see top comment) - else - Result.Passed // intentionally flipped (see top comment) - } - private def propReport(pName: String, s: Int, d: Int) {} - private def testReport(name: String, res: Test.Result) - { - val msg = Pretty.pretty(res) - if(res.passed) - log.info("+ " + name + ": " + msg) - else - log.error("! " + name + ": " + msg) - - } -} \ No newline at end of file diff --git a/src/sbt-test/tests/extend/changes/TestFailure.scala b/src/sbt-test/tests/extend/changes/TestFailure.scala deleted file mode 100644 index cbf7461ac..000000000 --- a/src/sbt-test/tests/extend/changes/TestFailure.scala +++ /dev/null @@ -1,6 +0,0 @@ - -import org.scalacheck._ -object TestFailure extends Properties("Success -> Failure") -{ - specify("Always true", (i: Int) => true) -} \ No newline at end of file diff --git a/src/sbt-test/tests/extend/changes/TestProject2.scala b/src/sbt-test/tests/extend/changes/TestProject2.scala deleted file mode 100644 index 2f0a0c805..000000000 --- a/src/sbt-test/tests/extend/changes/TestProject2.scala +++ /dev/null @@ -1,8 +0,0 @@ -import sbt._ - -class TestProject2(info: ProjectInfo) extends DefaultProject(info) -{ - override def testFrameworks = framework.FrameworkScalaCheck :: Nil - override def useMavenConfigurations = true - val sc = "org.scala-tools.testing" % "scalacheck" % "1.5" % "test->default" -} diff --git a/src/sbt-test/tests/extend/changes/TestProject3.scala b/src/sbt-test/tests/extend/changes/TestProject3.scala deleted file mode 100644 index 80205752d..000000000 --- a/src/sbt-test/tests/extend/changes/TestProject3.scala +++ /dev/null @@ -1,12 +0,0 @@ -import sbt._ - -class TestProject3(info: ProjectInfo) extends ParentProject(info) -{ - lazy val child = project("child", "Main", new ChildProject(_)) - class ChildProject(info: ProjectInfo) extends DefaultProject(info) - { - override def testFrameworks = framework.FrameworkScalaCheck :: Nil - override def useMavenConfigurations = true - val sc = "org.scala-tools.testing" % "scalacheck" % "1.5" % "test->default" - } -} diff --git a/src/sbt-test/tests/extend/changes/TestSuccess.scala b/src/sbt-test/tests/extend/changes/TestSuccess.scala deleted file mode 100644 index 06cd573d0..000000000 --- a/src/sbt-test/tests/extend/changes/TestSuccess.scala +++ /dev/null @@ -1,6 +0,0 @@ - -import org.scalacheck._ -object TestSuccess extends Properties("Failure -> Success") -{ - specify("Always false", (i: Int) => false) -} \ No newline at end of file diff --git a/src/sbt-test/tests/extend/project/build.properties b/src/sbt-test/tests/extend/project/build.properties deleted file mode 100644 index 6a367a1d6..000000000 --- a/src/sbt-test/tests/extend/project/build.properties +++ /dev/null @@ -1,5 +0,0 @@ -#Project properties -#Wed Apr 29 15:43:25 EDT 2009 -project.organization=sbt -project.name=framework -project.version=1.0 diff --git a/src/sbt-test/tests/extend/project/build/src/TestProject.scala b/src/sbt-test/tests/extend/project/build/src/TestProject.scala deleted file mode 100644 index 95e20dce2..000000000 --- a/src/sbt-test/tests/extend/project/build/src/TestProject.scala +++ /dev/null @@ -1,9 +0,0 @@ -import sbt._ - -class TestProject(info: ProjectInfo) extends DefaultProject(info) -{ - val sc = "org.scalacheck" % "scalacheck" % "1.5" - - override def updateAction = super.updateAction dependsOn addSbt - lazy val addSbt = task { FileUtilities.copyFile(FileUtilities.sbtJar, (dependencyPath / "sbt.jar").asFile, log) } -} \ No newline at end of file diff --git a/src/sbt-test/tests/extend/test b/src/sbt-test/tests/extend/test deleted file mode 100644 index 3b0a9ba30..000000000 --- a/src/sbt-test/tests/extend/test +++ /dev/null @@ -1,72 +0,0 @@ -# get ScalaCheck library and copy the main sbt jar to the lib directory -> update -[success] - -# Copy the source file implementing the framework to the src tree -$ copy-file changes/ScalaCheck.scala src/main/scala/ScalaCheck.scala -[success] - -# compile and package the framework -> package -[success] - -# move the test framework jar to the build project and delete the sources and the sbt jar -# The test framework runs ScalaCheck tests, but swaps success and failure -# to ensure the custom framework is being used and not sbt's built-in ScalaCheck support -$ copy-file target/framework-1.0.jar project/build/lib/framework-1.0.jar -[success] -$ delete target/framework-1.0.jar -[success] -$ delete src/main -[success] -$ delete lib -[success] - -# replace the project definition with the one that uses the framework, reload, and update -# (update moves scalatest.jar to the 'test' configuration) -$ copy-file changes/TestProject2.scala project/build/src/TestProject.scala -[success] -$ reload -[success] -> update -[success] - -# Copy a source containing a failing test that the framework should mark as succeeding -$ copy-file changes/TestSuccess.scala src/test/scala/TestSuccess.scala -[success] -> test -[success] - - -# Copy a source containing a successful test that the framework should mark as failing -# First, delete the previous test -$ delete src/test/scala/TestSuccess.scala -[success] -$ copy-file changes/TestFailure.scala src/test/scala/TestFailure.scala -[success] -> test -[failure] - - -# replace the project definition with one that tests a child project -# reload, and update -$ copy-file changes/TestProject3.scala project/build/src/TestProject.scala -[success] -$ reload -[success] -> update -[success] - -# remove sources in the parent project -$ delete src -[success] -# Copy a source containing a failing test that the framework should mark as succeeding -$ copy-file changes/TestSuccess.scala child/src/test/scala/TestSuccess.scala -[success] -> test -[success] -# Copy a source containing a successful test that the framework should mark as failing -$ copy-file changes/TestFailure.scala child/src/test/scala/TestFailure.scala -[success] -> test -[failure] \ No newline at end of file diff --git a/src/sbt-test/tests/resources/test b/src/sbt-test/tests/resources/test index 3653c1158..5fbb5d887 100644 --- a/src/sbt-test/tests/resources/test +++ b/src/sbt-test/tests/resources/test @@ -1,5 +1,2 @@ > update -[success] - -> test -[success] \ No newline at end of file +> test \ No newline at end of file diff --git a/src/sbt-test/tests/scalacheck-a/changes/BasicTest.scala b/src/sbt-test/tests/scalacheck-a/changes/BasicTest.scala deleted file mode 100755 index 9478475b2..000000000 --- a/src/sbt-test/tests/scalacheck-a/changes/BasicTest.scala +++ /dev/null @@ -1,21 +0,0 @@ -import org.scalacheck._ - -object BasicTest extends Properties("A basic runnable test") -{ - specify("startsWith", (a: String, b: String) => (a+b).startsWith(a)) -} - -abstract class AbstractNotATest extends Properties("Not a runnable test") -{ - specify("Fail", (a: Int, b: Int) => false) -} - -class ClassNotATest extends Properties("Not a runnable test") -{ - specify("Fail", (a: Int, b: Int) => false) -} - -trait TraitNotATest -{ self: Properties => - specify("Fail", (a: Int, b: Int) => false) -} \ No newline at end of file diff --git a/src/sbt-test/tests/scalacheck-a/changes/FailedTest.scala b/src/sbt-test/tests/scalacheck-a/changes/FailedTest.scala deleted file mode 100755 index 079d0da20..000000000 --- a/src/sbt-test/tests/scalacheck-a/changes/FailedTest.scala +++ /dev/null @@ -1,21 +0,0 @@ -import org.scalacheck._ - -object BasicTest extends Properties("A basic runnable test") -{ - specify("startsWith", (a: String, b: String) => (a+b).startsWith(a)) -} - -abstract class AbstractNotATest extends Properties("Not a runnable test") -{ - specify("Fail", (a: Int, b: Int) => false) -} - -object ClassNotATest extends Properties("A failing test") -{ - specify("Fail", (a: Int, b: Int) => false) -} - -trait TraitNotATest extends Properties("Not a runnable test") -{ - specify("Fail", (a: Int, b: Int) => false) -} \ No newline at end of file diff --git a/src/sbt-test/tests/scalacheck-a/project/build.properties b/src/sbt-test/tests/scalacheck-a/project/build.properties deleted file mode 100755 index f9da83551..000000000 --- a/src/sbt-test/tests/scalacheck-a/project/build.properties +++ /dev/null @@ -1,4 +0,0 @@ -#Project properties -#Tue Feb 03 14:43:21 EST 2009 -project.name=ScalaCheck Support Test -project.version=9.3 diff --git a/src/sbt-test/tests/scalacheck-a/project/build/src/TestProject.scala b/src/sbt-test/tests/scalacheck-a/project/build/src/TestProject.scala deleted file mode 100755 index e5ab1f803..000000000 --- a/src/sbt-test/tests/scalacheck-a/project/build/src/TestProject.scala +++ /dev/null @@ -1,7 +0,0 @@ -import sbt._ - -class TestProject(info: ProjectInfo) extends DefaultProject(info) -{ - val scalacheck = "org.scalacheck" % "scalacheck" % "1.5" - val cacheDirectory = outputPath / "cache" -} \ No newline at end of file diff --git a/src/sbt-test/tests/scalacheck-a/src/test/scala/DummyTest.scala b/src/sbt-test/tests/scalacheck-a/src/test/scala/DummyTest.scala deleted file mode 100755 index e33905e34..000000000 --- a/src/sbt-test/tests/scalacheck-a/src/test/scala/DummyTest.scala +++ /dev/null @@ -1,2 +0,0 @@ - -class DummyTest \ No newline at end of file diff --git a/src/sbt-test/tests/scalacheck-a/test b/src/sbt-test/tests/scalacheck-a/test deleted file mode 100755 index d75fcb579..000000000 --- a/src/sbt-test/tests/scalacheck-a/test +++ /dev/null @@ -1,23 +0,0 @@ -> test -[success] - -$ copy-file changes/BasicTest.scala src/test/scala/BasicTest.scala -[success] - -$ delete src/test/scala/DummyTest.scala -[success] - -> test-compile -[error] - -> update -[success] - -> test -[success] - -$ copy-file changes/FailedTest.scala src/test/scala/BasicTest.scala -[success] - -> test -[failure] \ No newline at end of file diff --git a/src/sbt-test/tests/scalatest-ignore/project/build.properties b/src/sbt-test/tests/scalatest-ignore/project/build.properties deleted file mode 100644 index 2f60fce89..000000000 --- a/src/sbt-test/tests/scalatest-ignore/project/build.properties +++ /dev/null @@ -1,2 +0,0 @@ -project.name=Ignore Test -project.version=3.9.2 \ No newline at end of file diff --git a/src/sbt-test/tests/scalatest-ignore/project/build/Test.scala b/src/sbt-test/tests/scalatest-ignore/project/build/Test.scala deleted file mode 100644 index 14c47cd63..000000000 --- a/src/sbt-test/tests/scalatest-ignore/project/build/Test.scala +++ /dev/null @@ -1,7 +0,0 @@ -import sbt._ - -class Test(info: ProjectInfo) extends DefaultProject(info) -{ - override def useMavenConfigurations = true - val st = "org.scala-tools.testing" % "scalatest" % "0.9.5" % "test->default" -} \ No newline at end of file diff --git a/src/sbt-test/tests/scalatest-ignore/src/test/scala/IgnoreTest.scala b/src/sbt-test/tests/scalatest-ignore/src/test/scala/IgnoreTest.scala deleted file mode 100644 index beb547e75..000000000 --- a/src/sbt-test/tests/scalatest-ignore/src/test/scala/IgnoreTest.scala +++ /dev/null @@ -1,11 +0,0 @@ -import org.scalatest._ -import org.scalatest.matchers._ - -class IgnoreTest extends Spec with BeforeAndAfter with MustMatchers { - - describe("This test") { - ignore("should be ignored") { - error("Test ran") - } - } -} \ No newline at end of file diff --git a/src/sbt-test/tests/scalatest-ignore/test b/src/sbt-test/tests/scalatest-ignore/test deleted file mode 100644 index 3653c1158..000000000 --- a/src/sbt-test/tests/scalatest-ignore/test +++ /dev/null @@ -1,5 +0,0 @@ -> update -[success] - -> test -[success] \ No newline at end of file diff --git a/src/sbt-test/tests/specs-a/changes/BasicTest.scala b/src/sbt-test/tests/specs-a/changes/BasicTest.scala deleted file mode 100755 index 6c6d4ac8f..000000000 --- a/src/sbt-test/tests/specs-a/changes/BasicTest.scala +++ /dev/null @@ -1,35 +0,0 @@ -import org.specs._ - -object BasicTest extends Specification -{ - // from specs example - "'hello world' has 11 characters" in { - "hello world".size mustEqual 11 - } - "'hello world' matches 'h.* w.*'" in { - "hello world" must beMatching("h.* w.*") - } -} - -trait TraitNotATest extends Specification -{ - // would fail if called - "'hello world' has 11 characters" in { - "hello world".size mustEqual 12 - } -} - -abstract class AbstractNotATest extends Specification -{ - // would fail if called - "'hello world' has 11 characters" in { - "hello world".size mustEqual 12 - } -} - -class ClassCanBeATest extends Specification -{ - "'hello world' has 11 characters" in { - "hello world".size mustEqual 11 - } -} \ No newline at end of file diff --git a/src/sbt-test/tests/specs-a/changes/FailTest.scala b/src/sbt-test/tests/specs-a/changes/FailTest.scala deleted file mode 100755 index b55799891..000000000 --- a/src/sbt-test/tests/specs-a/changes/FailTest.scala +++ /dev/null @@ -1,36 +0,0 @@ -import org.specs._ - -object BasicTest extends Specification -{ - // from specs example - "'hello world' has 11 characters" in { - "hello world".size mustEqual 11 - } - "'hello world' matches 'h.* w.*'" in { - "hello world" must beMatching("h.* w.*") - } -} - -trait TraitNotATest extends Specification -{ - // would fail if called - "'hello world' has 11 characters" in { - "hello world".size mustEqual 12 - } -} - -object FailTest extends Specification -{ - // would fail if called - "'hello world' has 11 characters" in { - "hello world".size mustEqual 12 - } -} - -class ClassCanBeATest extends Specification -{ - // would fail if called - "'hello world' has 11 characters" in { - "hello world".size mustEqual 11 - } -} \ No newline at end of file diff --git a/src/sbt-test/tests/specs-a/project/build.properties b/src/sbt-test/tests/specs-a/project/build.properties deleted file mode 100755 index ec1f47dd0..000000000 --- a/src/sbt-test/tests/specs-a/project/build.properties +++ /dev/null @@ -1,4 +0,0 @@ -#Project properties -#Tue Feb 03 15:05:44 EST 2009 -project.name=Specs Support Test -project.version=5.5.4 diff --git a/src/sbt-test/tests/specs-a/project/build/src/TestProject.scala b/src/sbt-test/tests/specs-a/project/build/src/TestProject.scala deleted file mode 100755 index a286ac738..000000000 --- a/src/sbt-test/tests/specs-a/project/build/src/TestProject.scala +++ /dev/null @@ -1,7 +0,0 @@ -import sbt._ - -class TestProject(info: ProjectInfo) extends DefaultProject(info) -{ - val scalacheck = "org.specs" % "specs" % "1.4.1" - val cacheDirectory = outputPath / "cache" -} \ No newline at end of file diff --git a/src/sbt-test/tests/specs-a/src/test/scala/DummyTest.scala b/src/sbt-test/tests/specs-a/src/test/scala/DummyTest.scala deleted file mode 100755 index 71c316a47..000000000 --- a/src/sbt-test/tests/specs-a/src/test/scala/DummyTest.scala +++ /dev/null @@ -1,2 +0,0 @@ - -class DummyTest \ No newline at end of file diff --git a/src/sbt-test/tests/specs-a/test b/src/sbt-test/tests/specs-a/test deleted file mode 100755 index 9325193a0..000000000 --- a/src/sbt-test/tests/specs-a/test +++ /dev/null @@ -1,23 +0,0 @@ -> test -[success] - -$ copy-file changes/BasicTest.scala src/test/scala/BasicTest.scala -[success] - -$ delete src/test/scala/DummyTest.scala -[success] - -> test-compile -[error] - -> update -[success] - -> test -[success] - -$ copy-file changes/FailTest.scala src/test/scala/BasicTest.scala -[success] - -> test -[failure] \ No newline at end of file diff --git a/src/sbt-test/tests/specs-nested/project/build.properties b/src/sbt-test/tests/specs-nested/project/build.properties deleted file mode 100755 index cc9a4d3b6..000000000 --- a/src/sbt-test/tests/specs-nested/project/build.properties +++ /dev/null @@ -1,4 +0,0 @@ -#Project properties -#Wed Feb 25 18:38:37 EST 2009 -project.name=Nested Specifications -project.version=1.0 diff --git a/src/sbt-test/tests/specs-nested/src/test/scala/TestSpecification.scala b/src/sbt-test/tests/specs-nested/src/test/scala/TestSpecification.scala deleted file mode 100755 index 2380afab5..000000000 --- a/src/sbt-test/tests/specs-nested/src/test/scala/TestSpecification.scala +++ /dev/null @@ -1,19 +0,0 @@ -import org.specs._ - -object TestSpecification extends Specification { - "A sample specification1" should { - "return something" in { - "hello" mustNotBe "world" - } - } - - object sampleSpecification extends Specification { - "the first system" should { - "skip one example" in { skip("skipped") } - "have one example ok" in {} - "have one example ko" in { 1 mustBe 2 } - "have one example in error" in { throw new Error("error") } - } - } - -} \ No newline at end of file diff --git a/src/sbt-test/tests/specs-nested/test b/src/sbt-test/tests/specs-nested/test deleted file mode 100755 index 3653c1158..000000000 --- a/src/sbt-test/tests/specs-nested/test +++ /dev/null @@ -1,5 +0,0 @@ -> update -[success] - -> test -[success] \ No newline at end of file diff --git a/src/sbt-test/tests/test-failed/project/build/TestQuickProject.scala b/src/sbt-test/tests/test-failed/project/build/TestQuickProject.scala index b8f8efd3d..3c7232f01 100644 --- a/src/sbt-test/tests/test-failed/project/build/TestQuickProject.scala +++ b/src/sbt-test/tests/test-failed/project/build/TestQuickProject.scala @@ -1,5 +1,6 @@ import sbt._ class TestQuickProject(info: ProjectInfo) extends DefaultProject(info) { - val scalatest = "org.scalatest" % "scalatest" % "0.9.3" + val snapshots = ScalaToolsSnapshots + val scalatest = "org.scalatest" % "scalatest" % "1.0.1-for-scala-2.8.0.Beta1-RC1-with-test-interfaces-0.2-SNAPSHOT" } diff --git a/src/sbt-test/tests/test-failed/test b/src/sbt-test/tests/test-failed/test index 244aea8ac..b33f1c120 100644 --- a/src/sbt-test/tests/test-failed/test +++ b/src/sbt-test/tests/test-failed/test @@ -1,26 +1,12 @@ +> ++2.8.0.Beta1-RC1 > update -[success] $ copy-file changes/Fail.scala src/test/scala/TestQuickSuite.scala -[success] - -> test-failed -[failure] - -> test-failed * -[failure] - -> test-failed TestQuickSuite -[failure] +-> test-failed +-> test-failed * +-> test-failed TestQuickSuite $ copy-file changes/Success.scala src/test/scala/TestQuickSuite.scala -[success] - > test-failed -[success] - > test-failed * -[success] - -> test-failed TestQuickSuite -[success] \ No newline at end of file +> test-failed TestQuickSuite \ No newline at end of file