mirror of https://github.com/sbt/sbt.git
Merge pull request #2226 from sbt/wip/build-imports
Make object Import to alias types and values
This commit is contained in:
commit
2c4583e312
|
|
@ -18,7 +18,7 @@ env:
|
|||
- SCRIPTED_TEST="safeUnitTests"
|
||||
- SCRIPTED_TEST="otherUnitTests"
|
||||
- SCRIPTED_TEST="scripted actions/*"
|
||||
- SCRIPTED_TEST="scripted api/*"
|
||||
- SCRIPTED_TEST="scripted apiinfo/*"
|
||||
- SCRIPTED_TEST="scripted compiler-project/*"
|
||||
- SCRIPTED_TEST="scripted dependency-management/*1of2"
|
||||
- SCRIPTED_TEST="scripted dependency-management/*2of2"
|
||||
|
|
@ -35,8 +35,8 @@ env:
|
|||
- SCRIPTED_TEST="scripted tests/*"
|
||||
- SCRIPTED_TEST="scripted project-load/*"
|
||||
- SCRIPTED_TEST="checkBuildScala211"
|
||||
- SCRIPTED_TEST="mavenResolverPluginTest:scripted dependency-management/*1of2 project/transitive-plugins"
|
||||
- SCRIPTED_TEST="mavenResolverPluginTest:scripted dependency-management/*2of2"
|
||||
# - SCRIPTED_TEST="mavenResolverPluginTest:scripted dependency-management/*1of2 project/transitive-plugins"
|
||||
# - SCRIPTED_TEST="mavenResolverPluginTest:scripted dependency-management/*2of2"
|
||||
|
||||
notifications:
|
||||
email:
|
||||
|
|
|
|||
|
|
@ -202,6 +202,7 @@ lazy val mavenResolverPluginProj = (project in file("sbt-maven-resolver")).
|
|||
dependsOn(sbtProj).
|
||||
settings(
|
||||
baseSettings,
|
||||
sbtBinaryVersion := "1.0.0-SNAPSHOT",
|
||||
name := "sbt-maven-resolver",
|
||||
libraryDependencies ++= aetherLibs ++ Seq(utilTesting % Test, (libraryManagement % Test).classifier("tests"), libraryManagement % Test),
|
||||
sbtPlugin := true
|
||||
|
|
|
|||
|
|
@ -72,8 +72,8 @@ object CacheIvy {
|
|||
}
|
||||
implicit def updateStatsFormat: Format[UpdateStats] =
|
||||
wrap[UpdateStats, (Long, Long, Long)](us => (us.resolveTime, us.downloadTime, us.downloadSize), { case (rt, dt, ds) => new UpdateStats(rt, dt, ds, true) })
|
||||
implicit def confReportFormat(implicit m: Format[String], mr: Format[Seq[ModuleReport]], oar: Format[Seq[OrganizationArtifactReport]], mi: Format[Seq[ModuleID]]): Format[ConfigurationReport] =
|
||||
wrap[ConfigurationReport, (String, Seq[ModuleReport], Seq[OrganizationArtifactReport], Seq[ModuleID])](r => (r.configuration, r.modules, r.details, r.evicted), { case (c, m, d, v) => new ConfigurationReport(c, m, d, v) })
|
||||
implicit def confReportFormat(implicit m: Format[String], mr: Format[Seq[ModuleReport]], oar: Format[Seq[OrganizationArtifactReport]]): Format[ConfigurationReport] =
|
||||
wrap[ConfigurationReport, (String, Seq[ModuleReport], Seq[OrganizationArtifactReport])](r => (r.configuration, r.modules, r.details), { case (c, m, d) => new ConfigurationReport(c, m, d) })
|
||||
implicit def moduleReportFormat(implicit cf: Format[Seq[Caller]], ff: Format[File]): Format[ModuleReport] = {
|
||||
wrap[ModuleReport, (ModuleID, Seq[(Artifact, File)], Seq[Artifact], Option[String], Option[Long], Option[String], Option[String], Boolean, Option[String], Option[String], Option[String], Option[String], Map[String, String], Option[Boolean], Option[String], Seq[String], Seq[(String, Option[String])], Seq[Caller])](
|
||||
m => (m.module, m.artifacts, m.missingArtifacts, m.status, m.publicationDate map { _.getTime }, m.resolver, m.artifactResolver, m.evicted, m.evictedData, m.evictedReason, m.problem, m.homepage, m.extraAttributes, m.isDefault, m.branch, m.configurations, m.licenses, m.callers),
|
||||
|
|
@ -142,7 +142,7 @@ object CacheIvy {
|
|||
|
||||
implicit def inlineIvyIC: InputCache[InlineIvyConfiguration] = wrapIn
|
||||
implicit def moduleSettingsIC: InputCache[ModuleSettings] =
|
||||
unionInputCache[ModuleSettings, PomConfiguration :+: InlineConfiguration :+: InlineConfigurationWithExcludes :+: EmptyConfiguration :+: IvyFileConfiguration :+: HNil]
|
||||
unionInputCache[ModuleSettings, PomConfiguration :+: InlineConfiguration :+: InlineConfigurationWithExcludes :+: IvyFileConfiguration :+: HNil]
|
||||
|
||||
implicit def ivyConfigurationIC: InputCache[IvyConfiguration] =
|
||||
unionInputCache[IvyConfiguration, InlineIvyConfiguration :+: ExternalIvyConfiguration :+: HNil]
|
||||
|
|
@ -152,13 +152,11 @@ object CacheIvy {
|
|||
c.module :+: c.dependencies :+: c.ivyXML :+: c.configurations :+: c.defaultConfiguration.map(_.name) :+:
|
||||
c.ivyScala :+: c.validate :+: c.overrides :+: c.excludes :+: HNil
|
||||
implicit def moduleConfToHL = (m: ModuleConfiguration) => m.organization :+: m.name :+: m.revision :+: m.resolver :+: HNil
|
||||
implicit def emptyToHL = (e: EmptyConfiguration) => e.module :+: e.ivyScala :+: e.validate :+: HNil
|
||||
implicit def inlineToHL = (c: InlineConfiguration) => c.module :+: c.dependencies :+: c.ivyXML :+: c.configurations :+: c.defaultConfiguration.map(_.name) :+: c.ivyScala :+: c.validate :+: c.overrides :+: HNil
|
||||
}
|
||||
import L4._
|
||||
|
||||
implicit def inlineWithExcludesIC: InputCache[InlineConfigurationWithExcludes] = wrapIn
|
||||
implicit def emptyIC: InputCache[EmptyConfiguration] = wrapIn
|
||||
implicit def inlineIC: InputCache[InlineConfiguration] = wrapIn
|
||||
implicit def moduleConfIC: InputCache[ModuleConfiguration] = wrapIn
|
||||
|
||||
|
|
@ -177,7 +175,7 @@ object CacheIvy {
|
|||
|
||||
implicit lazy val chainedIC: InputCache[ChainedResolver] = InputCache.lzy(wrapIn)
|
||||
implicit lazy val resolverIC: InputCache[Resolver] =
|
||||
unionInputCache[Resolver, ChainedResolver :+: JavaNet1Repository :+: MavenRepository :+: MavenCache :+: FileRepository :+: URLRepository :+: SshRepository :+: SftpRepository :+: RawRepository :+: HNil]
|
||||
unionInputCache[Resolver, ChainedResolver :+: MavenRepository :+: MavenCache :+: FileRepository :+: URLRepository :+: SshRepository :+: SftpRepository :+: RawRepository :+: HNil]
|
||||
implicit def moduleIC: InputCache[ModuleID] = wrapIn
|
||||
implicitly[InputCache[Seq[Configuration]]]
|
||||
|
||||
|
|
@ -235,6 +233,4 @@ object CacheIvy {
|
|||
|
||||
implicit def authIC: InputCache[SshAuthentication] =
|
||||
unionInputCache[SshAuthentication, PasswordAuthentication :+: KeyFileAuthentication :+: HNil]
|
||||
|
||||
implicit def javaNet1IC: InputCache[JavaNet1Repository] = singleton(JavaNet1Repository)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -216,7 +216,7 @@ object Scoped {
|
|||
final class RichInitializeTask[S](i: Initialize[Task[S]]) extends RichInitTaskBase[S, Task] {
|
||||
protected def onTask[T](f: Task[S] => Task[T]): Initialize[Task[T]] = i apply f
|
||||
|
||||
def dependsOn(tasks: AnyInitTask*): Initialize[Task[S]] = (i, Initialize.joinAny[Task, Any](tasks)) { (thisTask, deps) => thisTask.dependsOn(deps: _*) }
|
||||
def dependsOn(tasks: AnyInitTask*): Initialize[Task[S]] = (i, Initialize.joinAny[Task](tasks)) { (thisTask, deps) => thisTask.dependsOn(deps: _*) }
|
||||
|
||||
def failure: Initialize[Task[Incomplete]] = i(_.failure)
|
||||
def result: Initialize[Task[Result[S]]] = i(_.result)
|
||||
|
|
@ -224,12 +224,12 @@ object Scoped {
|
|||
def xtriggeredBy[T](tasks: Initialize[Task[T]]*): Initialize[Task[S]] = nonLocal(tasks, Def.triggeredBy)
|
||||
def triggeredBy[T](tasks: Initialize[Task[T]]*): Initialize[Task[S]] = nonLocal(tasks, Def.triggeredBy)
|
||||
def runBefore[T](tasks: Initialize[Task[T]]*): Initialize[Task[S]] = nonLocal(tasks, Def.runBefore)
|
||||
private[this] def nonLocal[T](tasks: Seq[Initialize[Task[T]]], key: AttributeKey[Seq[Task[_]]]): Initialize[Task[S]] =
|
||||
(Initialize.joinAny[Task, T](tasks), i) { (ts, i) => i.copy(info = i.info.set(key, ts)) }
|
||||
private[this] def nonLocal(tasks: Seq[AnyInitTask], key: AttributeKey[Seq[Task[_]]]): Initialize[Task[S]] =
|
||||
(Initialize.joinAny[Task](tasks), i) { (ts, i) => i.copy(info = i.info.set(key, ts)) }
|
||||
}
|
||||
final class RichInitializeInputTask[S](i: Initialize[InputTask[S]]) extends RichInitTaskBase[S, InputTask] {
|
||||
protected def onTask[T](f: Task[S] => Task[T]): Initialize[InputTask[T]] = i(_ mapTask f)
|
||||
def dependsOn(tasks: AnyInitTask*): Initialize[InputTask[S]] = (i, Initialize.joinAny[Task, Any](tasks)) { (thisTask, deps) => thisTask.mapTask(_.dependsOn(deps: _*)) }
|
||||
def dependsOn(tasks: AnyInitTask*): Initialize[InputTask[S]] = (i, Initialize.joinAny[Task](tasks)) { (thisTask, deps) => thisTask.mapTask(_.dependsOn(deps: _*)) }
|
||||
}
|
||||
|
||||
sealed abstract class RichInitTaskBase[S, R[_]] {
|
||||
|
|
@ -259,7 +259,7 @@ object Scoped {
|
|||
def mapFailure[T](f: Incomplete => T): Initialize[R[T]] = mapR(f compose failM)
|
||||
}
|
||||
|
||||
type AnyInitTask = Initialize[Task[Any]] // forSome { type T }
|
||||
type AnyInitTask = Initialize[Task[T]] forSome { type T }
|
||||
|
||||
implicit def richTaskSeq[T](in: Seq[Initialize[Task[T]]]): RichTaskSeq[T] = new RichTaskSeq(in)
|
||||
final class RichTaskSeq[T](keys: Seq[Initialize[Task[T]]]) {
|
||||
|
|
@ -268,7 +268,7 @@ object Scoped {
|
|||
}
|
||||
implicit def richAnyTaskSeq(in: Seq[AnyInitTask]): RichAnyTaskSeq = new RichAnyTaskSeq(in)
|
||||
final class RichAnyTaskSeq(keys: Seq[AnyInitTask]) {
|
||||
def dependOn: Initialize[Task[Unit]] = Initialize.joinAny[Task, Any](keys).apply(deps => nop.dependsOn(deps: _*))
|
||||
def dependOn: Initialize[Task[Unit]] = Initialize.joinAny[Task](keys).apply(deps => nop.dependsOn(deps: _*))
|
||||
}
|
||||
|
||||
implicit def richFileSetting(s: SettingKey[File]): RichFileSetting = new RichFileSetting(s)
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ object BuildUtil {
|
|||
}
|
||||
}
|
||||
|
||||
def baseImports: Seq[String] = "import sbt._, Keys._, dsl._" :: Nil
|
||||
def baseImports: Seq[String] = "import sbt._, Keys._, dsl._, Import._" :: Nil
|
||||
|
||||
def getImports(unit: BuildUnit): Seq[String] = unit.plugins.detected.imports ++ unit.definitions.dslDefinitions.imports
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import testing.{ Framework, Runner, AnnotatedFingerprint, SubclassFingerprint }
|
|||
|
||||
import sbt.librarymanagement._
|
||||
import sbt.internal.librarymanagement._
|
||||
import sbt.internal.librarymanagement.syntax._
|
||||
import sbt.internal.util._
|
||||
import sbt.util.Level
|
||||
|
||||
|
|
|
|||
|
|
@ -9,10 +9,10 @@ object Dependencies {
|
|||
lazy val scala211 = "2.11.7"
|
||||
|
||||
// sbt modules
|
||||
val utilVersion = "0.1.0-M3"
|
||||
val utilVersion = "0.1.0-M5"
|
||||
val ioVersion = "1.0.0-M3"
|
||||
val incremenalcompilerVersion = "0.1.0-M1-168cb7a4877917e01917e35b9b82a62afe5c2a01"
|
||||
val librarymanagementVersion = "0.1.0-M2"
|
||||
val librarymanagementVersion = "0.1.0-M4"
|
||||
lazy val sbtIO = "org.scala-sbt" %% "io" % ioVersion
|
||||
lazy val utilCollection = "org.scala-sbt" %% "util-collection" % utilVersion
|
||||
lazy val utilLogging = "org.scala-sbt" %% "util-logging" % utilVersion
|
||||
|
|
|
|||
|
|
@ -0,0 +1,440 @@
|
|||
package sbt
|
||||
|
||||
object Import {
|
||||
|
||||
// sbt.io
|
||||
val AllPassFilter = sbt.io.AllPassFilter
|
||||
val DirectoryFilter = sbt.io.DirectoryFilter
|
||||
type ExactFilter = sbt.io.ExactFilter
|
||||
val ExistsFileFilter = sbt.io.ExistsFileFilter
|
||||
val FileFilter = sbt.io.FileFilter
|
||||
type FileFilter = sbt.io.FileFilter
|
||||
val GlobFilter = sbt.io.GlobFilter
|
||||
val Hash = sbt.io.Hash
|
||||
val HiddenFileFilter = sbt.io.HiddenFileFilter
|
||||
val IO = sbt.io.IO
|
||||
type Mapper = sbt.io.Mapper
|
||||
val NameFilter = sbt.io.NameFilter
|
||||
type NameFilter = sbt.io.NameFilter
|
||||
val NothingFilter = sbt.io.NothingFilter
|
||||
val Path = sbt.io.Path
|
||||
type PathExtra = sbt.io.PathExtra
|
||||
val PathFinder = sbt.io.PathFinder
|
||||
type PathFinder = sbt.io.PathFinder
|
||||
type PathLow = sbt.io.PathLow
|
||||
type PatternFilter = sbt.io.PatternFilter
|
||||
type RichFile = sbt.io.RichFile
|
||||
type SimpleFileFilter = sbt.io.SimpleFileFilter
|
||||
type SimpleFilter = sbt.io.SimpleFilter
|
||||
type TestError = sbt.io.TestError
|
||||
type TestException = sbt.io.TestException
|
||||
type TestRuntimeException = sbt.io.TestRuntimeException
|
||||
|
||||
// sbt.util
|
||||
type AbstractLogger = sbt.util.AbstractLogger
|
||||
val ControlEvent = sbt.util.ControlEvent
|
||||
type ControlEvent = sbt.util.ControlEvent
|
||||
val Level = sbt.util.Level
|
||||
type Log = sbt.util.Log
|
||||
type LogEvent = sbt.util.LogEvent
|
||||
val Logger = sbt.util.Logger
|
||||
type Logger = sbt.util.Logger
|
||||
type SetLevel = sbt.util.SetLevel
|
||||
type SetSuccess = sbt.util.SetSuccess
|
||||
type SetTrace = sbt.util.SetTrace
|
||||
type Success = sbt.util.Success
|
||||
type Trace = sbt.util.Trace
|
||||
|
||||
// sbt.internal.util
|
||||
val AList = sbt.internal.util.AList
|
||||
type AbstractRMap[K[_], V[_]] = sbt.internal.util.AbstractRMap[K, V]
|
||||
type AlreadyHandledException = sbt.internal.util.AlreadyHandledException
|
||||
val AttributeEntry = sbt.internal.util.AttributeEntry
|
||||
type AttributeEntry[T] = sbt.internal.util.AttributeEntry[T]
|
||||
val AttributeKey = sbt.internal.util.AttributeKey
|
||||
type AttributeKey[T] = sbt.internal.util.AttributeKey[T]
|
||||
val AttributeMap = sbt.internal.util.AttributeMap
|
||||
type AttributeMap = sbt.internal.util.AttributeMap
|
||||
val Attributed = sbt.internal.util.Attributed
|
||||
type Attributed[D] = sbt.internal.util.Attributed[D]
|
||||
type BasicCache[I, O] = sbt.internal.util.BasicCache[I, O]
|
||||
type BasicCacheImplicits = sbt.internal.util.BasicCacheImplicits
|
||||
type BasicLogger = sbt.internal.util.BasicLogger
|
||||
type BufferedLogger = sbt.internal.util.BufferedLogger
|
||||
val Cache = sbt.internal.util.Cache
|
||||
type Cache[I, O] = sbt.internal.util.Cache[I, O]
|
||||
val CacheIO = sbt.internal.util.CacheIO
|
||||
type CacheImplicits = sbt.internal.util.CacheImplicits
|
||||
val ChangeReport = sbt.internal.util.ChangeReport
|
||||
type ChangeReport[T] = sbt.internal.util.ChangeReport[T]
|
||||
type Changed[O] = sbt.internal.util.Changed[O]
|
||||
val Classes = sbt.internal.util.Classes
|
||||
val ConsoleLogger = sbt.internal.util.ConsoleLogger
|
||||
type ConsoleLogger = sbt.internal.util.ConsoleLogger
|
||||
val ConsoleOut = sbt.internal.util.ConsoleOut
|
||||
type ConsoleOut = sbt.internal.util.ConsoleOut
|
||||
val Dag = sbt.internal.util.Dag
|
||||
type Dag[Node <: Dag[Node]] = sbt.internal.util.Dag[Node]
|
||||
type DelegatingPMap[K[_], V[_]] = sbt.internal.util.DelegatingPMap[K, V]
|
||||
val Difference = sbt.internal.util.Difference
|
||||
type Difference = sbt.internal.util.Difference
|
||||
type EmptyChangeReport[T] = sbt.internal.util.EmptyChangeReport[T]
|
||||
val ErrorHandling = sbt.internal.util.ErrorHandling
|
||||
type EvaluateSettings[Scope] = sbt.internal.util.EvaluateSettings[Scope]
|
||||
val EvaluationState = sbt.internal.util.EvaluationState
|
||||
val ExitHook = sbt.internal.util.ExitHook
|
||||
type ExitHook = sbt.internal.util.ExitHook
|
||||
val ExitHooks = sbt.internal.util.ExitHooks
|
||||
type FeedbackProvidedException = sbt.internal.util.FeedbackProvidedException
|
||||
val FileFunction = sbt.internal.util.FileFunction
|
||||
val FileInfo = sbt.internal.util.FileInfo
|
||||
type FileInfo = sbt.internal.util.FileInfo
|
||||
type FilePosition = sbt.internal.util.FilePosition
|
||||
val FilesInfo = sbt.internal.util.FilesInfo
|
||||
type FilesInfo[F <: FileInfo] = sbt.internal.util.FilesInfo[F]
|
||||
type FilterLogger = sbt.internal.util.FilterLogger
|
||||
type Fn1[A, B] = sbt.internal.util.Fn1[A, B]
|
||||
val FullLogger = sbt.internal.util.FullLogger
|
||||
type FullLogger = sbt.internal.util.FullLogger
|
||||
val FullReader = sbt.internal.util.FullReader
|
||||
type FullReader = sbt.internal.util.FullReader
|
||||
val GlobalLogBacking = sbt.internal.util.GlobalLogBacking
|
||||
type GlobalLogBacking = sbt.internal.util.GlobalLogBacking
|
||||
val GlobalLogging = sbt.internal.util.GlobalLogging
|
||||
type GlobalLogging = sbt.internal.util.GlobalLogging
|
||||
val HCons = sbt.internal.util.HCons
|
||||
type HCons[H, T <: HList] = sbt.internal.util.HCons[H, T]
|
||||
val HList = sbt.internal.util.HList
|
||||
type HList = sbt.internal.util.HList
|
||||
type HListCacheImplicits = sbt.internal.util.HListCacheImplicits
|
||||
val HNil = sbt.internal.util.HNil
|
||||
type HNil = sbt.internal.util.HNil
|
||||
type HashFileInfo = sbt.internal.util.HashFileInfo
|
||||
type HashModifiedFileInfo = sbt.internal.util.HashModifiedFileInfo
|
||||
val IDSet = sbt.internal.util.IDSet
|
||||
type IDSet[T] = sbt.internal.util.IDSet[T]
|
||||
val IMap = sbt.internal.util.IMap
|
||||
type IMap[K[_], V[_]] = sbt.internal.util.IMap[K, V]
|
||||
type Init[Scope] = sbt.internal.util.Init[Scope]
|
||||
val InputCache = sbt.internal.util.InputCache
|
||||
type InputCache[I] = sbt.internal.util.InputCache[I]
|
||||
type JLine = sbt.internal.util.JLine
|
||||
val KCons = sbt.internal.util.KCons
|
||||
type KCons[H, +T <: KList[M], +M[_]] = sbt.internal.util.KCons[H, T, M]
|
||||
type KList[+M[_]] = sbt.internal.util.KList[M]
|
||||
val KNil = sbt.internal.util.KNil
|
||||
type KNil = sbt.internal.util.KNil
|
||||
val LinePosition = sbt.internal.util.LinePosition
|
||||
type LinePosition = sbt.internal.util.LinePosition
|
||||
val LineRange = sbt.internal.util.LineRange
|
||||
type LineRange = sbt.internal.util.LineRange
|
||||
type LineReader = sbt.internal.util.LineReader
|
||||
val LoggerWriter = sbt.internal.util.LoggerWriter
|
||||
type LoggerWriter = sbt.internal.util.LoggerWriter
|
||||
val MainLogging = sbt.internal.util.MainLogging
|
||||
type MessageOnlyException = sbt.internal.util.MessageOnlyException
|
||||
type ModifiedFileInfo = sbt.internal.util.ModifiedFileInfo
|
||||
type MultiLogger = sbt.internal.util.MultiLogger
|
||||
val MultiLoggerConfig = sbt.internal.util.MultiLoggerConfig
|
||||
type MultiLoggerConfig = sbt.internal.util.MultiLoggerConfig
|
||||
val NoPosition = sbt.internal.util.NoPosition
|
||||
val PMap = sbt.internal.util.PMap
|
||||
type PMap[K[_], V[_]] = sbt.internal.util.PMap[K, V]
|
||||
val Param = sbt.internal.util.Param
|
||||
type Param[A[_], B[_]] = sbt.internal.util.Param[A, B]
|
||||
type PlainFileInfo = sbt.internal.util.PlainFileInfo
|
||||
type RMap[K[_], V[_]] = sbt.internal.util.RMap[K, V]
|
||||
val RangePosition = sbt.internal.util.RangePosition
|
||||
type RangePosition = sbt.internal.util.RangePosition
|
||||
val Relation = sbt.internal.util.Relation
|
||||
type Relation[A, B] = sbt.internal.util.Relation[A, B]
|
||||
type SBinaryFormats = sbt.internal.util.SBinaryFormats
|
||||
val ScalaKeywords = sbt.internal.util.ScalaKeywords
|
||||
type Settings[Scope] = sbt.internal.util.Settings[Scope]
|
||||
type SharedAttributeKey[T] = sbt.internal.util.SharedAttributeKey[T]
|
||||
val Show = sbt.internal.util.Show
|
||||
type Show[T] = sbt.internal.util.Show[T]
|
||||
val ShowLines = sbt.internal.util.ShowLines
|
||||
type ShowLines[A] = sbt.internal.util.ShowLines[A]
|
||||
val Signals = sbt.internal.util.Signals
|
||||
val SimpleReader = sbt.internal.util.SimpleReader
|
||||
type SimpleReader = sbt.internal.util.SimpleReader
|
||||
type SourcePosition = sbt.internal.util.SourcePosition
|
||||
val StackTrace = sbt.internal.util.StackTrace
|
||||
type SuppressedTraceContext = sbt.internal.util.SuppressedTraceContext
|
||||
type Timestamp = sbt.internal.util.Timestamp
|
||||
val Tracked = sbt.internal.util.Tracked
|
||||
type Tracked = sbt.internal.util.Tracked
|
||||
type TranslatedException = sbt.internal.util.TranslatedException
|
||||
type TranslatedIOException = sbt.internal.util.TranslatedIOException
|
||||
val TypeFunctions = sbt.internal.util.TypeFunctions
|
||||
type TypeFunctions = sbt.internal.util.TypeFunctions
|
||||
val Types = sbt.internal.util.Types
|
||||
type Types = sbt.internal.util.Types
|
||||
type UnionImplicits = sbt.internal.util.UnionImplicits
|
||||
type UnprintableException = sbt.internal.util.UnprintableException
|
||||
val Util = sbt.internal.util.Util
|
||||
val ~> = sbt.internal.util.~>
|
||||
type ~>[-K[_], +V[_]] = sbt.internal.util.~>[K, V]
|
||||
|
||||
|
||||
// sbt.internal.util.complete
|
||||
object complete {
|
||||
val Completion = sbt.internal.util.complete.Completion
|
||||
type Completion = sbt.internal.util.complete.Completion
|
||||
val Completions = sbt.internal.util.complete.Completions
|
||||
type Completions = sbt.internal.util.complete.Completions
|
||||
val DefaultParsers = sbt.internal.util.complete.DefaultParsers
|
||||
type DisplayOnly = sbt.internal.util.complete.DisplayOnly
|
||||
val EditDistance = sbt.internal.util.complete.EditDistance
|
||||
type ExampleSource = sbt.internal.util.complete.ExampleSource
|
||||
val FileExamples = sbt.internal.util.complete.FileExamples
|
||||
type FileExamples = sbt.internal.util.complete.FileExamples
|
||||
val Finite = sbt.internal.util.complete.Finite
|
||||
type Finite = sbt.internal.util.complete.Finite
|
||||
val FixedSetExamples = sbt.internal.util.complete.FixedSetExamples
|
||||
type FixedSetExamples = sbt.internal.util.complete.FixedSetExamples
|
||||
val History = sbt.internal.util.complete.History
|
||||
val HistoryCommands = sbt.internal.util.complete.HistoryCommands
|
||||
val Infinite = sbt.internal.util.complete.Infinite
|
||||
val JLineCompletion = sbt.internal.util.complete.JLineCompletion
|
||||
val Parser = sbt.internal.util.complete.Parser
|
||||
type Parser[+T] = sbt.internal.util.complete.Parser[T]
|
||||
type ParserMain = sbt.internal.util.complete.ParserMain
|
||||
val Parsers = sbt.internal.util.complete.Parsers
|
||||
type Parsers = sbt.internal.util.complete.Parsers
|
||||
val ProcessError = sbt.internal.util.complete.ProcessError
|
||||
type Suggestion = sbt.internal.util.complete.Suggestion
|
||||
type Token = sbt.internal.util.complete.Token
|
||||
val TokenCompletions = sbt.internal.util.complete.TokenCompletions
|
||||
type TokenCompletions = sbt.internal.util.complete.TokenCompletions
|
||||
val TypeString = sbt.internal.util.complete.TypeString
|
||||
type TypeString = sbt.internal.util.complete.TypeString
|
||||
val UpperBound = sbt.internal.util.complete.UpperBound
|
||||
type UpperBound = sbt.internal.util.complete.UpperBound
|
||||
}
|
||||
|
||||
// sbt.internal.util.appmacro
|
||||
object appmacro {
|
||||
import scala.reflect._
|
||||
import macros._
|
||||
|
||||
type BuilderResult[C <: Context with Singleton] = sbt.internal.util.appmacro.BuilderResult[C]
|
||||
val ContextUtil = sbt.internal.util.appmacro.ContextUtil
|
||||
type ContextUtil[C <: Context] = sbt.internal.util.appmacro.ContextUtil[C]
|
||||
type Convert = sbt.internal.util.appmacro.Convert
|
||||
val Converted = sbt.internal.util.appmacro.Converted
|
||||
type Converted[C <: Context with Singleton] = sbt.internal.util.appmacro.Converted[C]
|
||||
val Instance = sbt.internal.util.appmacro.Instance
|
||||
type Instance = sbt.internal.util.appmacro.Instance
|
||||
val KListBuilder = sbt.internal.util.appmacro.KListBuilder
|
||||
val MixedBuilder = sbt.internal.util.appmacro.MixedBuilder
|
||||
type MonadInstance = sbt.internal.util.appmacro.MonadInstance
|
||||
type TupleBuilder = sbt.internal.util.appmacro.TupleBuilder
|
||||
val TupleNBuilder = sbt.internal.util.appmacro.TupleNBuilder
|
||||
}
|
||||
|
||||
// sbt.internal.util.logic
|
||||
object logic {
|
||||
val Atom = sbt.internal.util.logic.Atom
|
||||
type Atom = sbt.internal.util.logic.Atom
|
||||
val Clause = sbt.internal.util.logic.Clause
|
||||
type Clause = sbt.internal.util.logic.Clause
|
||||
val Clauses = sbt.internal.util.logic.Clauses
|
||||
type Clauses = sbt.internal.util.logic.Clauses
|
||||
val Formula = sbt.internal.util.logic.Formula
|
||||
type Formula = sbt.internal.util.logic.Formula
|
||||
type Literal = sbt.internal.util.logic.Literal
|
||||
val Logic = sbt.internal.util.logic.Logic
|
||||
val Negated = sbt.internal.util.logic.Negated
|
||||
type Negated = sbt.internal.util.logic.Negated
|
||||
}
|
||||
|
||||
// sbt.librarymanagement
|
||||
val Artifact = sbt.librarymanagement.Artifact
|
||||
type Artifact = sbt.librarymanagement.Artifact
|
||||
val Caller = sbt.librarymanagement.Caller
|
||||
type Caller = sbt.librarymanagement.Caller
|
||||
val ChainedResolver = sbt.librarymanagement.ChainedResolver
|
||||
type ChainedResolver = sbt.librarymanagement.ChainedResolver
|
||||
val CircularDependencyLevel = sbt.librarymanagement.CircularDependencyLevel
|
||||
type CircularDependencyLevel = sbt.librarymanagement.CircularDependencyLevel
|
||||
val Configuration = sbt.librarymanagement.Configuration
|
||||
type Configuration = sbt.librarymanagement.Configuration
|
||||
val ConfigurationReport = sbt.librarymanagement.ConfigurationReport
|
||||
type ConfigurationReport = sbt.librarymanagement.ConfigurationReport
|
||||
val Configurations = sbt.librarymanagement.Configurations
|
||||
val ConflictManager = sbt.librarymanagement.ConflictManager
|
||||
type ConflictManager = sbt.librarymanagement.ConflictManager
|
||||
val ConflictWarning = sbt.librarymanagement.ConflictWarning
|
||||
type ConflictWarning = sbt.librarymanagement.ConflictWarning
|
||||
val Credentials = sbt.librarymanagement.Credentials
|
||||
type Credentials = sbt.librarymanagement.Credentials
|
||||
val CrossVersion = sbt.librarymanagement.CrossVersion
|
||||
type CrossVersion = sbt.librarymanagement.CrossVersion
|
||||
val DefaultMavenRepository = sbt.librarymanagement.DefaultMavenRepository
|
||||
val Developer = sbt.librarymanagement.Developer
|
||||
type Developer = sbt.librarymanagement.Developer
|
||||
type DirectCredentials = sbt.librarymanagement.DirectCredentials
|
||||
val EvictionPair = sbt.librarymanagement.EvictionPair
|
||||
type EvictionPair = sbt.librarymanagement.EvictionPair
|
||||
val EvictionWarning = sbt.librarymanagement.EvictionWarning
|
||||
type EvictionWarning = sbt.librarymanagement.EvictionWarning
|
||||
val EvictionWarningOptions = sbt.librarymanagement.EvictionWarningOptions
|
||||
type EvictionWarningOptions = sbt.librarymanagement.EvictionWarningOptions
|
||||
val ExclusionRule = sbt.librarymanagement.ExclusionRule
|
||||
type ExclusionRule = sbt.librarymanagement.ExclusionRule
|
||||
type FileCredentials = sbt.librarymanagement.FileCredentials
|
||||
val FileRepository = sbt.librarymanagement.FileRepository
|
||||
type FileRepository = sbt.librarymanagement.FileRepository
|
||||
val IvyScala = sbt.librarymanagement.IvyScala
|
||||
type IvyScala = sbt.librarymanagement.IvyScala
|
||||
val JCenterRepository = sbt.librarymanagement.JCenterRepository
|
||||
val JavaNet2Repository = sbt.librarymanagement.JavaNet2Repository
|
||||
val MavenCache = sbt.librarymanagement.MavenCache
|
||||
type MavenCache = sbt.librarymanagement.MavenCache
|
||||
val MavenRepository = sbt.librarymanagement.MavenRepository
|
||||
type MavenRepository = sbt.librarymanagement.MavenRepository
|
||||
val ModuleConfiguration = sbt.librarymanagement.ModuleConfiguration
|
||||
type ModuleConfiguration = sbt.librarymanagement.ModuleConfiguration
|
||||
val ModuleID = sbt.librarymanagement.ModuleID
|
||||
type ModuleID = sbt.librarymanagement.ModuleID
|
||||
val ModuleInfo = sbt.librarymanagement.ModuleInfo
|
||||
type ModuleInfo = sbt.librarymanagement.ModuleInfo
|
||||
val ModuleReport = sbt.librarymanagement.ModuleReport
|
||||
type ModuleReport = sbt.librarymanagement.ModuleReport
|
||||
val OrganizationArtifactReport = sbt.librarymanagement.OrganizationArtifactReport
|
||||
type OrganizationArtifactReport = sbt.librarymanagement.OrganizationArtifactReport
|
||||
val Patterns = sbt.librarymanagement.Patterns
|
||||
type Patterns = sbt.librarymanagement.Patterns
|
||||
type PatternsBasedRepository = sbt.librarymanagement.PatternsBasedRepository
|
||||
type RawRepository = sbt.librarymanagement.RawRepository
|
||||
val RepositoryHelpers = sbt.librarymanagement.RepositoryHelpers
|
||||
val Resolver = sbt.librarymanagement.Resolver
|
||||
type Resolver = sbt.librarymanagement.Resolver
|
||||
val SbtArtifacts = sbt.librarymanagement.SbtArtifacts
|
||||
val ScalaArtifacts = sbt.librarymanagement.ScalaArtifacts
|
||||
val ScalaVersion = sbt.librarymanagement.ScalaVersion
|
||||
type ScalaVersion = sbt.librarymanagement.ScalaVersion
|
||||
val ScmInfo = sbt.librarymanagement.ScmInfo
|
||||
type ScmInfo = sbt.librarymanagement.ScmInfo
|
||||
val SftpRepository = sbt.librarymanagement.SftpRepository
|
||||
type SftpRepository = sbt.librarymanagement.SftpRepository
|
||||
type SshBasedRepository = sbt.librarymanagement.SshBasedRepository
|
||||
val SshRepository = sbt.librarymanagement.SshRepository
|
||||
type SshRepository = sbt.librarymanagement.SshRepository
|
||||
val URLRepository = sbt.librarymanagement.URLRepository
|
||||
type URLRepository = sbt.librarymanagement.URLRepository
|
||||
val UpdateOptions = sbt.librarymanagement.UpdateOptions
|
||||
type UpdateOptions = sbt.librarymanagement.UpdateOptions
|
||||
val UpdateReport = sbt.librarymanagement.UpdateReport
|
||||
type UpdateReport = sbt.librarymanagement.UpdateReport
|
||||
val UpdateStats = sbt.librarymanagement.UpdateStats
|
||||
type UpdateStats = sbt.librarymanagement.UpdateStats
|
||||
val VersionNumber = sbt.librarymanagement.VersionNumber
|
||||
type VersionNumber = sbt.librarymanagement.VersionNumber
|
||||
type VersionNumberCompatibility = sbt.librarymanagement.VersionNumberCompatibility
|
||||
|
||||
// sbt.internal.librarymanagement
|
||||
type ArtifactFilter = sbt.internal.librarymanagement.ArtifactFilter
|
||||
val ComponentManager = sbt.internal.librarymanagement.ComponentManager
|
||||
type ComponentManager = sbt.internal.librarymanagement.ComponentManager
|
||||
type ConfigurationFilter = sbt.internal.librarymanagement.ConfigurationFilter
|
||||
val ConfigurationReportLite = sbt.internal.librarymanagement.ConfigurationReportLite
|
||||
type ConfigurationReportLite = sbt.internal.librarymanagement.ConfigurationReportLite
|
||||
val ConvertResolver = sbt.internal.librarymanagement.ConvertResolver
|
||||
val CustomPomParser = sbt.internal.librarymanagement.CustomPomParser
|
||||
type CustomPomParser = sbt.internal.librarymanagement.CustomPomParser
|
||||
val CustomXmlParser = sbt.internal.librarymanagement.CustomXmlParser
|
||||
type DeliverConfiguration = sbt.internal.librarymanagement.DeliverConfiguration
|
||||
val DependencyFilter = sbt.internal.librarymanagement.DependencyFilter
|
||||
type DependencyFilter = sbt.internal.librarymanagement.DependencyFilter
|
||||
type DependencyFilterExtra = sbt.internal.librarymanagement.DependencyFilterExtra
|
||||
val ExternalIvyConfiguration = sbt.internal.librarymanagement.ExternalIvyConfiguration
|
||||
type ExternalIvyConfiguration = sbt.internal.librarymanagement.ExternalIvyConfiguration
|
||||
val GetClassifiersConfiguration = sbt.internal.librarymanagement.GetClassifiersConfiguration
|
||||
type GetClassifiersConfiguration = sbt.internal.librarymanagement.GetClassifiersConfiguration
|
||||
val GetClassifiersModule = sbt.internal.librarymanagement.GetClassifiersModule
|
||||
type GetClassifiersModule = sbt.internal.librarymanagement.GetClassifiersModule
|
||||
val IfMissing = sbt.internal.librarymanagement.IfMissing
|
||||
type IfMissing = sbt.internal.librarymanagement.IfMissing
|
||||
type ModuleSettings = sbt.internal.librarymanagement.ModuleSettings
|
||||
val InlineConfiguration = sbt.internal.librarymanagement.InlineConfiguration
|
||||
type InlineConfiguration = sbt.internal.librarymanagement.InlineConfiguration
|
||||
val InlineConfigurationWithExcludes = sbt.internal.librarymanagement.InlineConfigurationWithExcludes
|
||||
type InlineConfigurationWithExcludes = sbt.internal.librarymanagement.InlineConfigurationWithExcludes
|
||||
type InlineIvyConfiguration = sbt.internal.librarymanagement.InlineIvyConfiguration
|
||||
type InvalidComponent = sbt.internal.librarymanagement.InvalidComponent
|
||||
val IvyActions = sbt.internal.librarymanagement.IvyActions
|
||||
type IvyCache = sbt.internal.librarymanagement.IvyCache
|
||||
val IvyConfiguration = sbt.internal.librarymanagement.IvyConfiguration
|
||||
type IvyConfiguration = sbt.internal.librarymanagement.IvyConfiguration
|
||||
val IvyFileConfiguration = sbt.internal.librarymanagement.IvyFileConfiguration
|
||||
type IvyFileConfiguration = sbt.internal.librarymanagement.IvyFileConfiguration
|
||||
type IvyPaths = sbt.internal.librarymanagement.IvyPaths
|
||||
val IvyRetrieve = sbt.internal.librarymanagement.IvyRetrieve
|
||||
val IvySbt = sbt.internal.librarymanagement.IvySbt
|
||||
type IvySbt = sbt.internal.librarymanagement.IvySbt
|
||||
val IvyUtil = sbt.internal.librarymanagement.IvyUtil
|
||||
val JsonUtil = sbt.internal.librarymanagement.JsonUtil
|
||||
val LogicalClock = sbt.internal.librarymanagement.LogicalClock
|
||||
type LogicalClock = sbt.internal.librarymanagement.LogicalClock
|
||||
val MakePom = sbt.internal.librarymanagement.MakePom
|
||||
type MakePom = sbt.internal.librarymanagement.MakePom
|
||||
val MakePomConfiguration = sbt.internal.librarymanagement.MakePomConfiguration
|
||||
type MakePomConfiguration = sbt.internal.librarymanagement.MakePomConfiguration
|
||||
type ModuleFilter = sbt.internal.librarymanagement.ModuleFilter
|
||||
type NotInCache = sbt.internal.librarymanagement.NotInCache
|
||||
val PomConfiguration = sbt.internal.librarymanagement.PomConfiguration
|
||||
type PomConfiguration = sbt.internal.librarymanagement.PomConfiguration
|
||||
val ProjectResolver = sbt.internal.librarymanagement.ProjectResolver
|
||||
type ProjectResolver = sbt.internal.librarymanagement.ProjectResolver
|
||||
type PublishConfiguration = sbt.internal.librarymanagement.PublishConfiguration
|
||||
val ResolutionCache = sbt.internal.librarymanagement.ResolutionCache
|
||||
type ResolutionCache = sbt.internal.librarymanagement.ResolutionCache
|
||||
type ResolveException = sbt.internal.librarymanagement.ResolveException
|
||||
type ResolverAdapter = sbt.internal.librarymanagement.ResolverAdapter
|
||||
type RetrieveConfiguration = sbt.internal.librarymanagement.RetrieveConfiguration
|
||||
val SbtExclusionRule = sbt.internal.librarymanagement.SbtExclusionRule
|
||||
type SbtExclusionRule = sbt.internal.librarymanagement.SbtExclusionRule
|
||||
val StringUtilities = sbt.internal.librarymanagement.StringUtilities
|
||||
val UnresolvedWarning = sbt.internal.librarymanagement.UnresolvedWarning
|
||||
type UnresolvedWarning = sbt.internal.librarymanagement.UnresolvedWarning
|
||||
val UnresolvedWarningConfiguration = sbt.internal.librarymanagement.UnresolvedWarningConfiguration
|
||||
type UnresolvedWarningConfiguration = sbt.internal.librarymanagement.UnresolvedWarningConfiguration
|
||||
type UpdateConfiguration = sbt.internal.librarymanagement.UpdateConfiguration
|
||||
val UpdateLogging = sbt.internal.librarymanagement.UpdateLogging
|
||||
val UpdateReportLite = sbt.internal.librarymanagement.UpdateReportLite
|
||||
type UpdateReportLite = sbt.internal.librarymanagement.UpdateReportLite
|
||||
|
||||
// sbt.internal.inc.classpath
|
||||
object classpath {
|
||||
type CachedClassLoader = sbt.internal.inc.classpath.CachedClassLoader
|
||||
type ClassFilter = sbt.internal.inc.classpath.ClassFilter
|
||||
type ClassLoaderCache = sbt.internal.inc.classpath.ClassLoaderCache
|
||||
type ClasspathFilter = sbt.internal.inc.classpath.ClasspathFilter
|
||||
val ClasspathUtilities = sbt.internal.inc.classpath.ClasspathUtilities
|
||||
type DifferentLoaders = sbt.internal.inc.classpath.DifferentLoaders
|
||||
type DualEnumeration[T] = sbt.internal.inc.classpath.DualEnumeration[T]
|
||||
type DualLoader = sbt.internal.inc.classpath.DualLoader
|
||||
type ExcludePackagesFilter = sbt.internal.inc.classpath.ExcludePackagesFilter
|
||||
type FilteredLoader = sbt.internal.inc.classpath.FilteredLoader
|
||||
type FixedResources = sbt.internal.inc.classpath.FixedResources
|
||||
type IncludePackagesFilter = sbt.internal.inc.classpath.IncludePackagesFilter
|
||||
type LoaderBase = sbt.internal.inc.classpath.LoaderBase
|
||||
type NativeCopyConfig = sbt.internal.inc.classpath.NativeCopyConfig
|
||||
type NativeCopyLoader = sbt.internal.inc.classpath.NativeCopyLoader
|
||||
type NullLoader = sbt.internal.inc.classpath.NullLoader
|
||||
type PackageFilter = sbt.internal.inc.classpath.PackageFilter
|
||||
type RawResources = sbt.internal.inc.classpath.RawResources
|
||||
val RawURL = sbt.internal.inc.classpath.RawURL
|
||||
type SelfFirstLoader = sbt.internal.inc.classpath.SelfFirstLoader
|
||||
}
|
||||
|
||||
val IncOptions = sbt.internal.inc.IncOptions
|
||||
type Analysis = sbt.internal.inc.Analysis
|
||||
val Analysis = sbt.internal.inc.Analysis
|
||||
val ClassfileManager = sbt.internal.inc.ClassfileManager
|
||||
type ScalaInstance = sbt.internal.inc.ScalaInstance
|
||||
val ScalaInstance = sbt.internal.inc.ScalaInstance
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
import Project.Initialize
|
||||
|
||||
trait Marker
|
||||
|
|
@ -14,4 +15,4 @@ trait Marker
|
|||
else
|
||||
IO touch toMark
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
|
||||
object SingleBuild extends Build with Marker
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
import Def.Initialize
|
||||
import complete.{DefaultParsers, Parser}
|
||||
|
||||
|
|
@ -11,4 +12,4 @@ object A {
|
|||
|
||||
val x3: Initialize[Int] = Def.setting { 3 }
|
||||
val y3 = Def.setting { x3.value }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
import Def.Initialize
|
||||
import complete.{DefaultParsers, Parser}
|
||||
|
||||
object A {
|
||||
val x1: Initialize[Parser[Int]] = Def.setting { DefaultParsers.success(3) }
|
||||
val y1 = Def.task { x1.parsed }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
// tests that errors are properly propagated for dependsOn, map, and flatMap
|
||||
object B extends Build
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ configClassCountFile := (target.value / "config-count")
|
|||
|
||||
numConfigClasses := {
|
||||
val cdir = (baseDirectory in ThisBuild).value / "project/target/config-classes"
|
||||
(cdir.*** --- cdir).get.length
|
||||
(cdir.allPaths --- cdir).get.length
|
||||
}
|
||||
|
||||
saveNumConfigClasses := {
|
||||
|
|
@ -46,4 +46,4 @@ checkNumConfigClasses := {
|
|||
val previous = previousConfigCount.value
|
||||
val current = numConfigClasses.value
|
||||
assert(previous == current, s"Failed to delete extra configuration classes. Expected: $previous, Found: $current")
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
lazy val intTask = taskKey[Int]("int")
|
||||
|
||||
lazy val root = (project in file(".")).
|
||||
dependsOn(b, c).
|
||||
settings(
|
||||
intTask in Compile := {
|
||||
// a sequence of tasks could be joined together
|
||||
Seq(b, c).map(p => intTask in (p, Compile)).join.map( as => (1 /: as)(_ + _) ).value
|
||||
}
|
||||
)
|
||||
|
||||
lazy val b = (project in file("b")).
|
||||
settings(
|
||||
intTask in Compile := 1
|
||||
)
|
||||
|
||||
lazy val c = (project in file("c")).
|
||||
settings{
|
||||
intTask in Compile := 2
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
|
||||
object Build extends Build
|
||||
{
|
||||
lazy val root = Project("root", file(".")) dependsOn(b,c) settings(
|
||||
compile in Compile <<= Seq(b, c).map(p => compile in (p, Compile)).join.map( as => (inc.Analysis.Empty /: as)(_ ++ _) )
|
||||
)
|
||||
lazy val b = Project("b", file("b"))
|
||||
lazy val c = Project("c", file("c"))
|
||||
}
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
|
||||
object TestBuild extends Build
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
|
||||
object Ext extends Build
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
|
||||
object TestBuild extends Build
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object B extends Build
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
import complete.Parser
|
||||
import complete.DefaultParsers._
|
||||
import sbinary.DefaultProtocol._
|
||||
|
|
@ -47,4 +48,4 @@ object MyBuild extends Build
|
|||
|
||||
def dummyTask = (key: Any) => maxErrors map { _ => () }
|
||||
def str(o: Option[Int]) = o match { case None => "blue"; case Some(i) => i.toString }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object TestBuild extends Build
|
||||
{
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ myTask in (sub, Compile) := "sub compile"
|
|||
testTask("testRunTaskSubCompile", "sub compile", myTask in (sub, Compile))
|
||||
|
||||
def argFunction(f: String => String) = Def.inputTask {
|
||||
import sbt.complete.Parsers._
|
||||
import complete.Parsers._
|
||||
f((OptSpace ~> StringBasic).parsed)
|
||||
}
|
||||
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
logLevel := Level.Debug
|
||||
|
||||
incOptions ~= { _.copy(apiDebug = true) }
|
||||
incOptions ~= { _.withApiDebug(true) }
|
||||
|
||||
TaskKey[Unit]("show-apis") <<= (compile in Compile, scalaSource in Compile, javaSource in Compile) map { (a: sbt.inc.Analysis, scalaSrc: java.io.File, javaSrc: java.io.File) =>
|
||||
TaskKey[Unit]("show-apis") <<= (compile in Compile, scalaSource in Compile, javaSource in Compile) map { (a: sbt.internal.inc.Analysis, scalaSrc: java.io.File, javaSrc: java.io.File) =>
|
||||
val aApi = a.apis.internalAPI(scalaSrc / "A.scala").api
|
||||
val jApi = a.apis.internalAPI(javaSrc / "test/J.java").api
|
||||
import xsbt.api.DefaultShowAPI
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
// checks number of compilation iterations performed since last `clean` run
|
||||
InputKey[Unit]("check-number-of-compiler-iterations") <<= inputTask { (argTask: TaskKey[Seq[String]]) =>
|
||||
(argTask, compile in Compile) map { (args: Seq[String], a: sbt.inc.Analysis) =>
|
||||
(argTask, compile in Compile) map { (args: Seq[String], a: sbt.internal.inc.Analysis) =>
|
||||
assert(args.size == 1)
|
||||
val expectedIterationsNumber = args(0).toInt
|
||||
val allCompilationsSize = a.compilations.allCompilations.size
|
||||
|
|
@ -1 +1 @@
|
|||
incOptions := sbt.inc.IncOptions.Default
|
||||
incOptions := IncOptions.Default
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
TaskKey[Unit]("verify-binary-deps") <<= (compile in Compile, classDirectory in Compile, baseDirectory) map {
|
||||
(a: sbt.inc.Analysis, classDir: java.io.File, base: java.io.File) =>
|
||||
(a: sbt.internal.inc.Analysis, classDir: java.io.File, base: java.io.File) =>
|
||||
val nestedPkgClass = classDir / "test/nested.class"
|
||||
val fooSrc = base / "src/main/scala/test/nested/Foo.scala"
|
||||
assert(!a.relations.binaryDeps(fooSrc).contains(nestedPkgClass), a.relations.toString)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ logLevel := Level.Debug
|
|||
|
||||
// dumps analysis into target/analysis-dump.txt file
|
||||
InputKey[Unit]("check-number-of-compiler-iterations") <<= inputTask { (argTask: TaskKey[Seq[String]]) =>
|
||||
(argTask, compile in Compile) map { (args: Seq[String], a: sbt.inc.Analysis) =>
|
||||
(argTask, compile in Compile) map { (args: Seq[String], a: Analysis) =>
|
||||
assert(args.size == 1)
|
||||
val expectedIterationsNumber = args(0).toInt
|
||||
assert(a.compilations.allCompilations.size == expectedIterationsNumber, "a.compilations.allCompilations.size = %d (expected %d)".format(a.compilations.allCompilations.size, expectedIterationsNumber))
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
InputKey[Unit]("check-number-of-compiler-iterations") <<= inputTask { (argTask: TaskKey[Seq[String]]) =>
|
||||
(argTask, compile in Compile) map { (args: Seq[String], a: sbt.inc.Analysis) =>
|
||||
(argTask, compile in Compile) map { (args: Seq[String], a: Analysis) =>
|
||||
assert(args.size == 1)
|
||||
val expectedIterationsNumber = args(0).toInt
|
||||
assert(a.compilations.allCompilations.size == expectedIterationsNumber, "a.compilations.allCompilations.size = %d (expected %d)".format(a.compilations.allCompilations.size, expectedIterationsNumber))
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ scalaVersion := "2.10.4"
|
|||
crossScalaVersions := List("2.10.4", "2.11.0")
|
||||
|
||||
incOptions := incOptions.value.withNewClassfileManager(
|
||||
sbt.inc.ClassfileManager.transactional(
|
||||
ClassfileManager.transactional(
|
||||
crossTarget.value / "classes.bak",
|
||||
(streams in (Compile, compile)).value.log
|
||||
)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,41 @@
|
|||
import sbt.internal.inc.classpath.ClasspathUtilities
|
||||
|
||||
lazy val checkFull = TaskKey[Unit]("check-full")
|
||||
lazy val check = TaskKey[Unit]("check")
|
||||
|
||||
lazy val root = (project in file(".")).
|
||||
settings(
|
||||
ivyPaths <<= (baseDirectory, target)( (dir, t) => new IvyPaths(dir, Some(t / "ivy-cache"))),
|
||||
publishTo := Some(Resolver.file("Test Publish Repo", file("test-repo"))),
|
||||
resolvers <+= baseDirectory { base => "Test Repo" at (base / "test-repo").toURI.toString },
|
||||
moduleName := artifactID,
|
||||
projectID <<= baseDirectory { base => (if(base / "retrieve" exists) retrieveID else publishedID) },
|
||||
artifact in (Compile, packageBin) := mainArtifact,
|
||||
libraryDependencies <<= (libraryDependencies, baseDirectory) { (deps, base) => deps ++ (if(base / "retrieve" exists) publishedID :: Nil else Nil) },
|
||||
// needed to add a jar with a different type to the managed classpath
|
||||
unmanagedClasspath in Compile <+= scalaInstance.map(_.libraryJar),
|
||||
classpathTypes := Set(tpe),
|
||||
check <<= checkTask(dependencyClasspath),
|
||||
checkFull <<= checkTask(fullClasspath)
|
||||
)
|
||||
|
||||
// define strings for defining the artifact
|
||||
def artifactID = "test"
|
||||
def ext = "test2"
|
||||
def classifier = "test3"
|
||||
def tpe = "test1"
|
||||
def vers = "1.1"
|
||||
def org = "test"
|
||||
|
||||
def mainArtifact = Artifact(artifactID, tpe, ext, classifier)
|
||||
|
||||
// define the IDs to use for publishing and retrieving
|
||||
def publishedID = org % artifactID % vers artifacts(mainArtifact)
|
||||
def retrieveID = org % "test-retrieve" % "2.0"
|
||||
|
||||
// check that the test class is on the compile classpath, either because it was compiled or because it was properly retrieved
|
||||
def checkTask(classpath: TaskKey[Classpath]) = (classpath in Compile, scalaInstance) map { (cp, si) =>
|
||||
val loader = ClasspathUtilities.toLoader(cp.files, si.loader)
|
||||
try { Class.forName("test.Test", false, loader); () }
|
||||
catch { case _: ClassNotFoundException | _: NoClassDefFoundError => sys.error("Dependency not retrieved properly") }
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
|
||||
object ArtifactTest extends Build
|
||||
{
|
||||
lazy val root = Project("root", file(".")) settings(
|
||||
ivyPaths <<= (baseDirectory, target)( (dir, t) => new IvyPaths(dir, Some(t / "ivy-cache"))),
|
||||
publishTo := Some(Resolver.file("Test Publish Repo", file("test-repo"))),
|
||||
resolvers <+= baseDirectory { base => "Test Repo" at (base / "test-repo").toURI.toString },
|
||||
moduleName := artifactID,
|
||||
projectID <<= baseDirectory { base => (if(base / "retrieve" exists) retrieveID else publishedID) },
|
||||
artifact in (Compile, packageBin) := mainArtifact,
|
||||
libraryDependencies <<= (libraryDependencies, baseDirectory) { (deps, base) => deps ++ (if(base / "retrieve" exists) publishedID :: Nil else Nil) },
|
||||
// needed to add a jar with a different type to the managed classpath
|
||||
unmanagedClasspath in Compile <+= scalaInstance.map(_.libraryJar),
|
||||
classpathTypes := Set(tpe),
|
||||
check <<= checkTask(dependencyClasspath),
|
||||
checkFull <<= checkTask(fullClasspath)
|
||||
)
|
||||
|
||||
lazy val checkFull = TaskKey[Unit]("check-full")
|
||||
lazy val check = TaskKey[Unit]("check")
|
||||
|
||||
// define strings for defining the artifact
|
||||
def artifactID = "test"
|
||||
def ext = "test2"
|
||||
def classifier = "test3"
|
||||
def tpe = "test1"
|
||||
def vers = "1.1"
|
||||
def org = "test"
|
||||
|
||||
def mainArtifact = Artifact(artifactID, tpe, ext, classifier)
|
||||
|
||||
// define the IDs to use for publishing and retrieving
|
||||
def publishedID = org % artifactID % vers artifacts(mainArtifact)
|
||||
def retrieveID = org % "test-retrieve" % "2.0"
|
||||
|
||||
// check that the test class is on the compile classpath, either because it was compiled or because it was properly retrieved
|
||||
def checkTask(classpath: TaskKey[Classpath]) = (classpath in Compile, scalaInstance) map { (cp, si) =>
|
||||
val loader = sbt.classpath.ClasspathUtilities.toLoader(cp.files, si.loader)
|
||||
try { Class.forName("test.Test", false, loader); () }
|
||||
catch { case _: ClassNotFoundException | _: NoClassDefFoundError => sys.error("Dependency not retrieved properly") }
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object B extends Build {
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ lazy val root = (project in file(".")).
|
|||
dependencyOverrides in ThisBuild += "com.github.nscala-time" %% "nscala-time" % "1.0.0",
|
||||
libraryDependencies += "com.github.nscala-time" %% "nscala-time" % "1.0.0",
|
||||
check := {
|
||||
import sbt.Cache._, sbt.CacheIvy.updateIC
|
||||
import Cache._, CacheIvy.updateIC
|
||||
implicit val updateCache = updateIC
|
||||
type In = IvyConfiguration :+: ModuleSettings :+: UpdateConfiguration :+: HNil
|
||||
val s = (streams in update).value
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object B extends Build
|
||||
{
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
lazy val scalaOverride = taskKey[Unit]("Check that the proper version of Scala is on the classpath.")
|
||||
|
||||
lazy val root = (project in file(".")).
|
||||
settings(
|
||||
libraryDependencies <++= baseDirectory(dependencies),
|
||||
scalaVersion := "2.9.2",
|
||||
autoScalaLibrary <<= baseDirectory(base => !(base / "noscala").exists ),
|
||||
scalaOverride <<= check("scala.App")
|
||||
)
|
||||
|
||||
def check(className: String): Def.Initialize[Task[Unit]] = fullClasspath in Compile map { cp =>
|
||||
val existing = cp.files.filter(_.getName contains "scala-library")
|
||||
println("Full classpath: " + cp.mkString("\n\t", "\n\t", ""))
|
||||
println("scala-library.jar: " + existing.mkString("\n\t", "\n\t", ""))
|
||||
val loader = classpath.ClasspathUtilities.toLoader(existing)
|
||||
Class.forName(className, false, loader)
|
||||
}
|
||||
|
||||
def dependencies(base: File) =
|
||||
if( ( base / "stm").exists ) ("org.scala-tools" % "scala-stm_2.8.2" % "0.6") :: Nil
|
||||
else Nil
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
|
||||
object ExcludeScala extends Build
|
||||
{
|
||||
lazy val root = Project("root", file(".")) settings(
|
||||
libraryDependencies <++= baseDirectory(dependencies),
|
||||
scalaVersion := "2.9.2",
|
||||
autoScalaLibrary <<= baseDirectory(base => !(base / "noscala").exists ),
|
||||
scalaOverride <<= check("scala.App")
|
||||
)
|
||||
def check(className: String): Def.Initialize[Task[Unit]] = fullClasspath in Compile map { cp =>
|
||||
val existing = cp.files.filter(_.getName contains "scala-library")
|
||||
println("Full classpath: " + cp.mkString("\n\t", "\n\t", ""))
|
||||
println("scala-library.jar: " + existing.mkString("\n\t", "\n\t", ""))
|
||||
val loader = classpath.ClasspathUtilities.toLoader(existing)
|
||||
Class.forName(className, false, loader)
|
||||
}
|
||||
|
||||
lazy val scalaOverride = taskKey[Unit]("Check that the proper version of Scala is on the classpath.")
|
||||
|
||||
def dependencies(base: File) =
|
||||
if( ( base / "stm").exists )
|
||||
("org.scala-tools" % "scala-stm_2.8.2" % "0.6") :: Nil
|
||||
else
|
||||
Nil
|
||||
}
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
import Keys._
|
||||
|
||||
object TestProject extends Build
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
import Keys._
|
||||
|
||||
object TestProject extends Build
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
import Keys._
|
||||
import scala.xml._
|
||||
|
||||
|
|
@ -39,4 +40,4 @@ object InfoTest extends Build
|
|||
if( deliveredWithCustom(d) ) sys.error("Expected empty 'info' tag, got: \n" + (d \ "info")) else ()
|
||||
}
|
||||
def deliveredWithCustom(d: NodeSeq) = (d \ "info" \ "license").nonEmpty && (d \ "info" \ "description").nonEmpty
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
import sbt.internal.librarymanagement.syntax._
|
||||
|
||||
libraryDependencies += "org.scalacheck" % "scalacheck" % "1.5"
|
||||
|
||||
ivyPaths <<= baseDirectory( dir => new IvyPaths(dir, Some(dir / "ivy-home")))
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object P extends Build
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
import sbt.internal.librarymanagement.syntax._
|
||||
|
||||
seq(externalIvySettings(), externalIvyFile())
|
||||
|
||||
TaskKey[Unit]("check") := {
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
import sbt.internal.librarymanagement.syntax._
|
||||
|
||||
externalIvySettings()
|
||||
|
||||
libraryDependencies += "org.scalacheck" % "scalacheck" % "1.5"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
import Keys._
|
||||
|
||||
object B extends Build
|
||||
|
|
@ -24,9 +25,9 @@ object B extends Build
|
|||
lazy val baseSettings = Seq(
|
||||
autoScalaLibrary := false,
|
||||
ivyScala := None,
|
||||
unmanagedJars in Compile <++= scalaInstance map (_.jars),
|
||||
unmanagedJars in Compile <++= scalaInstance map (_.allJars.toSeq),
|
||||
publishArtifact in packageSrc := false,
|
||||
publishArtifact in packageDoc := false,
|
||||
publishMavenStyle := false
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object B extends Build
|
||||
{
|
||||
|
|
@ -13,6 +14,6 @@ object B extends Build
|
|||
)
|
||||
lazy val baseSettings = Seq(
|
||||
autoScalaLibrary := false,
|
||||
unmanagedJars in Compile <++= scalaInstance map (_.jars)
|
||||
unmanagedJars in Compile <++= scalaInstance map (_.allJars.toSeq)
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object Build extends Build
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
ivyPaths <<= baseDirectory( dir => new IvyPaths(dir, Some(dir / "ivy-home")))
|
||||
|
||||
resolvers += JavaNet1Repository
|
||||
|
||||
libraryDependencies += "javax.ejb" % "ejb-api" % "3.0"
|
||||
|
|
@ -1 +0,0 @@
|
|||
> update
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object build extends Build {
|
||||
override def settings = super.settings ++ Seq(
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt.{Node =>_,_}
|
||||
import Import._
|
||||
import Keys._
|
||||
import scala.xml._
|
||||
|
||||
|
|
@ -73,4 +74,4 @@ object MakePomTest extends Build
|
|||
if(base.endsWith("/")) base else (base + "/")
|
||||
}
|
||||
def normalize(repo: MavenRepository): MavenRepository = new MavenRepository(repo.name, normalize(repo.root))
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
|
||||
object ParentTest extends Build
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
import Keys._
|
||||
import complete.DefaultParsers._
|
||||
|
||||
|
|
@ -34,4 +35,4 @@ object PomRepoTest extends Build
|
|||
extracted.find { e => !expected.exists(_.accept(e.root)) } map { "Repository should not be exported: " + _ } orElse
|
||||
(expected.find { e => !extracted.exists(r => e.accept(r.root)) } map { "Repository should be exported: " + _ } ) foreach error
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
import Keys._
|
||||
import complete._
|
||||
import complete.DefaultParsers._
|
||||
|
|
@ -34,4 +35,4 @@ object MyBuild extends Build
|
|||
()
|
||||
}
|
||||
def seqStr(s: Seq[_]) = s.mkString("\n\t", "\n\t", "\n")
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object PomTest extends Build
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object PomTest extends Build
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object P extends Build
|
||||
{
|
||||
override def settings = super.settings ++ Seq(
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
import Keys._
|
||||
import complete.DefaultParsers._
|
||||
|
||||
|
|
@ -31,4 +32,4 @@ object TestProject extends Build
|
|||
else
|
||||
servletAPI.foreach(s => sys.error(s + " incorrectly included in " + label + "."))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
import Keys._
|
||||
|
||||
object MultiPublishTest extends Build
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
import Keys._
|
||||
|
||||
object MultiPublishTest extends Build
|
||||
|
|
@ -18,4 +19,4 @@ object MultiPublishTest extends Build
|
|||
|
||||
def interProject =
|
||||
projectDependencies <<= (publishMavenStyle, publishMavenStyle in sub, projectDependencies) map { (style, subStyle, pd) => if(style == subStyle) pd else Nil }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,6 @@ val makeHome = taskKey[Unit]("Populates the 'home/lib' directory with Scala jars
|
|||
|
||||
makeHome := {
|
||||
val lib = baseDirectory.value / "home" / "lib"
|
||||
for(jar <- scalaInstance.value.jars)
|
||||
for(jar <- scalaInstance.value.allJars)
|
||||
IO.copyFile(jar, lib / jar.getName)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
import sbt.internal.librarymanagement.syntax._
|
||||
|
||||
scalaHome := Some(baseDirectory.value / "home")
|
||||
|
||||
val checkUpdate = taskKey[Unit]("Ensures that resolved Scala artifacts are replaced with ones from the configured Scala home directory")
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
import Keys._
|
||||
import sbt.internal.librarymanagement.syntax._
|
||||
|
||||
object Test extends Build
|
||||
{
|
||||
|
|
@ -28,4 +30,4 @@ object Test extends Build
|
|||
val srcs = getSources(report)
|
||||
if(srcs.nonEmpty) sys.error("Sources retrieved:\n\t" + srcs.mkString("\n\t")) else ()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
import Keys._
|
||||
import classpath.ClasspathUtilities
|
||||
|
||||
|
|
@ -24,4 +25,4 @@ object TestProject extends Build
|
|||
case _: ClassNotFoundException => sys.error("Dependency not downloaded.")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,17 @@
|
|||
# test that a pure Java project can be compiled without a dependency on Scala library
|
||||
> compile
|
||||
|
||||
# It can use the Scala REPL for the version of Scala that sbt runs with
|
||||
> console
|
||||
|
||||
# A different version of Scala needs to be resolved, but we don't have any resolvers configured
|
||||
> ++2.8.2
|
||||
-> console
|
||||
|
||||
# With an explicit scalaInstance, the Scala tools configuration won't be resolved
|
||||
$ copy-file changes/explicitInstance.sbt explicitInstance.sbt
|
||||
> reload
|
||||
> console
|
||||
## Scala tools are resolved using ivy, so did we lose the ability to use the same Scala instance that sbt runs with?
|
||||
##
|
||||
## It can use the Scala REPL for the version of Scala that sbt runs with
|
||||
#> console
|
||||
##
|
||||
## A different version of Scala needs to be resolved, but we don't have any resolvers configured
|
||||
#> ++2.8.2
|
||||
#-> console
|
||||
##
|
||||
## With an explicit scalaInstance, the Scala tools configuration won't be resolved
|
||||
#$ copy-file changes/explicitInstance.sbt explicitInstance.sbt
|
||||
#> reload
|
||||
#> console
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
import sbt.complete.DefaultParsers._
|
||||
import complete.DefaultParsers._
|
||||
val parser = token(Space ~> ( ("exists" ^^^ true) | ("absent" ^^^ false) ) )
|
||||
InputKey[Unit]("check-output") := {
|
||||
val shouldExist = parser.parsed
|
||||
|
|
@ -11,4 +11,4 @@
|
|||
else
|
||||
()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,4 +44,4 @@ object TopC extends AutoPlugin {
|
|||
lazy val topLevelKeyTest = settingKey[String]("A top level setting declared in a plugin.")
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package sbttest // you need package http://stackoverflow.com/questions/9822008/
|
||||
|
||||
import sbt._
|
||||
import Import._
|
||||
import sbt.Keys.{name, resolvedScoped, organization }
|
||||
import java.util.concurrent.atomic.{AtomicInteger => AInt}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
import Keys._
|
||||
|
||||
import AddSettings._
|
||||
import Import._
|
||||
|
||||
object B extends Build
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package sbttest // you need package http://stackoverflow.com/questions/9822008/
|
|||
|
||||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object C extends AutoPlugin {
|
||||
object autoImport {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object B extends Build
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object EmptyLoaderBuild extends Build {
|
||||
override def buildLoaders = BuildLoader.transform(_.unit) :: Nil
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object Build extends Build {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
|
||||
object B extends Build
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
import complete.DefaultParsers._
|
||||
import Keys._
|
||||
import AddSettings._
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
import complete.DefaultParsers._
|
||||
import Keys._
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
import Keys._
|
||||
|
||||
object B extends Build
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object B extends Build
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
import Keys._
|
||||
import Configurations.{Compile, Test}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import sbt._
|
||||
import Import._
|
||||
import sbt.Keys._
|
||||
|
||||
object MyBuild extends Build {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object B extends Build {
|
||||
lazy val project = Project(id = "project",
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys._
|
||||
import Import._
|
||||
|
||||
object B extends Build
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import sbt._
|
||||
import Keys.name
|
||||
import AddSettings._
|
||||
import Import._
|
||||
|
||||
object TestBuild extends Build
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import sbt._
|
||||
import Keys.name
|
||||
import Import._
|
||||
|
||||
object TestBuild extends MakeBuild
|
||||
{
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue