From 37698ab8b670de4ece554b15062c67587bc3ae72 Mon Sep 17 00:00:00 2001 From: Adam Rosenberger Date: Fri, 16 May 2014 17:03:03 -0400 Subject: [PATCH] Fix bug where clean doesn't remove generated code, then fix the resulting compile which requires code generation to complete. --- Makefile | 1 - project/build.scala | 20 ++++++++++---------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 2b3860e..aab59ed 100644 --- a/Makefile +++ b/Makefile @@ -17,4 +17,3 @@ addressbook : capnpc-java PWD=pwd mkdir -p examples/src/main/generated capnp compile -I$(PWD)/generator/src/main/cpp/compiler --src-prefix=examples/src/main/schema -o./capnpc-java:examples/src/main/generated examples/src/main/schema/addressbook.capnp - sbt examples/compile diff --git a/project/build.scala b/project/build.scala index e019cb8..9a826f9 100644 --- a/project/build.scala +++ b/project/build.scala @@ -23,17 +23,10 @@ object Build extends sbt.Build { id = "examples", base = file("examples") ).dependsOn(generator) + .settings(makeExamplesTask) + .settings(compile <<= compile in Compile dependsOn makeExamples) .settings(unmanagedSourceDirectories in Compile += sourceDirectory.value / "main" / "generated") - .settings(publish := {}) - .settings(publishLocal := {}) - .settings(fork in run := true) - .settings(outputStrategy := Some(StdoutOutput)) - .settings(javaOptions in run ++= Seq( - "-ms2g", - "-mx2g", - "-XX:+AlwaysPreTouch", - "-XX:+TieredCompilation" - )) + .settings(cleanFiles += sourceDirectory.value / "main" / "generated") def project(id: String, base: File) = Project( @@ -50,6 +43,13 @@ object Build extends sbt.Build { val makeResult = "make".!! println(s"**** C++ Build Started\n$makeResult\n**** C++ Build Complete") } + + val makeExamples = taskKey[Unit]("Run capnp-java compiler against the addressbook schema") + val makeExamplesTask = makeExamples := { + Thread.sleep(1000) + val makeResult = "make addressbook".!! + println(s"**** CodeGen for Addressbook Started\n$makeResult\n**** CodeGen for Addressbook Complete") + } } object Shared {