From a0a60e709fa8041a482f2389104b8c17443c5526 Mon Sep 17 00:00:00 2001 From: Adriaan Moors Date: Thu, 4 Jul 2013 19:40:59 -0700 Subject: Add meta-information for dbuild. The next version of [dbuild](http://typesafehub.github.io/distributed-build/0.5.3/index.html) will parse `dbuild-meta.json` to determine which jars are produced by a Scala build. This way we can modularize without changing dbuild itself. Yes, I know `dbuild-meta.json` should be generated during the build. However, given the state of our build.xml, I think this is pointless. My goal is to generate build.xml, dbuild-meta.json and Eclipse projects from a higher-level description of our build. Baby steps... Including improvements by @cunei: - Removing outdated field "uri" from ExtractedBuildMeta - Changed "partest" to "scala-partest" (the actual jar name) --- src/build/dbuild-meta-json-gen.scala | 63 ++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/build/dbuild-meta-json-gen.scala (limited to 'src/build/dbuild-meta-json-gen.scala') diff --git a/src/build/dbuild-meta-json-gen.scala b/src/build/dbuild-meta-json-gen.scala new file mode 100644 index 0000000000..42214dd191 --- /dev/null +++ b/src/build/dbuild-meta-json-gen.scala @@ -0,0 +1,63 @@ +// use this script to generate dbuild-meta.json +// make sure the version is specified correctly, +// update the dependency structura and +// check out distributed-build and run `sbt console`: +// TODO: also generate build.xml and eclipse config from a similar data-structure + +import distributed.project.model._ + +val meta = + ExtractedBuildMeta("2.11.0", Seq( + Project("scala-library", "org.scala-lang", + Seq(ProjectRef("scala-library", "org.scala-lang")), + Seq.empty), // TODO: forkjoin + Project("scala-reflect", "org.scala-lang", + Seq(ProjectRef("scala-reflect", "org.scala-lang")), + Seq(ProjectRef("scala-library", "org.scala-lang"))), + Project("scala-compiler", "org.scala-lang", + Seq(ProjectRef("scala-compiler", "org.scala-lang")), + Seq(ProjectRef("scala-reflect", "org.scala-lang"))), // asm + + // Project("scala-repl", "org.scala-lang", + // Seq(ProjectRef("scala-repl", "org.scala-lang")), + // Seq(ProjectRef("scala-compiler", "org.scala-lang"))), // jline + + // Project("scala-interactive", "org.scala-lang", + // Seq(ProjectRef("scala-interactive", "org.scala-lang")), + // Seq(ProjectRef("scala-compiler", "org.scala-lang"), ProjectRef("scaladoc", "org.scala-lang"))), + + Project("scala-swing", "org.scala-lang", + Seq(ProjectRef("scala-swing", "org.scala-lang")), + Seq(ProjectRef("scala-library", "org.scala-lang"))), + + Project("scala-actors", "org.scala-lang", + Seq(ProjectRef("scala-actors", "org.scala-lang")), + Seq(ProjectRef("scala-library", "org.scala-lang"))), + Project("scala-xml", "org.scala-lang", + Seq(ProjectRef("scala-xml", "org.scala-lang")), + Seq(ProjectRef("scala-library", "org.scala-lang"))), + Project("scala-parser-combinators", "org.scala-lang", + Seq(ProjectRef("scala-parser-combinators", "org.scala-lang")), + Seq(ProjectRef("scala-library", "org.scala-lang"))), + + Project("scalacheck", "org.scala-lang", + Seq(ProjectRef("scalacheck", "org.scala-lang")), + Seq(ProjectRef("scala-library", "org.scala-lang"), ProjectRef("scala-actors", "org.scala-lang"), ProjectRef("scala-parser-combinators", "org.scala-lang"))), + + Project("scala-partest", "org.scala-lang", + Seq(ProjectRef("scala-partest", "org.scala-lang")), + Seq(ProjectRef("scala-compiler", "org.scala-lang"), // TODO: refine to scala-repl + ProjectRef("scalap", "org.scala-lang"), ProjectRef("scala-xml", "org.scala-lang"), ProjectRef("scalacheck", "org.scala-lang"))), + + Project("scaladoc", "org.scala-lang", + Seq(ProjectRef("scaladoc", "org.scala-lang")), + Seq(ProjectRef("scala-compiler", "org.scala-lang"),ProjectRef("scala-partest", "org.scala-lang"), ProjectRef("scala-xml", "org.scala-lang"), ProjectRef("scala-parser-combinators", "org.scala-lang"))), + + Project("scalap", "org.scala-lang", + Seq(ProjectRef("scalap", "org.scala-lang")), + Seq(ProjectRef("scala-compiler", "org.scala-lang"))), + + Project("continuations", "org.scala-lang.plugins", Seq(ProjectRef("continuations", "org.scala-lang.plugins")), Seq.empty) + )) + +println(Utils.writeValue(meta)) -- cgit v1.2.3