From 4f4c34f3f52b87057626682dd43a21cd83e2ff7a Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Wed, 15 Feb 2017 03:30:46 -0500 Subject: add package to generated Build in build.scala and in-package discovery This should allow for build to add other builds to their dependencies and interact with them in a type-safe way. And ever regardless it seems like good practice to never have the same class existing in the same package or the top-level package even if they don’t end up on the same classpath. This might also help make stack traces easier to understand. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also improve error messages for mistakes with the build class, e.g. constructor, super classes, etc. --- .../build/build.scala | 3 +++ .../build-class-with-wrong-parent/build/build.scala | 2 ++ test/broken-build/empty-build-file/Main.scala | 5 +++++ test/broken-build/empty-build-file/build/build.scala | 0 test/broken-build/no-build-file/Main.scala | 5 +++++ test/broken-build/no-build-file/build/foo.scala | 0 test/empty-build-file/Main.scala | 5 ----- test/empty-build-file/build/build.scala | 0 test/forgot-extend/build/build.scala | 2 -- test/no-build-file/Main.scala | 5 ----- test/no-build-file/build/foo.scala | 0 test/test.scala | 19 +++++++++++++------ 12 files changed, 28 insertions(+), 18 deletions(-) create mode 100644 test/broken-build/build-class-with-wrong-arguments/build/build.scala create mode 100644 test/broken-build/build-class-with-wrong-parent/build/build.scala create mode 100644 test/broken-build/empty-build-file/Main.scala create mode 100644 test/broken-build/empty-build-file/build/build.scala create mode 100644 test/broken-build/no-build-file/Main.scala create mode 100644 test/broken-build/no-build-file/build/foo.scala delete mode 100644 test/empty-build-file/Main.scala delete mode 100644 test/empty-build-file/build/build.scala delete mode 100644 test/forgot-extend/build/build.scala delete mode 100644 test/no-build-file/Main.scala delete mode 100644 test/no-build-file/build/foo.scala (limited to 'test') diff --git a/test/broken-build/build-class-with-wrong-arguments/build/build.scala b/test/broken-build/build-class-with-wrong-arguments/build/build.scala new file mode 100644 index 0000000..cf040a1 --- /dev/null +++ b/test/broken-build/build-class-with-wrong-arguments/build/build.scala @@ -0,0 +1,3 @@ +package cbt_build.build_class_with_wrong_arguments +import cbt._ +class Build(i: Int, val context: Context) extends BaseBuild diff --git a/test/broken-build/build-class-with-wrong-parent/build/build.scala b/test/broken-build/build-class-with-wrong-parent/build/build.scala new file mode 100644 index 0000000..9181a5d --- /dev/null +++ b/test/broken-build/build-class-with-wrong-parent/build/build.scala @@ -0,0 +1,2 @@ +import cbt._ +class Build(val context: Context) diff --git a/test/broken-build/empty-build-file/Main.scala b/test/broken-build/empty-build-file/Main.scala new file mode 100644 index 0000000..19d4beb --- /dev/null +++ b/test/broken-build/empty-build-file/Main.scala @@ -0,0 +1,5 @@ +object Main{ + def main( args: Array[String] ): Unit = { + println( Console.GREEN ++ "Hello World" ++ Console.RESET ) + } +} diff --git a/test/broken-build/empty-build-file/build/build.scala b/test/broken-build/empty-build-file/build/build.scala new file mode 100644 index 0000000..e69de29 diff --git a/test/broken-build/no-build-file/Main.scala b/test/broken-build/no-build-file/Main.scala new file mode 100644 index 0000000..19d4beb --- /dev/null +++ b/test/broken-build/no-build-file/Main.scala @@ -0,0 +1,5 @@ +object Main{ + def main( args: Array[String] ): Unit = { + println( Console.GREEN ++ "Hello World" ++ Console.RESET ) + } +} diff --git a/test/broken-build/no-build-file/build/foo.scala b/test/broken-build/no-build-file/build/foo.scala new file mode 100644 index 0000000..e69de29 diff --git a/test/empty-build-file/Main.scala b/test/empty-build-file/Main.scala deleted file mode 100644 index 19d4beb..0000000 --- a/test/empty-build-file/Main.scala +++ /dev/null @@ -1,5 +0,0 @@ -object Main{ - def main( args: Array[String] ): Unit = { - println( Console.GREEN ++ "Hello World" ++ Console.RESET ) - } -} diff --git a/test/empty-build-file/build/build.scala b/test/empty-build-file/build/build.scala deleted file mode 100644 index e69de29..0000000 diff --git a/test/forgot-extend/build/build.scala b/test/forgot-extend/build/build.scala deleted file mode 100644 index 9181a5d..0000000 --- a/test/forgot-extend/build/build.scala +++ /dev/null @@ -1,2 +0,0 @@ -import cbt._ -class Build(val context: Context) diff --git a/test/no-build-file/Main.scala b/test/no-build-file/Main.scala deleted file mode 100644 index 19d4beb..0000000 --- a/test/no-build-file/Main.scala +++ /dev/null @@ -1,5 +0,0 @@ -object Main{ - def main( args: Array[String] ): Unit = { - println( Console.GREEN ++ "Hello World" ++ Console.RESET ) - } -} diff --git a/test/no-build-file/build/foo.scala b/test/no-build-file/build/foo.scala deleted file mode 100644 index e69de29..0000000 diff --git a/test/test.scala b/test/test.scala index 778fcda..d8714c0 100644 --- a/test/test.scala +++ b/test/test.scala @@ -240,21 +240,28 @@ object Main{ } { - val res = runCbt("forgot-extend", Seq("run")) + val res = runCbt("broken-build/build-class-with-wrong-arguments", Seq("run")) assert(!res.exit0) - assert(res.err contains s"${lib.buildClassName} cannot be cast to cbt.BuildInterface", res.err) + assert(res.err contains s"Expected class ${lib.buildClassName}(val context: Context), but found different constructor", res.err) + assert(res.err contains s"${lib.buildClassName}(int, interface cbt.Context)", res.err) } { - val res = runCbt("no-build-file", Seq("run")) + val res = runCbt("broken-build/build-class-with-wrong-parent", Seq("run")) assert(!res.exit0) - assert(res.err contains s"No file ${lib.buildFileName} (lower case) found in", res.err) + assert(res.err contains s"You need to define a class ${lib.buildClassName} extending an appropriate super class", res.err) } { - val res = runCbt("empty-build-file", Seq("run")) + val res = runCbt("broken-build/no-build-file", Seq("run")) assert(!res.exit0) - assert(res.err contains s"You need to define a class ${lib.buildClassName} in", res.err) + assert(res.err contains s"No file ${lib.buildFileName} (lower case) found", res.err) + } + + { + val res = runCbt("broken-build/empty-build-file", Seq("run")) + assert(!res.exit0) + assert(res.err contains s"You need to define a class ${lib.buildClassName}", res.err) } { -- cgit v1.2.3