summaryrefslogtreecommitdiff
path: root/src/build/dbuild-meta-json-gen.scala
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2013-07-04 19:40:59 -0700
committerAdriaan Moors <adriaan.moors@typesafe.com>2013-07-05 16:00:29 -0700
commita0a60e709fa8041a482f2389104b8c17443c5526 (patch)
treebcd1cd247ee37e3d40fd712962fed118447ced58 /src/build/dbuild-meta-json-gen.scala
parent1b0fa91aa3f4d469505e5a1ff5d9cb1db0bdf662 (diff)
downloadscala-a0a60e709fa8041a482f2389104b8c17443c5526.tar.gz
scala-a0a60e709fa8041a482f2389104b8c17443c5526.tar.bz2
scala-a0a60e709fa8041a482f2389104b8c17443c5526.zip
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)
Diffstat (limited to 'src/build/dbuild-meta-json-gen.scala')
-rw-r--r--src/build/dbuild-meta-json-gen.scala63
1 files changed, 63 insertions, 0 deletions
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))