mirror of https://github.com/sbt/sbt.git
Merge branch '1.2.x' into wip/merge-1.2.x
This commit is contained in:
commit
590dc5e96d
10
build.sbt
10
build.sbt
|
|
@ -2,6 +2,7 @@ import Util._
|
||||||
import Dependencies._
|
import Dependencies._
|
||||||
import Sxr.sxr
|
import Sxr.sxr
|
||||||
import com.typesafe.tools.mima.core._, ProblemFilters._
|
import com.typesafe.tools.mima.core._, ProblemFilters._
|
||||||
|
import local.Scripted
|
||||||
|
|
||||||
// ThisBuild settings take lower precedence,
|
// ThisBuild settings take lower precedence,
|
||||||
// but can be shared across the multi projects.
|
// but can be shared across the multi projects.
|
||||||
|
|
@ -9,7 +10,7 @@ def buildLevelSettings: Seq[Setting[_]] =
|
||||||
inThisBuild(
|
inThisBuild(
|
||||||
Seq(
|
Seq(
|
||||||
organization := "org.scala-sbt",
|
organization := "org.scala-sbt",
|
||||||
version := "1.2.0-SNAPSHOT",
|
version := "1.2.1-SNAPSHOT",
|
||||||
description := "sbt is an interactive build tool",
|
description := "sbt is an interactive build tool",
|
||||||
bintrayOrganization := Some("sbt"),
|
bintrayOrganization := Some("sbt"),
|
||||||
bintrayRepository := {
|
bintrayRepository := {
|
||||||
|
|
@ -80,7 +81,8 @@ val mimaSettings = Def settings (
|
||||||
mimaPreviousArtifacts := {
|
mimaPreviousArtifacts := {
|
||||||
Seq(
|
Seq(
|
||||||
"1.0.0", "1.0.1", "1.0.2", "1.0.3", "1.0.4",
|
"1.0.0", "1.0.1", "1.0.2", "1.0.3", "1.0.4",
|
||||||
"1.1.0", "1.1.1", "1.1.2",
|
"1.1.0", "1.1.1", "1.1.2", "1.1.3", "1.1.4", "1.1.5", "1.1.6",
|
||||||
|
"1.2.0"
|
||||||
).map { v =>
|
).map { v =>
|
||||||
organization.value % moduleName.value % v cross (if (crossPaths.value) CrossVersion.binary else CrossVersion.disabled)
|
organization.value % moduleName.value % v cross (if (crossPaths.value) CrossVersion.binary else CrossVersion.disabled)
|
||||||
}.toSet
|
}.toSet
|
||||||
|
|
@ -719,6 +721,10 @@ def allProjects =
|
||||||
|
|
||||||
lazy val nonRoots = allProjects.map(p => LocalProject(p.id))
|
lazy val nonRoots = allProjects.map(p => LocalProject(p.id))
|
||||||
|
|
||||||
|
|
||||||
|
ThisBuild / scriptedBufferLog := true
|
||||||
|
ThisBuild / scriptedPrescripted := { _ => }
|
||||||
|
|
||||||
def otherRootSettings =
|
def otherRootSettings =
|
||||||
Seq(
|
Seq(
|
||||||
scripted := scriptedTask.evaluated,
|
scripted := scriptedTask.evaluated,
|
||||||
|
|
|
||||||
|
|
@ -135,8 +135,10 @@ object Defaults extends BuildCommon {
|
||||||
def buildCore: Seq[Setting[_]] = thisBuildCore ++ globalCore
|
def buildCore: Seq[Setting[_]] = thisBuildCore ++ globalCore
|
||||||
def thisBuildCore: Seq[Setting[_]] =
|
def thisBuildCore: Seq[Setting[_]] =
|
||||||
inScope(GlobalScope.copy(project = Select(ThisBuild)))(
|
inScope(GlobalScope.copy(project = Select(ThisBuild)))(
|
||||||
|
Seq(
|
||||||
managedDirectory := baseDirectory.value / "lib_managed"
|
managedDirectory := baseDirectory.value / "lib_managed"
|
||||||
)
|
)
|
||||||
|
)
|
||||||
private[sbt] lazy val globalCore: Seq[Setting[_]] = globalDefaults(
|
private[sbt] lazy val globalCore: Seq[Setting[_]] = globalDefaults(
|
||||||
defaultTestTasks(test) ++ defaultTestTasks(testOnly) ++ defaultTestTasks(testQuick) ++ Seq(
|
defaultTestTasks(test) ++ defaultTestTasks(testOnly) ++ defaultTestTasks(testQuick) ++ Seq(
|
||||||
excludeFilter :== HiddenFileFilter
|
excludeFilter :== HiddenFileFilter
|
||||||
|
|
@ -303,9 +305,11 @@ object Defaults extends BuildCommon {
|
||||||
|
|
||||||
def defaultTestTasks(key: Scoped): Seq[Setting[_]] =
|
def defaultTestTasks(key: Scoped): Seq[Setting[_]] =
|
||||||
inTask(key)(
|
inTask(key)(
|
||||||
|
Seq(
|
||||||
tags := Seq(Tags.Test -> 1),
|
tags := Seq(Tags.Test -> 1),
|
||||||
logBuffered := true
|
logBuffered := true
|
||||||
)
|
)
|
||||||
|
)
|
||||||
|
|
||||||
// TODO: This should be on the new default settings for a project.
|
// TODO: This should be on the new default settings for a project.
|
||||||
def projectCore: Seq[Setting[_]] = Seq(
|
def projectCore: Seq[Setting[_]] = Seq(
|
||||||
|
|
@ -761,6 +765,7 @@ object Defaults extends BuildCommon {
|
||||||
lazy val ConfigGlobal: Scope = ConfigZero
|
lazy val ConfigGlobal: Scope = ConfigZero
|
||||||
def testTaskOptions(key: Scoped): Seq[Setting[_]] =
|
def testTaskOptions(key: Scoped): Seq[Setting[_]] =
|
||||||
inTask(key)(
|
inTask(key)(
|
||||||
|
Seq(
|
||||||
testListeners := {
|
testListeners := {
|
||||||
TestLogger.make(
|
TestLogger.make(
|
||||||
streams.value.log,
|
streams.value.log,
|
||||||
|
|
@ -775,9 +780,12 @@ object Defaults extends BuildCommon {
|
||||||
},
|
},
|
||||||
testOptions := Tests.Listeners(testListeners.value) +: (testOptions in TaskZero).value,
|
testOptions := Tests.Listeners(testListeners.value) +: (testOptions in TaskZero).value,
|
||||||
testExecution := testExecutionTask(key).value
|
testExecution := testExecutionTask(key).value
|
||||||
|
)
|
||||||
) ++ inScope(GlobalScope)(
|
) ++ inScope(GlobalScope)(
|
||||||
|
Seq(
|
||||||
derive(testGrouping := singleTestGroupDefault.value)
|
derive(testGrouping := singleTestGroupDefault.value)
|
||||||
)
|
)
|
||||||
|
)
|
||||||
|
|
||||||
private[this] def closeableTestLogger(manager: Streams, baseKey: Scoped, buffered: Boolean)(
|
private[this] def closeableTestLogger(manager: Streams, baseKey: Scoped, buffered: Boolean)(
|
||||||
tdef: TestDefinition
|
tdef: TestDefinition
|
||||||
|
|
@ -1049,6 +1057,7 @@ object Defaults extends BuildCommon {
|
||||||
|
|
||||||
lazy val packageConfig: Seq[Setting[_]] =
|
lazy val packageConfig: Seq[Setting[_]] =
|
||||||
inTask(packageBin)(
|
inTask(packageBin)(
|
||||||
|
Seq(
|
||||||
packageOptions := {
|
packageOptions := {
|
||||||
val n = name.value
|
val n = name.value
|
||||||
val ver = version.value
|
val ver = version.value
|
||||||
|
|
@ -1060,13 +1069,16 @@ object Defaults extends BuildCommon {
|
||||||
Package.addImplManifestAttributes(n, ver, homepage.value, org, orgName) +:
|
Package.addImplManifestAttributes(n, ver, homepage.value, org, orgName) +:
|
||||||
main.map(Package.MainClass.apply) ++: old
|
main.map(Package.MainClass.apply) ++: old
|
||||||
}
|
}
|
||||||
|
)
|
||||||
) ++
|
) ++
|
||||||
inTask(packageSrc)(
|
inTask(packageSrc)(
|
||||||
|
Seq(
|
||||||
packageOptions := Package.addSpecManifestAttributes(
|
packageOptions := Package.addSpecManifestAttributes(
|
||||||
name.value,
|
name.value,
|
||||||
version.value,
|
version.value,
|
||||||
organizationName.value
|
organizationName.value
|
||||||
) +: packageOptions.value
|
) +: packageOptions.value
|
||||||
|
)
|
||||||
) ++
|
) ++
|
||||||
packageTaskSettings(packageBin, packageBinMappings) ++
|
packageTaskSettings(packageBin, packageBinMappings) ++
|
||||||
packageTaskSettings(packageSrc, packageSrcMappings) ++
|
packageTaskSettings(packageSrc, packageSrcMappings) ++
|
||||||
|
|
@ -1154,6 +1166,7 @@ object Defaults extends BuildCommon {
|
||||||
|
|
||||||
def packageTaskSettings(key: TaskKey[File], mappingsTask: Initialize[Task[Seq[(File, String)]]]) =
|
def packageTaskSettings(key: TaskKey[File], mappingsTask: Initialize[Task[Seq[(File, String)]]]) =
|
||||||
inTask(key)(
|
inTask(key)(
|
||||||
|
Seq(
|
||||||
key in TaskZero := packageTask.value,
|
key in TaskZero := packageTask.value,
|
||||||
packageConfiguration := packageConfigurationTask.value,
|
packageConfiguration := packageConfigurationTask.value,
|
||||||
mappings := mappingsTask.value,
|
mappings := mappingsTask.value,
|
||||||
|
|
@ -1161,6 +1174,7 @@ object Defaults extends BuildCommon {
|
||||||
artifact := artifactSetting.value,
|
artifact := artifactSetting.value,
|
||||||
artifactPath := artifactPathSetting(artifact).value
|
artifactPath := artifactPathSetting(artifact).value
|
||||||
)
|
)
|
||||||
|
)
|
||||||
|
|
||||||
def packageTask: Initialize[Task[File]] =
|
def packageTask: Initialize[Task[File]] =
|
||||||
Def.task {
|
Def.task {
|
||||||
|
|
@ -1367,6 +1381,7 @@ object Defaults extends BuildCommon {
|
||||||
|
|
||||||
def docTaskSettings(key: TaskKey[File] = doc): Seq[Setting[_]] =
|
def docTaskSettings(key: TaskKey[File] = doc): Seq[Setting[_]] =
|
||||||
inTask(key)(
|
inTask(key)(
|
||||||
|
Seq(
|
||||||
apiMappings ++= {
|
apiMappings ++= {
|
||||||
val dependencyCp = dependencyClasspath.value
|
val dependencyCp = dependencyClasspath.value
|
||||||
val log = streams.value.log
|
val log = streams.value.log
|
||||||
|
|
@ -1411,6 +1426,7 @@ object Defaults extends BuildCommon {
|
||||||
out
|
out
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
)
|
||||||
|
|
||||||
def mainBgRunTask = mainBgRunTaskForConfig(Select(Runtime))
|
def mainBgRunTask = mainBgRunTaskForConfig(Select(Runtime))
|
||||||
def mainBgRunMainTask = mainBgRunMainTaskForConfig(Select(Runtime))
|
def mainBgRunMainTask = mainBgRunMainTaskForConfig(Select(Runtime))
|
||||||
|
|
@ -1710,6 +1726,7 @@ object Defaults extends BuildCommon {
|
||||||
// build.sbt is treated a Scala source of metabuild, so to enable deprecation flag on build.sbt we set the option here.
|
// build.sbt is treated a Scala source of metabuild, so to enable deprecation flag on build.sbt we set the option here.
|
||||||
lazy val deprecationSettings: Seq[Setting[_]] =
|
lazy val deprecationSettings: Seq[Setting[_]] =
|
||||||
inConfig(Compile)(
|
inConfig(Compile)(
|
||||||
|
Seq(
|
||||||
scalacOptions := {
|
scalacOptions := {
|
||||||
val old = scalacOptions.value
|
val old = scalacOptions.value
|
||||||
val existing = old.toSet
|
val existing = old.toSet
|
||||||
|
|
@ -1718,6 +1735,7 @@ object Defaults extends BuildCommon {
|
||||||
else old
|
else old
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
object Classpaths {
|
object Classpaths {
|
||||||
import Keys._
|
import Keys._
|
||||||
|
|
@ -2259,6 +2277,7 @@ object Classpaths {
|
||||||
def sbtClassifiersTasks =
|
def sbtClassifiersTasks =
|
||||||
sbtClassifiersGlobalDefaults ++
|
sbtClassifiersGlobalDefaults ++
|
||||||
inTask(updateSbtClassifiers)(
|
inTask(updateSbtClassifiers)(
|
||||||
|
Seq(
|
||||||
externalResolvers := {
|
externalResolvers := {
|
||||||
val explicit = buildStructure.value
|
val explicit = buildStructure.value
|
||||||
.units(thisProjectRef.value.build)
|
.units(thisProjectRef.value.build)
|
||||||
|
|
@ -2335,6 +2354,7 @@ object Classpaths {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} tag (Tags.Update, Tags.Network)).value
|
} tag (Tags.Update, Tags.Network)).value
|
||||||
|
)
|
||||||
) ++ Seq(bootIvyConfiguration := (ivyConfiguration in updateSbtClassifiers).value)
|
) ++ Seq(bootIvyConfiguration := (ivyConfiguration in updateSbtClassifiers).value)
|
||||||
|
|
||||||
def classifiersModuleTask: Initialize[Task[GetClassifiersModule]] =
|
def classifiersModuleTask: Initialize[Task[GetClassifiersModule]] =
|
||||||
|
|
@ -3458,7 +3478,7 @@ trait BuildExtra extends BuildCommon with DefExtra {
|
||||||
* This is useful for reducing test:compile time when not running test.
|
* This is useful for reducing test:compile time when not running test.
|
||||||
*/
|
*/
|
||||||
def noTestCompletion(config: Configuration = Test): Setting[_] =
|
def noTestCompletion(config: Configuration = Test): Setting[_] =
|
||||||
inConfig(config)(definedTests := detectTests.value).head
|
inConfig(config)(Seq(definedTests := detectTests.value)).head
|
||||||
|
|
||||||
def filterKeys(ss: Seq[Setting[_]], transitive: Boolean = false)(
|
def filterKeys(ss: Seq[Setting[_]], transitive: Boolean = false)(
|
||||||
f: ScopedKey[_] => Boolean
|
f: ScopedKey[_] => Boolean
|
||||||
|
|
|
||||||
|
|
@ -148,7 +148,7 @@ final case class Extracted(
|
||||||
): State = {
|
): State = {
|
||||||
val appendSettings =
|
val appendSettings =
|
||||||
Load.transformSettings(Load.projectScope(currentRef), currentRef.build, rootProject, settings)
|
Load.transformSettings(Load.projectScope(currentRef), currentRef.build, rootProject, settings)
|
||||||
val newStructure = Load.reapply(sessionSettings ++ appendSettings, structure, state.log)
|
val newStructure = Load.reapply(sessionSettings ++ appendSettings, structure)
|
||||||
Project.setProject(session, newStructure, state)
|
Project.setProject(session, newStructure, state)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -472,7 +472,7 @@ object BuiltinCommands {
|
||||||
val loggerInject = LogManager.settingsLogger(s)
|
val loggerInject = LogManager.settingsLogger(s)
|
||||||
val withLogger = newSession.appendRaw(loggerInject :: Nil)
|
val withLogger = newSession.appendRaw(loggerInject :: Nil)
|
||||||
val show = Project.showContextKey2(newSession)
|
val show = Project.showContextKey2(newSession)
|
||||||
val newStructure = Load.reapply(withLogger.mergeSettings, structure, s.log)(show)
|
val newStructure = Load.reapply(withLogger.mergeSettings, structure)(show)
|
||||||
Project.setProject(newSession, newStructure, s)
|
Project.setProject(newSession, newStructure, s)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -47,10 +47,10 @@ private[sbt] object PluginCross {
|
||||||
val add = List(sbtVersion in GlobalScope in pluginCrossBuild :== version) ++
|
val add = List(sbtVersion in GlobalScope in pluginCrossBuild :== version) ++
|
||||||
List(scalaVersion := scalaVersionSetting.value) ++
|
List(scalaVersion := scalaVersionSetting.value) ++
|
||||||
inScope(GlobalScope.copy(project = Select(currentRef)))(
|
inScope(GlobalScope.copy(project = Select(currentRef)))(
|
||||||
scalaVersion := scalaVersionSetting.value
|
Seq(scalaVersion := scalaVersionSetting.value)
|
||||||
)
|
)
|
||||||
val cleared = session.mergeSettings.filterNot(crossExclude)
|
val cleared = session.mergeSettings.filterNot(crossExclude)
|
||||||
val newStructure = Load.reapply(cleared ++ add, structure, state.log)
|
val newStructure = Load.reapply(cleared ++ add, structure)
|
||||||
Project.setProject(session, newStructure, command :: state)
|
Project.setProject(session, newStructure, command :: state)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ import Keys.{
|
||||||
watch
|
watch
|
||||||
}
|
}
|
||||||
import Scope.{ Global, ThisScope }
|
import Scope.{ Global, ThisScope }
|
||||||
import Def.{ Flattened, Initialize, ScopedKey, Setting, SettingsDefinition }
|
import Def.{ Flattened, Initialize, ScopedKey, Setting }
|
||||||
import sbt.internal.{
|
import sbt.internal.{
|
||||||
Load,
|
Load,
|
||||||
BuildStructure,
|
BuildStructure,
|
||||||
|
|
@ -892,19 +892,17 @@ trait ProjectExtra {
|
||||||
implicit def richTaskSessionVar[T](init: Initialize[Task[T]]): Project.RichTaskSessionVar[T] =
|
implicit def richTaskSessionVar[T](init: Initialize[Task[T]]): Project.RichTaskSessionVar[T] =
|
||||||
new Project.RichTaskSessionVar(init)
|
new Project.RichTaskSessionVar(init)
|
||||||
|
|
||||||
def inThisBuild(ss: SettingsDefinition*): Seq[Setting[_]] =
|
def inThisBuild(ss: Seq[Setting[_]]): Seq[Setting[_]] =
|
||||||
inScope(ThisScope.copy(project = Select(ThisBuild)))(ss flatMap (_.settings))
|
inScope(ThisScope.copy(project = Select(ThisBuild)))(ss)
|
||||||
|
|
||||||
def inConfig(conf: Configuration)(ss: SettingsDefinition*): Seq[Setting[_]] =
|
def inConfig(conf: Configuration)(ss: Seq[Setting[_]]): Seq[Setting[_]] =
|
||||||
inScope(ThisScope.copy(config = Select(conf)))(
|
inScope(ThisScope.copy(config = Select(conf)))((configuration :== conf) +: ss)
|
||||||
(configuration :== conf) +: (ss flatMap (_.settings))
|
|
||||||
)
|
|
||||||
|
|
||||||
def inTask(t: Scoped)(ss: SettingsDefinition*): Seq[Setting[_]] =
|
def inTask(t: Scoped)(ss: Seq[Setting[_]]): Seq[Setting[_]] =
|
||||||
inScope(ThisScope.copy(task = Select(t.key)))(ss flatMap (_.settings))
|
inScope(ThisScope.copy(task = Select(t.key)))(ss)
|
||||||
|
|
||||||
def inScope(scope: Scope)(ss: SettingsDefinition*): Seq[Setting[_]] =
|
def inScope(scope: Scope)(ss: Seq[Setting[_]]): Seq[Setting[_]] =
|
||||||
Project.transform(Scope.replaceThis(scope), ss flatMap (_.settings))
|
Project.transform(Scope.replaceThis(scope), ss)
|
||||||
|
|
||||||
private[sbt] def inThisBuild[T](i: Initialize[T]): Initialize[T] =
|
private[sbt] def inThisBuild[T](i: Initialize[T]): Initialize[T] =
|
||||||
inScope(ThisScope.copy(project = Select(ThisBuild)), i)
|
inScope(ThisScope.copy(project = Select(ThisBuild)), i)
|
||||||
|
|
|
||||||
|
|
@ -106,12 +106,14 @@ object GlobalPlugin {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val globalPluginSettings = Project.inScope(Scope.GlobalScope in LocalRootProject)(
|
val globalPluginSettings = Project.inScope(Scope.GlobalScope in LocalRootProject)(
|
||||||
|
Seq(
|
||||||
organization := SbtArtifacts.Organization,
|
organization := SbtArtifacts.Organization,
|
||||||
onLoadMessage := Keys.baseDirectory("Loading global plugins from " + _).value,
|
onLoadMessage := Keys.baseDirectory("Loading global plugins from " + _).value,
|
||||||
name := "global-plugin",
|
name := "global-plugin",
|
||||||
sbtPlugin := true,
|
sbtPlugin := true,
|
||||||
version := "0.0"
|
version := "0.0"
|
||||||
)
|
)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
final case class GlobalPluginData(
|
final case class GlobalPluginData(
|
||||||
projectID: ModuleID,
|
projectID: ModuleID,
|
||||||
|
|
|
||||||
|
|
@ -267,7 +267,7 @@ private[sbt] object Load {
|
||||||
}
|
}
|
||||||
Project.checkTargets(data) foreach sys.error
|
Project.checkTargets(data) foreach sys.error
|
||||||
val index = timed("Load.apply: structureIndex", log) {
|
val index = timed("Load.apply: structureIndex", log) {
|
||||||
structureIndex(data, settings, loaded.extra(data), projects, log)
|
structureIndex(data, settings, loaded.extra(data), projects)
|
||||||
}
|
}
|
||||||
val streams = timed("Load.apply: mkStreams", log) { mkStreams(projects, loaded.root, data) }
|
val streams = timed("Load.apply: mkStreams", log) { mkStreams(projects, loaded.root, data) }
|
||||||
val bs = new BuildStructure(
|
val bs = new BuildStructure(
|
||||||
|
|
@ -321,8 +321,7 @@ private[sbt] object Load {
|
||||||
data: Settings[Scope],
|
data: Settings[Scope],
|
||||||
settings: Seq[Setting[_]],
|
settings: Seq[Setting[_]],
|
||||||
extra: KeyIndex => BuildUtil[_],
|
extra: KeyIndex => BuildUtil[_],
|
||||||
projects: Map[URI, LoadedBuildUnit],
|
projects: Map[URI, LoadedBuildUnit]
|
||||||
log: Logger
|
|
||||||
): StructureIndex = {
|
): StructureIndex = {
|
||||||
val keys = Index.allKeys(settings)
|
val keys = Index.allKeys(settings)
|
||||||
val attributeKeys = Index.attributeKeys(data) ++ keys.map(_.key)
|
val attributeKeys = Index.attributeKeys(data) ++ keys.map(_.key)
|
||||||
|
|
@ -331,7 +330,6 @@ private[sbt] object Load {
|
||||||
val configsMap: Map[String, Seq[Configuration]] =
|
val configsMap: Map[String, Seq[Configuration]] =
|
||||||
projects.values.flatMap(bu => bu.defined map { case (k, v) => (k, v.configurations) }).toMap
|
projects.values.flatMap(bu => bu.defined map { case (k, v) => (k, v.configurations) }).toMap
|
||||||
val keyIndex = KeyIndex(scopedKeys.toVector, projectsMap, configsMap)
|
val keyIndex = KeyIndex(scopedKeys.toVector, projectsMap, configsMap)
|
||||||
checkConfigurations(keyIndex, log)
|
|
||||||
val aggIndex = KeyIndex.aggregate(scopedKeys.toVector, extra(keyIndex), projectsMap, configsMap)
|
val aggIndex = KeyIndex.aggregate(scopedKeys.toVector, extra(keyIndex), projectsMap, configsMap)
|
||||||
new StructureIndex(
|
new StructureIndex(
|
||||||
Index.stringToKeyMap(attributeKeys),
|
Index.stringToKeyMap(attributeKeys),
|
||||||
|
|
@ -342,33 +340,14 @@ private[sbt] object Load {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private def checkConfigurations(keyIndex: KeyIndex, log: Logger): Unit = {
|
|
||||||
keyIndex.guessedConfigIdents
|
|
||||||
.collect {
|
|
||||||
// Filter out any global configurations since we don't have a way of fixing them.
|
|
||||||
// Chances are this is only going to be the Test configuration which will have guessed correctly.
|
|
||||||
case (Some(projectRef), config, guess) =>
|
|
||||||
(Reference.display(projectRef), config, guess)
|
|
||||||
}
|
|
||||||
.foreach {
|
|
||||||
case (project, config, guess) =>
|
|
||||||
log.warn(
|
|
||||||
s"""The project $project references an unknown configuration "$config" and was guessed to be "$guess"."""
|
|
||||||
)
|
|
||||||
log.warn("This configuration should be explicitly added to the project.")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Reevaluates settings after modifying them. Does not recompile or reload any build components.
|
// Reevaluates settings after modifying them. Does not recompile or reload any build components.
|
||||||
def reapply(
|
def reapply(newSettings: Seq[Setting[_]], structure: BuildStructure)(
|
||||||
newSettings: Seq[Setting[_]],
|
implicit display: Show[ScopedKey[_]]
|
||||||
structure: BuildStructure,
|
): BuildStructure = {
|
||||||
log: Logger
|
|
||||||
)(implicit display: Show[ScopedKey[_]]): BuildStructure = {
|
|
||||||
val transformed = finalTransforms(newSettings)
|
val transformed = finalTransforms(newSettings)
|
||||||
val newData = Def.make(transformed)(structure.delegates, structure.scopeLocal, display)
|
val newData = Def.make(transformed)(structure.delegates, structure.scopeLocal, display)
|
||||||
def extra(index: KeyIndex) = BuildUtil(structure.root, structure.units, index, newData)
|
def extra(index: KeyIndex) = BuildUtil(structure.root, structure.units, index, newData)
|
||||||
val newIndex = structureIndex(newData, transformed, extra, structure.units, log)
|
val newIndex = structureIndex(newData, transformed, extra, structure.units)
|
||||||
val newStreams = mkStreams(structure.units, structure.root, newData)
|
val newStreams = mkStreams(structure.units, structure.root, newData)
|
||||||
new BuildStructure(
|
new BuildStructure(
|
||||||
units = structure.units,
|
units = structure.units,
|
||||||
|
|
@ -382,6 +361,15 @@ private[sbt] object Load {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@deprecated("No longer used. For binary compatibility", "1.2.1")
|
||||||
|
def reapply(
|
||||||
|
newSettings: Seq[Setting[_]],
|
||||||
|
structure: BuildStructure,
|
||||||
|
log: Logger
|
||||||
|
)(implicit display: Show[ScopedKey[_]]): BuildStructure = {
|
||||||
|
reapply(newSettings, structure)
|
||||||
|
}
|
||||||
|
|
||||||
def buildConfigurations(
|
def buildConfigurations(
|
||||||
loaded: LoadedBuild,
|
loaded: LoadedBuild,
|
||||||
rootProject: URI => String,
|
rootProject: URI => String,
|
||||||
|
|
@ -1189,6 +1177,7 @@ private[sbt] object Load {
|
||||||
|
|
||||||
/** These are the settings defined when loading a project "meta" build. */
|
/** These are the settings defined when loading a project "meta" build. */
|
||||||
val autoPluginSettings: Seq[Setting[_]] = inScope(GlobalScope in LocalRootProject)(
|
val autoPluginSettings: Seq[Setting[_]] = inScope(GlobalScope in LocalRootProject)(
|
||||||
|
Seq(
|
||||||
sbtPlugin :== true,
|
sbtPlugin :== true,
|
||||||
pluginData := {
|
pluginData := {
|
||||||
val prod = (exportedProducts in Configurations.Runtime).value
|
val prod = (exportedProducts in Configurations.Runtime).value
|
||||||
|
|
@ -1204,6 +1193,7 @@ private[sbt] object Load {
|
||||||
},
|
},
|
||||||
onLoadMessage := ("Loading project definition from " + baseDirectory.value)
|
onLoadMessage := ("Loading project definition from " + baseDirectory.value)
|
||||||
)
|
)
|
||||||
|
)
|
||||||
|
|
||||||
private[this] def removeEntries(
|
private[this] def removeEntries(
|
||||||
cp: Seq[Attributed[File]],
|
cp: Seq[Attributed[File]],
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ object Script {
|
||||||
scriptSettings ++ embeddedSettings
|
scriptSettings ++ embeddedSettings
|
||||||
)
|
)
|
||||||
|
|
||||||
val newStructure = Load.reapply(session.original ++ append, structure, state.log)
|
val newStructure = Load.reapply(session.original ++ append, structure)
|
||||||
val arguments = state.remainingCommands.drop(1).map(e => s""""${e.commandLine}"""")
|
val arguments = state.remainingCommands.drop(1).map(e => s""""${e.commandLine}"""")
|
||||||
val newState = arguments.mkString("run ", " ", "") :: state.copy(remainingCommands = Nil)
|
val newState = arguments.mkString("run ", " ", "") :: state.copy(remainingCommands = Nil)
|
||||||
Project.setProject(session, newStructure, newState)
|
Project.setProject(session, newStructure, newState)
|
||||||
|
|
|
||||||
|
|
@ -104,7 +104,7 @@ object FakeState {
|
||||||
val extra: KeyIndex => BuildUtil[_] = (keyIndex) =>
|
val extra: KeyIndex => BuildUtil[_] = (keyIndex) =>
|
||||||
BuildUtil(base.toURI, Map.empty, keyIndex, data)
|
BuildUtil(base.toURI, Map.empty, keyIndex, data)
|
||||||
val structureIndex: StructureIndex =
|
val structureIndex: StructureIndex =
|
||||||
Load.structureIndex(data, settings, extra, Map.empty, Logger.Null)
|
Load.structureIndex(data, settings, extra, Map.empty)
|
||||||
val streams: (State) => BuildStreams.Streams = null
|
val streams: (State) => BuildStreams.Streams = null
|
||||||
|
|
||||||
val loadedDefinitions: LoadedDefinitions = new LoadedDefinitions(
|
val loadedDefinitions: LoadedDefinitions = new LoadedDefinitions(
|
||||||
|
|
|
||||||
|
|
@ -174,7 +174,7 @@ object SettingQueryTest extends org.specs2.mutable.Specification {
|
||||||
val data: Settings[Scope] = Def.make(settings)(delegates, scopeLocal, display)
|
val data: Settings[Scope] = Def.make(settings)(delegates, scopeLocal, display)
|
||||||
val extra: KeyIndex => BuildUtil[_] = index => BuildUtil(baseUri, units, index, data)
|
val extra: KeyIndex => BuildUtil[_] = index => BuildUtil(baseUri, units, index, data)
|
||||||
|
|
||||||
val index: StructureIndex = structureIndex(data, settings, extra, units, Logger.Null)
|
val index: StructureIndex = structureIndex(data, settings, extra, units)
|
||||||
val streams: State => Streams = mkStreams(units, baseUri, data)
|
val streams: State => Streams = mkStreams(units, baseUri, data)
|
||||||
|
|
||||||
val structure: BuildStructure =
|
val structure: BuildStructure =
|
||||||
|
|
|
||||||
|
|
@ -8,10 +8,10 @@ object Dependencies {
|
||||||
val baseScalaVersion = scala212
|
val baseScalaVersion = scala212
|
||||||
|
|
||||||
// sbt modules
|
// sbt modules
|
||||||
private val ioVersion = "1.2.0-M2"
|
private val ioVersion = "1.2.1"
|
||||||
private val utilVersion = "1.2.0-M2"
|
private val utilVersion = "1.2.0"
|
||||||
private val lmVersion = "1.2.0-M3"
|
private val lmVersion = "1.2.0"
|
||||||
private val zincVersion = "1.2.0-M2"
|
private val zincVersion = "1.2.1"
|
||||||
|
|
||||||
private val sbtIO = "org.scala-sbt" %% "io" % ioVersion
|
private val sbtIO = "org.scala-sbt" %% "io" % ioVersion
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,32 +1,26 @@
|
||||||
|
package local
|
||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException
|
import java.lang.reflect.InvocationTargetException
|
||||||
|
|
||||||
import sbt._
|
import sbt._
|
||||||
import sbt.internal.inc.ScalaInstance
|
import sbt.internal.inc.ScalaInstance
|
||||||
import sbt.internal.inc.classpath.{ ClasspathUtilities, FilteredLoader }
|
import sbt.internal.inc.classpath.{ ClasspathUtilities, FilteredLoader }
|
||||||
|
import sbt.ScriptedPlugin.autoImport._
|
||||||
|
|
||||||
object ScriptedPlugin extends AutoPlugin {
|
object LocalScriptedPlugin extends AutoPlugin {
|
||||||
override def requires = plugins.JvmPlugin
|
override def requires = plugins.JvmPlugin
|
||||||
|
|
||||||
object autoImport extends ScriptedKeys
|
object autoImport extends ScriptedKeys
|
||||||
|
|
||||||
import autoImport._
|
import autoImport._
|
||||||
|
|
||||||
override def globalSettings = super.globalSettings ++ Seq(
|
|
||||||
scriptedBufferLog := true,
|
|
||||||
scriptedPrescripted := { _ => },
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
trait ScriptedKeys {
|
trait ScriptedKeys {
|
||||||
val publishAll = taskKey[Unit]("")
|
val publishAll = taskKey[Unit]("")
|
||||||
val publishLocalBinAll = taskKey[Unit]("")
|
val publishLocalBinAll = taskKey[Unit]("")
|
||||||
val scripted = inputKey[Unit]("")
|
|
||||||
val scriptedUnpublished = inputKey[Unit]("Execute scripted without publishing sbt first. " +
|
val scriptedUnpublished = inputKey[Unit]("Execute scripted without publishing sbt first. " +
|
||||||
"Saves you some time when only your test has changed")
|
"Saves you some time when only your test has changed")
|
||||||
val scriptedSource = settingKey[File]("")
|
val scriptedSource = settingKey[File]("")
|
||||||
val scriptedPrescripted = taskKey[File => Unit]("")
|
val scriptedPrescripted = taskKey[File => Unit]("")
|
||||||
val scriptedBufferLog = settingKey[Boolean]("")
|
|
||||||
val scriptedLaunchOpts = settingKey[Seq[String]]("options to pass to jvm launching scripted tasks")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
object Scripted {
|
object Scripted {
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
sbt.version=1.1.6
|
sbt.version=1.2.0
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
inThisBuild(
|
inThisBuild(List(
|
||||||
crossScalaVersions := Seq("2.12.1", "2.11.8")
|
crossScalaVersions := Seq("2.12.1", "2.11.8")
|
||||||
)
|
))
|
||||||
|
|
||||||
lazy val rootProj = (project in file("."))
|
lazy val rootProj = (project in file("."))
|
||||||
.aggregate(libProj, fooPlugin)
|
.aggregate(libProj, fooPlugin)
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ x in subA in Compile := {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inConfig(Compile)(
|
inConfig(Compile)(Seq(
|
||||||
y in subB := {
|
y in subB := {
|
||||||
// verify that the referenced key gets delegated
|
// verify that the referenced key gets delegated
|
||||||
val xty = (x in Test in y).previous getOrElse 0 // 13
|
val xty = (x in Test in y).previous getOrElse 0 // 13
|
||||||
|
|
@ -31,7 +31,7 @@ inConfig(Compile)(
|
||||||
println(s"xcy=$xcy, xty=$xty")
|
println(s"xcy=$xcy, xty=$xty")
|
||||||
xty * xcy
|
xty * xcy
|
||||||
}
|
}
|
||||||
)
|
))
|
||||||
|
|
||||||
def parser = {
|
def parser = {
|
||||||
import complete.DefaultParsers._
|
import complete.DefaultParsers._
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ dependencyOverrides in ThisBuild += "com.github.nscala-time" %% "nscala-time" %
|
||||||
lazy val root = (project in file("."))
|
lazy val root = (project in file("."))
|
||||||
.dependsOn(p1 % Compile)
|
.dependsOn(p1 % Compile)
|
||||||
.settings(
|
.settings(
|
||||||
inThisBuild(
|
inThisBuild(List(
|
||||||
organizationName := "eed3si9n",
|
organizationName := "eed3si9n",
|
||||||
organizationHomepage := Some(url("http://example.com/")),
|
organizationHomepage := Some(url("http://example.com/")),
|
||||||
homepage := Some(url("https://github.com/example/example")),
|
homepage := Some(url("https://github.com/example/example")),
|
||||||
|
|
@ -20,7 +20,7 @@ lazy val root = (project in file("."))
|
||||||
version := "0.3.1-SNAPSHOT",
|
version := "0.3.1-SNAPSHOT",
|
||||||
description := "An HTTP client for Scala with Async Http Client underneath.",
|
description := "An HTTP client for Scala with Async Http Client underneath.",
|
||||||
licenses := Seq("Apache 2" -> new URL("http://www.apache.org/licenses/LICENSE-2.0.txt")),
|
licenses := Seq("Apache 2" -> new URL("http://www.apache.org/licenses/LICENSE-2.0.txt")),
|
||||||
),
|
)),
|
||||||
ivyPaths := IvyPaths(
|
ivyPaths := IvyPaths(
|
||||||
(baseDirectory in ThisBuild).value,
|
(baseDirectory in ThisBuild).value,
|
||||||
Some((baseDirectory in LocalRootProject).value / "ivy-cache")
|
Some((baseDirectory in LocalRootProject).value / "ivy-cache")
|
||||||
|
|
|
||||||
|
|
@ -41,8 +41,8 @@ lazy val c = project.
|
||||||
|
|
||||||
lazy val root = (project in file(".")).
|
lazy val root = (project in file(".")).
|
||||||
settings(commonSettings).
|
settings(commonSettings).
|
||||||
settings(inThisBuild(
|
settings(inThisBuild(Seq(
|
||||||
organization := "org.example",
|
organization := "org.example",
|
||||||
version := "1.0-SNAPSHOT",
|
version := "1.0-SNAPSHOT",
|
||||||
updateOptions := updateOptions.value.withCachedResolution(true)
|
updateOptions := updateOptions.value.withCachedResolution(true)
|
||||||
))
|
)))
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
// https://github.com/sbt/sbt/issues/1710
|
// https://github.com/sbt/sbt/issues/1710
|
||||||
// https://github.com/sbt/sbt/issues/1760
|
// https://github.com/sbt/sbt/issues/1760
|
||||||
|
|
||||||
inThisBuild(
|
inThisBuild(Seq(
|
||||||
organization := "com.example",
|
organization := "com.example",
|
||||||
version := "0.1.0",
|
version := "0.1.0",
|
||||||
scalaVersion := "2.10.4",
|
scalaVersion := "2.10.4",
|
||||||
updateOptions := updateOptions.value.withCachedResolution(true)
|
updateOptions := updateOptions.value.withCachedResolution(true)
|
||||||
)
|
))
|
||||||
|
|
||||||
def commonSettings: Seq[Def.Setting[_]] = Seq(
|
def commonSettings: Seq[Def.Setting[_]] = Seq(
|
||||||
ivyPaths := IvyPaths((baseDirectory in ThisBuild).value, Some((baseDirectory in LocalRootProject).value / "ivy-cache")),
|
ivyPaths := IvyPaths((baseDirectory in ThisBuild).value, Some((baseDirectory in LocalRootProject).value / "ivy-cache")),
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ lazy val b = project.
|
||||||
|
|
||||||
lazy val root = (project in file(".")).
|
lazy val root = (project in file(".")).
|
||||||
aggregate(a, b).
|
aggregate(a, b).
|
||||||
settings(inThisBuild(
|
settings(inThisBuild(Seq(
|
||||||
organization := "org.example",
|
organization := "org.example",
|
||||||
version := "1.0",
|
version := "1.0",
|
||||||
updateOptions := updateOptions.value.withCachedResolution(true),
|
updateOptions := updateOptions.value.withCachedResolution(true),
|
||||||
|
|
@ -45,4 +45,4 @@ lazy val root = (project in file(".")).
|
||||||
sys.error("commons-io NOT found when it should NOT be excluded")
|
sys.error("commons-io NOT found when it should NOT be excluded")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
))
|
)))
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ lazy val a = project.
|
||||||
|
|
||||||
lazy val root = (project in file(".")).
|
lazy val root = (project in file(".")).
|
||||||
aggregate(a).
|
aggregate(a).
|
||||||
settings(inThisBuild(
|
settings(inThisBuild(Seq(
|
||||||
organization := "org.example",
|
organization := "org.example",
|
||||||
version := "1.0",
|
version := "1.0",
|
||||||
updateOptions := updateOptions.value.withCachedResolution(true),
|
updateOptions := updateOptions.value.withCachedResolution(true),
|
||||||
|
|
@ -49,4 +49,4 @@ lazy val root = (project in file(".")).
|
||||||
sys.error("junit NOT found when it should be included: " + atestcp.toString)
|
sys.error("junit NOT found when it should be included: " + atestcp.toString)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
))
|
)))
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,12 @@ lazy val p1 = (project in file("p1")).
|
||||||
settings(
|
settings(
|
||||||
checkTask(expectedMongo),
|
checkTask(expectedMongo),
|
||||||
libraryDependencies += "org.mongodb" %% "casbah" % "2.4.1" pomOnly(),
|
libraryDependencies += "org.mongodb" %% "casbah" % "2.4.1" pomOnly(),
|
||||||
inThisBuild(
|
inThisBuild(List(
|
||||||
organization := "org.example",
|
organization := "org.example",
|
||||||
version := "1.0",
|
version := "1.0",
|
||||||
scalaVersion := "2.9.2",
|
scalaVersion := "2.9.2",
|
||||||
autoScalaLibrary := false
|
autoScalaLibrary := false
|
||||||
)
|
))
|
||||||
)
|
)
|
||||||
|
|
||||||
lazy val p2 = (project in file("p2")).
|
lazy val p2 = (project in file("p2")).
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
lazy val root = (project in file(".")).
|
lazy val root = (project in file(".")).
|
||||||
dependsOn(sub).
|
dependsOn(sub).
|
||||||
aggregate(sub).
|
aggregate(sub).
|
||||||
settings(inThisBuild(
|
settings(inThisBuild(List(
|
||||||
organization := "A",
|
organization := "A",
|
||||||
version := "1.0",
|
version := "1.0",
|
||||||
ivyPaths := baseDirectory( dir => IvyPaths(dir, Some(dir / "ivy" / "cache")) ).value,
|
ivyPaths := baseDirectory( dir => IvyPaths(dir, Some(dir / "ivy" / "cache")) ).value,
|
||||||
externalResolvers := (baseDirectory map { base => Resolver.file("local", base / "ivy" / "local" asFile)(Resolver.ivyStylePatterns) :: Nil }).value
|
externalResolvers := (baseDirectory map { base => Resolver.file("local", base / "ivy" / "local" asFile)(Resolver.ivyStylePatterns) :: Nil }).value
|
||||||
),
|
)),
|
||||||
mavenStyle,
|
mavenStyle,
|
||||||
interProject,
|
interProject,
|
||||||
name := "Publish Test"
|
name := "Publish Test"
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
lazy val root = (project in file(".")).
|
lazy val root = (project in file(".")).
|
||||||
settings(inThisBuild(
|
settings(inThisBuild(List(
|
||||||
organization := "A",
|
organization := "A",
|
||||||
version := "1.0",
|
version := "1.0",
|
||||||
ivyPaths := baseDirectory( dir => IvyPaths(dir, Some(dir / "ivy" / "cache")) ).value,
|
ivyPaths := baseDirectory( dir => IvyPaths(dir, Some(dir / "ivy" / "cache")) ).value,
|
||||||
externalResolvers := (baseDirectory map { base => Resolver.file("local", base / "ivy" / "local" asFile)(Resolver.ivyStylePatterns) :: Nil }).value
|
externalResolvers := (baseDirectory map { base => Resolver.file("local", base / "ivy" / "local" asFile)(Resolver.ivyStylePatterns) :: Nil }).value
|
||||||
),
|
)),
|
||||||
mavenStyle,
|
mavenStyle,
|
||||||
name := "Retrieve Test",
|
name := "Retrieve Test",
|
||||||
libraryDependencies := (publishMavenStyle { style => if(style) mavenStyleDependencies else ivyStyleDependencies }).value
|
libraryDependencies := (publishMavenStyle { style => if(style) mavenStyleDependencies else ivyStyleDependencies }).value
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ globalDepE in Global := "globalE"
|
||||||
// ---------------- Derived settings
|
// ---------------- Derived settings
|
||||||
|
|
||||||
// verify that deriving is transitive
|
// verify that deriving is transitive
|
||||||
inScope(GlobalScope)(
|
inScope(GlobalScope)(Seq(
|
||||||
Def.derive(customA := customB.value + "-a"),
|
Def.derive(customA := customB.value + "-a"),
|
||||||
Def.derive(customB := thisProject.value.id + "-b"),
|
Def.derive(customB := thisProject.value.id + "-b"),
|
||||||
// verify that a setting with multiple triggers still only gets added once
|
// verify that a setting with multiple triggers still only gets added once
|
||||||
|
|
@ -36,7 +36,7 @@ inScope(GlobalScope)(
|
||||||
// if customE were added in Global because of name, there would be an error
|
// if customE were added in Global because of name, there would be an error
|
||||||
// because description wouldn't be found
|
// because description wouldn't be found
|
||||||
Def.derive(customE := globalDepE.value + "-" + projectDepE.value)
|
Def.derive(customE := globalDepE.value + "-" + projectDepE.value)
|
||||||
)
|
))
|
||||||
|
|
||||||
// ---------------- Projects
|
// ---------------- Projects
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
scalaVersion in ThisBuild := "2.11.8"
|
scalaVersion in ThisBuild := "2.11.8"
|
||||||
concurrentRestrictions in Global := Seq(Tags.limitAll(4))
|
concurrentRestrictions in Global := Seq(Tags.limitAll(4))
|
||||||
libraryDependencies += "org.specs2" %% "specs2-core" % "3.8.4" % Test
|
libraryDependencies += "org.specs2" %% "specs2-core" % "3.8.4" % Test
|
||||||
inConfig(Test)(
|
inConfig(Test)(Seq(
|
||||||
testGrouping := {
|
testGrouping := {
|
||||||
val home = javaHome.value
|
val home = javaHome.value
|
||||||
val strategy = outputStrategy.value
|
val strategy = outputStrategy.value
|
||||||
|
|
@ -22,4 +22,4 @@ inConfig(Test)(
|
||||||
))}
|
))}
|
||||||
},
|
},
|
||||||
TaskKey[Unit]("test-failure") := test.failure.value
|
TaskKey[Unit]("test-failure") := test.failure.value
|
||||||
)
|
))
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
[app]
|
[app]
|
||||||
org: ${sbt.organization-org.scala-sbt}
|
org: ${sbt.organization-org.scala-sbt}
|
||||||
name: sbt
|
name: sbt
|
||||||
version: ${sbt.version-read(sbt.version)[1.1.1]}
|
version: ${sbt.version-read(sbt.version)[1.2.0]}
|
||||||
class: sbt.ScriptMain
|
class: sbt.ScriptMain
|
||||||
components: xsbti,extra
|
components: xsbti,extra
|
||||||
cross-versioned: ${sbt.cross.versioned-false}
|
cross-versioned: ${sbt.cross.versioned-false}
|
||||||
|
|
@ -22,6 +22,7 @@
|
||||||
|
|
||||||
[boot]
|
[boot]
|
||||||
directory: ${sbt.boot.directory-${sbt.global.base-${user.home}/.sbt}/boot/}
|
directory: ${sbt.boot.directory-${sbt.global.base-${user.home}/.sbt}/boot/}
|
||||||
|
lock: ${sbt.boot.lock-true}
|
||||||
|
|
||||||
[ivy]
|
[ivy]
|
||||||
ivy-home: ${sbt.ivy.home-${user.home}/.ivy2/}
|
ivy-home: ${sbt.ivy.home-${user.home}/.ivy2/}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
[app]
|
[app]
|
||||||
org: ${sbt.organization-org.scala-sbt}
|
org: ${sbt.organization-org.scala-sbt}
|
||||||
name: sbt
|
name: sbt
|
||||||
version: ${sbt.version-read(sbt.version)[1.1.1]}
|
version: ${sbt.version-read(sbt.version)[1.2.0]}
|
||||||
class: sbt.ConsoleMain
|
class: sbt.ConsoleMain
|
||||||
components: xsbti,extra
|
components: xsbti,extra
|
||||||
cross-versioned: ${sbt.cross.versioned-false}
|
cross-versioned: ${sbt.cross.versioned-false}
|
||||||
|
|
@ -22,6 +22,7 @@
|
||||||
|
|
||||||
[boot]
|
[boot]
|
||||||
directory: ${sbt.boot.directory-${sbt.global.base-${user.home}/.sbt}/boot/}
|
directory: ${sbt.boot.directory-${sbt.global.base-${user.home}/.sbt}/boot/}
|
||||||
|
lock: ${sbt.boot.lock-true}
|
||||||
|
|
||||||
[ivy]
|
[ivy]
|
||||||
ivy-home: ${sbt.ivy.home-${user.home}/.ivy2/}
|
ivy-home: ${sbt.ivy.home-${user.home}/.ivy2/}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
[app]
|
[app]
|
||||||
org: ${sbt.organization-org.scala-sbt}
|
org: ${sbt.organization-org.scala-sbt}
|
||||||
name: sbt
|
name: sbt
|
||||||
version: ${sbt.version-read(sbt.version)[1.1.1]}
|
version: ${sbt.version-read(sbt.version)[1.2.0]}
|
||||||
class: sbt.xMain
|
class: sbt.xMain
|
||||||
components: xsbti,extra
|
components: xsbti,extra
|
||||||
cross-versioned: ${sbt.cross.versioned-false}
|
cross-versioned: ${sbt.cross.versioned-false}
|
||||||
|
|
@ -22,6 +22,7 @@
|
||||||
|
|
||||||
[boot]
|
[boot]
|
||||||
directory: ${sbt.boot.directory-${sbt.global.base-${user.home}/.sbt}/boot/}
|
directory: ${sbt.boot.directory-${sbt.global.base-${user.home}/.sbt}/boot/}
|
||||||
|
lock: ${sbt.boot.lock-true}
|
||||||
|
|
||||||
[ivy]
|
[ivy]
|
||||||
ivy-home: ${sbt.ivy.home-${user.home}/.ivy2/}
|
ivy-home: ${sbt.ivy.home-${user.home}/.ivy2/}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue