project/Build.scala
author Tomas Zeman <tzeman@volny.cz>
Tue, 01 May 2012 22:29:32 +0200
changeset 87 80b87b8de739
parent 21 641c7190c566
permissions -rw-r--r--
Home page -> Projects
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     1
/*
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     2
 * See https://github.com/retronym/scratch/blob/master/20110929/project/build.scala
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     3
 * for details.
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     4
 */
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     5
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     6
import sbt._
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     7
import Keys._
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     8
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     9
object CmgmtBuild extends Build {
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    10
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    11
  // Setting shared by all projects
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    12
  lazy val standardSettings = Defaults.defaultSettings ++ Seq(
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    13
  // The console analog to Defaults.mainRunTask and Defaults.mainRunMainTask
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    14
  // Its omission from the standard settings seems to be an oversight.
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    15
  console <<= consoleTask(fullClasspath in Runtime, console))
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    16
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    17
  lazy val root = Project(
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    18
    id = "root",
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    19
    base = file("."),
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    20
    settings = standardSettings
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    21
  )
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    22
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    23
  import Build.data
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    24
  import Project.Initialize
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    25
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    26
  // Copy/Paste from Defaults.consoleTask, allowing classpath : ScopedTask rather than : Task.
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    27
  def consoleTask(classpath: ScopedTask[Classpath], task: TaskKey[_]): Initialize[Task[Unit]] = {
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    28
    (compilers in task, classpath, scalacOptions in task, initialCommands in task, streams) map {
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    29
      (cs, cp, options, initCommands, s) =>
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    30
      (new Console(cs.scalac))(data(cp), options, initCommands, "", s.log).foreach(msg => sys.error(msg))
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    31
      println()
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    32
    }
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    33
  }
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    34
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    35
}
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    36
641c7190c566 Upgrade of sbt, lift et al.
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    37
// vim: set ts=2 sw=2 et: