Merge pull request #1945 from dwijnand/make-use-of-0.13.8-settings-syntax

Make use of the nicer Project settings syntax in 0.13.8.
This commit is contained in:
eugene yokota 2015-04-07 14:49:55 -07:00
commit 20d52b712c
2 changed files with 68 additions and 56 deletions

120
build.sbt
View File

@ -42,9 +42,10 @@ def testedBaseSettings: Seq[Setting[_]] =
lazy val root: Project = (project in file(".")). lazy val root: Project = (project in file(".")).
configs(Sxr.sxrConf). configs(Sxr.sxrConf).
aggregate(nonRoots: _*). aggregate(nonRoots: _*).
settings(buildLevelSettings: _*).
settings(minimalSettings ++ rootSettings: _*).
settings( settings(
buildLevelSettings,
minimalSettings,
rootSettings,
publish := {}, publish := {},
publishLocal := {} publishLocal := {}
) )
@ -52,27 +53,30 @@ lazy val root: Project = (project in file(".")).
// This is used to configure an sbt-launcher for this version of sbt. // This is used to configure an sbt-launcher for this version of sbt.
lazy val bundledLauncherProj = lazy val bundledLauncherProj =
(project in file("launch")). (project in file("launch")).
settings(minimalSettings:_*). settings(
settings(inConfig(Compile)(Transform.configSettings):_*). minimalSettings,
settings(Release.launcherSettings(sbtLaunchJar):_*). inConfig(Compile)(Transform.configSettings),
Release.launcherSettings(sbtLaunchJar)
).
enablePlugins(SbtLauncherPlugin). enablePlugins(SbtLauncherPlugin).
settings( settings(
name := "sbt-launch", name := "sbt-launch",
moduleName := "sbt-launch", moduleName := "sbt-launch",
description := "sbt application launcher", description := "sbt application launcher",
publishArtifact in packageSrc := false, publishArtifact in packageSrc := false,
autoScalaLibrary := false, autoScalaLibrary := false,
publish := Release.deployLauncher.value, publish := Release.deployLauncher.value,
publishLauncher := Release.deployLauncher.value, publishLauncher := Release.deployLauncher.value,
packageBin in Compile := sbtLaunchJar.value packageBin in Compile := sbtLaunchJar.value
) )
// This is used only for command aggregation // This is used only for command aggregation
lazy val allPrecompiled: Project = (project in file("all-precompiled")). lazy val allPrecompiled: Project = (project in file("all-precompiled")).
aggregate(precompiled282, precompiled292, precompiled293). aggregate(precompiled282, precompiled292, precompiled293).
settings(buildLevelSettings ++ minimalSettings: _*).
settings( settings(
buildLevelSettings,
minimalSettings,
publish := {}, publish := {},
publishLocal := {} publishLocal := {}
) )
@ -83,8 +87,9 @@ lazy val allPrecompiled: Project = (project in file("all-precompiled")).
// the analysis compiler phases and passed back to sbt. The API structures are defined in a simple // the analysis compiler phases and passed back to sbt. The API structures are defined in a simple
// format from which Java sources are generated by the datatype generator Projproject // format from which Java sources are generated by the datatype generator Projproject
lazy val interfaceProj = (project in file("interface")). lazy val interfaceProj = (project in file("interface")).
settings(minimalSettings ++ javaOnlySettings: _*).
settings( settings(
minimalSettings,
javaOnlySettings,
name := "Interface", name := "Interface",
projectComponent, projectComponent,
exportJars := true, exportJars := true,
@ -105,31 +110,34 @@ lazy val interfaceProj = (project in file("interface")).
// and discovery of Projclasses and annotations // and discovery of Projclasses and annotations
lazy val apiProj = (project in compilePath / "api"). lazy val apiProj = (project in compilePath / "api").
dependsOn(interfaceProj). dependsOn(interfaceProj).
settings(testedBaseSettings: _*).
settings( settings(
testedBaseSettings,
name := "API" name := "API"
) )
/* **** Utilities **** */ /* **** Utilities **** */
lazy val controlProj = (project in utilPath / "control"). lazy val controlProj = (project in utilPath / "control").
settings(baseSettings ++ Util.crossBuild: _*).
settings( settings(
baseSettings,
Util.crossBuild,
name := "Control", name := "Control",
crossScalaVersions := Seq(scala210, scala211) crossScalaVersions := Seq(scala210, scala211)
) )
lazy val collectionProj = (project in utilPath / "collection"). lazy val collectionProj = (project in utilPath / "collection").
settings(testedBaseSettings ++ Util.keywordsSettings ++ Util.crossBuild: _*).
settings( settings(
testedBaseSettings,
Util.keywordsSettings,
Util.crossBuild,
name := "Collections", name := "Collections",
crossScalaVersions := Seq(scala210, scala211) crossScalaVersions := Seq(scala210, scala211)
) )
lazy val applyMacroProj = (project in utilPath / "appmacro"). lazy val applyMacroProj = (project in utilPath / "appmacro").
dependsOn(collectionProj). dependsOn(collectionProj).
settings(testedBaseSettings: _*).
settings( settings(
testedBaseSettings,
name := "Apply Macro", name := "Apply Macro",
libraryDependencies += scalaCompiler.value libraryDependencies += scalaCompiler.value
) )
@ -137,8 +145,8 @@ lazy val applyMacroProj = (project in utilPath / "appmacro").
// The API for forking, combining, and doing I/O with system processes // The API for forking, combining, and doing I/O with system processes
lazy val processProj = (project in utilPath / "process"). lazy val processProj = (project in utilPath / "process").
dependsOn(ioProj % "test->test"). dependsOn(ioProj % "test->test").
settings(baseSettings: _*).
settings( settings(
baseSettings,
name := "Process", name := "Process",
libraryDependencies ++= scalaXml.value libraryDependencies ++= scalaXml.value
) )
@ -146,8 +154,9 @@ lazy val processProj = (project in utilPath / "process").
// Path, IO (formerly FileUtilities), NameFilter and other I/O utility classes // Path, IO (formerly FileUtilities), NameFilter and other I/O utility classes
lazy val ioProj = (project in utilPath / "io"). lazy val ioProj = (project in utilPath / "io").
dependsOn(controlProj). dependsOn(controlProj).
settings(testedBaseSettings ++ Util.crossBuild: _*).
settings( settings(
testedBaseSettings,
Util.crossBuild,
name := "IO", name := "IO",
libraryDependencies += scalaCompiler.value % Test, libraryDependencies += scalaCompiler.value % Test,
crossScalaVersions := Seq(scala210, scala211) crossScalaVersions := Seq(scala210, scala211)
@ -156,8 +165,8 @@ lazy val ioProj = (project in utilPath / "io").
// Utilities related to reflection, managing Scala versions, and custom class loaders // Utilities related to reflection, managing Scala versions, and custom class loaders
lazy val classpathProj = (project in utilPath / "classpath"). lazy val classpathProj = (project in utilPath / "classpath").
dependsOn(interfaceProj, ioProj). dependsOn(interfaceProj, ioProj).
settings(testedBaseSettings: _*).
settings( settings(
testedBaseSettings,
name := "Classpath", name := "Classpath",
libraryDependencies ++= Seq(scalaCompiler.value,Dependencies.launcherInterface) libraryDependencies ++= Seq(scalaCompiler.value,Dependencies.launcherInterface)
) )
@ -165,8 +174,9 @@ lazy val classpathProj = (project in utilPath / "classpath").
// Command line-related utilities. // Command line-related utilities.
lazy val completeProj = (project in utilPath / "complete"). lazy val completeProj = (project in utilPath / "complete").
dependsOn(collectionProj, controlProj, ioProj). dependsOn(collectionProj, controlProj, ioProj).
settings(testedBaseSettings ++ Util.crossBuild: _*).
settings( settings(
testedBaseSettings,
Util.crossBuild,
name := "Completion", name := "Completion",
libraryDependencies += jline, libraryDependencies += jline,
crossScalaVersions := Seq(scala210, scala211) crossScalaVersions := Seq(scala210, scala211)
@ -175,8 +185,8 @@ lazy val completeProj = (project in utilPath / "complete").
// logging // logging
lazy val logProj = (project in utilPath / "log"). lazy val logProj = (project in utilPath / "log").
dependsOn(interfaceProj, processProj). dependsOn(interfaceProj, processProj).
settings(testedBaseSettings: _*).
settings( settings(
testedBaseSettings,
name := "Logging", name := "Logging",
libraryDependencies += jline libraryDependencies += jline
) )
@ -184,40 +194,40 @@ lazy val logProj = (project in utilPath / "log").
// Relation // Relation
lazy val relationProj = (project in utilPath / "relation"). lazy val relationProj = (project in utilPath / "relation").
dependsOn(interfaceProj, processProj). dependsOn(interfaceProj, processProj).
settings(testedBaseSettings: _*).
settings( settings(
testedBaseSettings,
name := "Relation" name := "Relation"
) )
// class file reader and analyzer // class file reader and analyzer
lazy val classfileProj = (project in utilPath / "classfile"). lazy val classfileProj = (project in utilPath / "classfile").
dependsOn(ioProj, interfaceProj, logProj). dependsOn(ioProj, interfaceProj, logProj).
settings(testedBaseSettings: _*).
settings( settings(
testedBaseSettings,
name := "Classfile" name := "Classfile"
) )
// generates immutable or mutable Java data types according to a simple input format // generates immutable or mutable Java data types according to a simple input format
lazy val datatypeProj = (project in utilPath / "datatype"). lazy val datatypeProj = (project in utilPath / "datatype").
dependsOn(ioProj). dependsOn(ioProj).
settings(baseSettings: _*).
settings( settings(
baseSettings,
name := "Datatype Generator" name := "Datatype Generator"
) )
// cross versioning // cross versioning
lazy val crossProj = (project in utilPath / "cross"). lazy val crossProj = (project in utilPath / "cross").
settings(baseSettings: _*).
settings(inConfig(Compile)(Transform.crossGenSettings): _*).
settings( settings(
baseSettings,
inConfig(Compile)(Transform.crossGenSettings),
name := "Cross" name := "Cross"
) )
// A logic with restricted negation as failure for a unique, stable model // A logic with restricted negation as failure for a unique, stable model
lazy val logicProj = (project in utilPath / "logic"). lazy val logicProj = (project in utilPath / "logic").
dependsOn(collectionProj, relationProj). dependsOn(collectionProj, relationProj).
settings(testedBaseSettings: _*).
settings( settings(
testedBaseSettings,
name := "Logic" name := "Logic"
) )
@ -226,8 +236,8 @@ lazy val logicProj = (project in utilPath / "logic").
// Apache Ivy integration // Apache Ivy integration
lazy val ivyProj = (project in file("ivy")). lazy val ivyProj = (project in file("ivy")).
dependsOn(interfaceProj, crossProj, logProj % "compile;test->test", ioProj % "compile;test->test", /*launchProj % "test->test",*/ collectionProj). dependsOn(interfaceProj, crossProj, logProj % "compile;test->test", ioProj % "compile;test->test", /*launchProj % "test->test",*/ collectionProj).
settings(baseSettings: _*).
settings( settings(
baseSettings,
name := "Ivy", name := "Ivy",
libraryDependencies ++= Seq(ivy, jsch, sbtSerialization, launcherInterface), libraryDependencies ++= Seq(ivy, jsch, sbtSerialization, launcherInterface),
testExclusive) testExclusive)
@ -235,16 +245,16 @@ lazy val ivyProj = (project in file("ivy")).
// Runner for uniform test interface // Runner for uniform test interface
lazy val testingProj = (project in file("testing")). lazy val testingProj = (project in file("testing")).
dependsOn(ioProj, classpathProj, logProj, testAgentProj). dependsOn(ioProj, classpathProj, logProj, testAgentProj).
settings(baseSettings: _*).
settings( settings(
baseSettings,
name := "Testing", name := "Testing",
libraryDependencies ++= Seq(testInterface,launcherInterface) libraryDependencies ++= Seq(testInterface,launcherInterface)
) )
// Testing agent for running tests in a separate process. // Testing agent for running tests in a separate process.
lazy val testAgentProj = (project in file("testing") / "agent"). lazy val testAgentProj = (project in file("testing") / "agent").
settings(minimalSettings: _*).
settings( settings(
minimalSettings,
name := "Test Agent", name := "Test Agent",
libraryDependencies += testInterface libraryDependencies += testInterface
) )
@ -252,16 +262,16 @@ lazy val testAgentProj = (project in file("testing") / "agent").
// Basic task engine // Basic task engine
lazy val taskProj = (project in tasksPath). lazy val taskProj = (project in tasksPath).
dependsOn(controlProj, collectionProj). dependsOn(controlProj, collectionProj).
settings(testedBaseSettings: _*).
settings( settings(
testedBaseSettings,
name := "Tasks" name := "Tasks"
) )
// Standard task system. This provides map, flatMap, join, and more on top of the basic task model. // Standard task system. This provides map, flatMap, join, and more on top of the basic task model.
lazy val stdTaskProj = (project in tasksPath / "standard"). lazy val stdTaskProj = (project in tasksPath / "standard").
dependsOn (taskProj % "compile;test->test", collectionProj, logProj, ioProj, processProj). dependsOn (taskProj % "compile;test->test", collectionProj, logProj, ioProj, processProj).
settings(testedBaseSettings: _*).
settings( settings(
testedBaseSettings,
name := "Task System", name := "Task System",
testExclusive testExclusive
) )
@ -269,8 +279,8 @@ lazy val stdTaskProj = (project in tasksPath / "standard").
// Persisted caching based on SBinary // Persisted caching based on SBinary
lazy val cacheProj = (project in cachePath). lazy val cacheProj = (project in cachePath).
dependsOn (ioProj, collectionProj). dependsOn (ioProj, collectionProj).
settings(baseSettings: _*).
settings( settings(
baseSettings,
name := "Cache", name := "Cache",
libraryDependencies ++= Seq(sbinary, sbtSerialization) ++ scalaXml.value libraryDependencies ++= Seq(sbinary, sbtSerialization) ++ scalaXml.value
) )
@ -278,16 +288,16 @@ lazy val cacheProj = (project in cachePath).
// Builds on cache to provide caching for filesystem-related operations // Builds on cache to provide caching for filesystem-related operations
lazy val trackingProj = (project in cachePath / "tracking"). lazy val trackingProj = (project in cachePath / "tracking").
dependsOn(cacheProj, ioProj). dependsOn(cacheProj, ioProj).
settings(baseSettings: _*).
settings( settings(
baseSettings,
name := "Tracking" name := "Tracking"
) )
// Embedded Scala code runner // Embedded Scala code runner
lazy val runProj = (project in file("run")). lazy val runProj = (project in file("run")).
dependsOn (ioProj, logProj % "compile;test->test", classpathProj, processProj % "compile;test->test"). dependsOn (ioProj, logProj % "compile;test->test", classpathProj, processProj % "compile;test->test").
settings(testedBaseSettings: _*).
settings( settings(
testedBaseSettings,
name := "Run" name := "Run"
) )
@ -295,8 +305,9 @@ lazy val runProj = (project in file("run")).
// Includes API and Analyzer phases that extract source API and relationships. // Includes API and Analyzer phases that extract source API and relationships.
lazy val compileInterfaceProj = (project in compilePath / "interface"). lazy val compileInterfaceProj = (project in compilePath / "interface").
dependsOn(interfaceProj % "compile;test->test", ioProj % "test->test", logProj % "test->test", /*launchProj % "test->test",*/ apiProj % "test->test"). dependsOn(interfaceProj % "compile;test->test", ioProj % "test->test", logProj % "test->test", /*launchProj % "test->test",*/ apiProj % "test->test").
settings(baseSettings ++ precompiledSettings: _*).
settings( settings(
baseSettings,
precompiledSettings,
name := "Compiler Interface", name := "Compiler Interface",
exportJars := true, exportJars := true,
// we need to fork because in unit tests we set usejavacp = true which means // we need to fork because in unit tests we set usejavacp = true which means
@ -317,16 +328,16 @@ lazy val precompiled293 = precompiled(scala293)
// Defines the data structures for representing file fingerprints and relationships and the overall source analysis // Defines the data structures for representing file fingerprints and relationships and the overall source analysis
lazy val compileIncrementalProj = (project in compilePath / "inc"). lazy val compileIncrementalProj = (project in compilePath / "inc").
dependsOn (apiProj, ioProj, logProj, classpathProj, relationProj). dependsOn (apiProj, ioProj, logProj, classpathProj, relationProj).
settings(testedBaseSettings: _*).
settings( settings(
testedBaseSettings,
name := "Incremental Compiler" name := "Incremental Compiler"
) )
// Persists the incremental data structures using SBinary // Persists the incremental data structures using SBinary
lazy val compilePersistProj = (project in compilePath / "persist"). lazy val compilePersistProj = (project in compilePath / "persist").
dependsOn(compileIncrementalProj, apiProj, compileIncrementalProj % "test->test"). dependsOn(compileIncrementalProj, apiProj, compileIncrementalProj % "test->test").
settings(testedBaseSettings: _*).
settings( settings(
testedBaseSettings,
name := "Persist", name := "Persist",
libraryDependencies += sbinary libraryDependencies += sbinary
) )
@ -335,8 +346,8 @@ lazy val compilePersistProj = (project in compilePath / "persist").
lazy val compilerProj = (project in compilePath). lazy val compilerProj = (project in compilePath).
dependsOn(interfaceProj % "compile;test->test", logProj, ioProj, classpathProj, apiProj, classfileProj, dependsOn(interfaceProj % "compile;test->test", logProj, ioProj, classpathProj, apiProj, classfileProj,
logProj % "test->test" /*,launchProj % "test->test" */). logProj % "test->test" /*,launchProj % "test->test" */).
settings(testedBaseSettings: _*).
settings( settings(
testedBaseSettings,
name := "Compile", name := "Compile",
libraryDependencies ++= Seq(scalaCompiler.value % Test, launcherInterface), libraryDependencies ++= Seq(scalaCompiler.value % Test, launcherInterface),
unmanagedJars in Test <<= (packageSrc in compileInterfaceProj in Compile).map(x => Seq(x).classpath) unmanagedJars in Test <<= (packageSrc in compileInterfaceProj in Compile).map(x => Seq(x).classpath)
@ -344,38 +355,38 @@ lazy val compilerProj = (project in compilePath).
lazy val compilerIntegrationProj = (project in (compilePath / "integration")). lazy val compilerIntegrationProj = (project in (compilePath / "integration")).
dependsOn(compileIncrementalProj, compilerProj, compilePersistProj, apiProj, classfileProj). dependsOn(compileIncrementalProj, compilerProj, compilePersistProj, apiProj, classfileProj).
settings(baseSettings: _*).
settings( settings(
baseSettings,
name := "Compiler Integration" name := "Compiler Integration"
) )
lazy val compilerIvyProj = (project in compilePath / "ivy"). lazy val compilerIvyProj = (project in compilePath / "ivy").
dependsOn (ivyProj, compilerProj). dependsOn (ivyProj, compilerProj).
settings(baseSettings: _*).
settings( settings(
baseSettings,
name := "Compiler Ivy Integration" name := "Compiler Ivy Integration"
) )
lazy val scriptedBaseProj = (project in scriptedPath / "base"). lazy val scriptedBaseProj = (project in scriptedPath / "base").
dependsOn (ioProj, processProj). dependsOn (ioProj, processProj).
settings(testedBaseSettings: _*).
settings( settings(
testedBaseSettings,
name := "Scripted Framework", name := "Scripted Framework",
libraryDependencies ++= scalaParsers.value libraryDependencies ++= scalaParsers.value
) )
lazy val scriptedSbtProj = (project in scriptedPath / "sbt"). lazy val scriptedSbtProj = (project in scriptedPath / "sbt").
dependsOn (ioProj, logProj, processProj, scriptedBaseProj). dependsOn (ioProj, logProj, processProj, scriptedBaseProj).
settings(baseSettings: _*).
settings( settings(
baseSettings,
name := "Scripted sbt", name := "Scripted sbt",
libraryDependencies += launcherInterface % "provided" libraryDependencies += launcherInterface % "provided"
) )
lazy val scriptedPluginProj = (project in scriptedPath / "plugin"). lazy val scriptedPluginProj = (project in scriptedPath / "plugin").
dependsOn (sbtProj, classpathProj). dependsOn (sbtProj, classpathProj).
settings(baseSettings: _*).
settings( settings(
baseSettings,
name := "Scripted Plugin" name := "Scripted Plugin"
) )
@ -384,16 +395,16 @@ lazy val actionsProj = (project in mainPath / "actions").
dependsOn (classpathProj, completeProj, apiProj, compilerIntegrationProj, compilerIvyProj, dependsOn (classpathProj, completeProj, apiProj, compilerIntegrationProj, compilerIvyProj,
interfaceProj, ioProj, ivyProj, logProj, processProj, runProj, relationProj, stdTaskProj, interfaceProj, ioProj, ivyProj, logProj, processProj, runProj, relationProj, stdTaskProj,
taskProj, trackingProj, testingProj). taskProj, trackingProj, testingProj).
settings(testedBaseSettings: _*).
settings( settings(
testedBaseSettings,
name := "Actions" name := "Actions"
) )
// General command support and core commands not specific to a build system // General command support and core commands not specific to a build system
lazy val commandProj = (project in mainPath / "command"). lazy val commandProj = (project in mainPath / "command").
dependsOn(interfaceProj, ioProj, logProj, completeProj, classpathProj, crossProj). dependsOn(interfaceProj, ioProj, logProj, completeProj, classpathProj, crossProj).
settings(testedBaseSettings: _*).
settings( settings(
testedBaseSettings,
name := "Command", name := "Command",
libraryDependencies += launcherInterface libraryDependencies += launcherInterface
) )
@ -402,8 +413,8 @@ lazy val commandProj = (project in mainPath / "command").
lazy val mainSettingsProj = (project in mainPath / "settings"). lazy val mainSettingsProj = (project in mainPath / "settings").
dependsOn (applyMacroProj, interfaceProj, ivyProj, relationProj, logProj, ioProj, commandProj, dependsOn (applyMacroProj, interfaceProj, ivyProj, relationProj, logProj, ioProj, commandProj,
completeProj, classpathProj, stdTaskProj, processProj). completeProj, classpathProj, stdTaskProj, processProj).
settings(testedBaseSettings: _*).
settings( settings(
testedBaseSettings,
name := "Main Settings", name := "Main Settings",
libraryDependencies += sbinary libraryDependencies += sbinary
) )
@ -411,8 +422,8 @@ lazy val mainSettingsProj = (project in mainPath / "settings").
// The main integration project for sbt. It brings all of the Projsystems together, configures them, and provides for overriding conventions. // The main integration project for sbt. It brings all of the Projsystems together, configures them, and provides for overriding conventions.
lazy val mainProj = (project in mainPath). lazy val mainProj = (project in mainPath).
dependsOn (actionsProj, mainSettingsProj, interfaceProj, ioProj, ivyProj, logProj, logicProj, processProj, runProj, commandProj). dependsOn (actionsProj, mainSettingsProj, interfaceProj, ioProj, ivyProj, logProj, logicProj, processProj, runProj, commandProj).
settings(testedBaseSettings: _*).
settings( settings(
testedBaseSettings,
name := "Main", name := "Main",
libraryDependencies ++= scalaXml.value ++ Seq(launcherInterface) libraryDependencies ++= scalaXml.value ++ Seq(launcherInterface)
) )
@ -422,16 +433,16 @@ lazy val mainProj = (project in mainPath).
// with the sole purpose of providing certain identifiers without qualification (with a package object) // with the sole purpose of providing certain identifiers without qualification (with a package object)
lazy val sbtProj = (project in sbtPath). lazy val sbtProj = (project in sbtPath).
dependsOn(mainProj, compileInterfaceProj, precompiled282, precompiled292, precompiled293, scriptedSbtProj % "test->test"). dependsOn(mainProj, compileInterfaceProj, precompiled282, precompiled292, precompiled293, scriptedSbtProj % "test->test").
settings(baseSettings: _*).
settings( settings(
baseSettings,
name := "sbt", name := "sbt",
normalizedName := "sbt" normalizedName := "sbt"
) )
lazy val mavenResolverPluginProj = (project in file("sbt-maven-resolver")). lazy val mavenResolverPluginProj = (project in file("sbt-maven-resolver")).
dependsOn(sbtProj, ivyProj % "test->test"). dependsOn(sbtProj, ivyProj % "test->test").
settings(baseSettings: _*).
settings( settings(
baseSettings,
name := "sbt-maven-resolver", name := "sbt-maven-resolver",
libraryDependencies ++= aetherLibs, libraryDependencies ++= aetherLibs,
sbtPlugin := true sbtPlugin := true
@ -532,8 +543,9 @@ def precompiledSettings = Seq(
def precompiled(scalav: String): Project = Project(id = normalize("Precompiled " + scalav.replace('.', '_')), base = compilePath / "interface"). def precompiled(scalav: String): Project = Project(id = normalize("Precompiled " + scalav.replace('.', '_')), base = compilePath / "interface").
dependsOn(interfaceProj). dependsOn(interfaceProj).
settings(baseSettings ++ precompiledSettings: _*).
settings( settings(
baseSettings,
precompiledSettings,
name := "Precompiled " + scalav.replace('.', '_'), name := "Precompiled " + scalav.replace('.', '_'),
scalaHome := None, scalaHome := None,
scalaVersion <<= (scalaVersion in ThisBuild) { sbtScalaV => scalaVersion <<= (scalaVersion in ThisBuild) { sbtScalaV =>

View File

@ -45,12 +45,12 @@ object Build {
def defaultID(base: File, prefix: String = "default"): String = prefix + "-" + Hash.trimHashString(base.getAbsolutePath, 6) def defaultID(base: File, prefix: String = "default"): String = prefix + "-" + Hash.trimHashString(base.getAbsolutePath, 6)
@deprecated("Explicitly specify the ID", "0.13.0") @deprecated("Explicitly specify the ID", "0.13.0")
def defaultProject(base: File): Project = defaultProject(defaultID(base), base) def defaultProject(base: File): Project = defaultProject(defaultID(base), base)
def defaultProject(id: String, base: File): Project = Project(id, base).settings(defaultProjectSettings: _*) def defaultProject(id: String, base: File): Project = Project(id, base).settings(defaultProjectSettings)
def defaultAggregatedProject(id: String, base: File, agg: Seq[ProjectRef]): Project = def defaultAggregatedProject(id: String, base: File, agg: Seq[ProjectRef]): Project =
defaultProject(id, base).aggregate(agg: _*) defaultProject(id, base).aggregate(agg: _*)
private[sbt] def generatedRootWithoutIvyPlugin(id: String, base: File, agg: Seq[ProjectRef]): Project = private[sbt] def generatedRootWithoutIvyPlugin(id: String, base: File, agg: Seq[ProjectRef]): Project =
Project.mkGeneratedRoot(id, base, agg).settings(defaultProjectSettings: _*) Project.mkGeneratedRoot(id, base, agg).settings(defaultProjectSettings)
private[sbt] def defaultProjectSettings: Seq[Setting[_]] = Seq( private[sbt] def defaultProjectSettings: Seq[Setting[_]] = Seq(
// TODO - Can we move this somewhere else? ordering of settings is causing this to get borked. // TODO - Can we move this somewhere else? ordering of settings is causing this to get borked.
// if the user has overridden the name, use the normal organization that is derived from the name. // if the user has overridden the name, use the normal organization that is derived from the name.