aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build/build.scala2
-rw-r--r--libraries/eval/build/build/build.scala7
-rw-r--r--plugins/essentials/build/build.scala10
-rw-r--r--stage1/Stage1.scala6
-rw-r--r--stage2/BasicBuild.scala6
-rw-r--r--stage2/BuildBuild.scala13
-rw-r--r--stage2/Lib.scala11
-rw-r--r--stage2/Plugin.scala4
-rw-r--r--stage2/plugins/CommandLineOverrides.scala (renamed from plugins/essentials/CommandLineOverrides.scala)0
-rw-r--r--stage2/plugins/DynamicOverrides.scala (renamed from plugins/essentials/DynamicOverrides.scala)0
-rw-r--r--stage2/plugins/MultipleScalaVersions.scala (renamed from plugins/essentials/MultipleScalaVersions.scala)0
-rw-r--r--stage2/plugins/Readme.md (renamed from plugins/essentials/Readme.md)0
-rw-r--r--stage2/plugins/SnapshotVersion.scala (renamed from plugins/essentials/SnapshotVersion.scala)0
13 files changed, 16 insertions, 43 deletions
diff --git a/build/build.scala b/build/build.scala
index 8f094c3..3d3f75d 100644
--- a/build/build.scala
+++ b/build/build.scala
@@ -13,7 +13,7 @@ class Build(val context: Context) extends Shared with PublishLocal{
MavenDependency("org.eclipse.jgit", "org.eclipse.jgit", "4.2.0.201601211800-r"),
ScalaDependency("org.scala-lang.modules","scala-xml","1.0.5")
)
- }
+ } :+ libraries.eval
override def sources = Seq(
"nailgun_launcher", "stage1", "stage2", "compatibility"
diff --git a/libraries/eval/build/build/build.scala b/libraries/eval/build/build/build.scala
index b93554e..af4eb64 100644
--- a/libraries/eval/build/build/build.scala
+++ b/libraries/eval/build/build/build.scala
@@ -1,8 +1,5 @@
import cbt._
-class Build(val context: Context) extends BuildBuildWithoutEssentials{
- // this is used by the essentials plugin, so we can't depend on it
- override def dependencies = super.dependencies ++ Seq(
- plugins.scalaTest
- )
+class Build(val context: Context) extends BuildBuild{
+ override def dependencies = super.dependencies :+ plugins.scalaTest
}
diff --git a/plugins/essentials/build/build.scala b/plugins/essentials/build/build.scala
deleted file mode 100644
index 450130a..0000000
--- a/plugins/essentials/build/build.scala
+++ /dev/null
@@ -1,10 +0,0 @@
-import cbt._
-// TODO: maybe move this back into stage2 to avoid having to call zinc separately for this as a plugin
-// and to avoid the special casing "BuildBuildWithoutEssentials"
-class Build(val context: Context) extends BaseBuild{
- override def dependencies = (
- super.dependencies
- :+ context.cbtDependency
- :+ libraries.eval
- )
-}
diff --git a/stage1/Stage1.scala b/stage1/Stage1.scala
index e419e67..62cab87 100644
--- a/stage1/Stage1.scala
+++ b/stage1/Stage1.scala
@@ -91,8 +91,10 @@ object Stage1{
import paths._
val stage2sourceFiles = (
- stage2.listFiles ++ (stage2 ++ "/plugins").listFiles
- ).toVector.filter(_.isFile).filter(_.toString.endsWith(".scala"))
+ stage2.listFiles
+ ++ (stage2 / "plugins").listFiles
+ ++ (cbtHome / "libraries" / "eval").listFiles
+ ).filter(_.isFile).filter(_.toString.endsWith(".scala"))
val cls = this.getClass.getClassLoader.loadClass("cbt.NailgunLauncher")
diff --git a/stage2/BasicBuild.scala b/stage2/BasicBuild.scala
index 37b1786..491cdba 100644
--- a/stage2/BasicBuild.scala
+++ b/stage2/BasicBuild.scala
@@ -32,10 +32,10 @@ trait BaseBuild extends BuildInterface with DependencyImplementation with SbtDep
def projectDirectory: File = lib.realpath(context.workingDirectory)
assert( projectDirectory.exists, "projectDirectory does not exist: " ++ projectDirectory.string )
assert(
- projectDirectory.getName =!= lib.buildDirectoryName ||
- {
+ projectDirectory.getName =!= lib.buildDirectoryName
+ || {
def transitiveInterfaces(cls: Class[_]): Vector[Class[_]] = cls.getInterfaces.toVector.flatMap(i => i +: transitiveInterfaces(i))
- transitiveInterfaces(this.getClass).contains(classOf[BuildBuildWithoutEssentials])
+ transitiveInterfaces(this.getClass).contains(classOf[BuildBuild])
},
s"You need to extend ${lib.buildBuildClassName} in: " + projectDirectory + "/" ++ lib.buildDirectoryName
)
diff --git a/stage2/BuildBuild.scala b/stage2/BuildBuild.scala
index 7be4714..375454f 100644
--- a/stage2/BuildBuild.scala
+++ b/stage2/BuildBuild.scala
@@ -3,19 +3,13 @@ import java.nio.file._
import java.io.File
class ConcreteBuildBuild(val context: Context) extends BuildBuild
-class ConcreteBuildBuildWithoutEssentials(val context: Context) extends BuildBuildWithoutEssentials
-trait BuildBuild extends BuildBuildWithoutEssentials{
- override def dependencies =
- super.dependencies :+ plugins.essentials
-}
class plugins(implicit context: Context){
// TODO: move this out of the OO
- private def plugin(dir: String) = DirectoryDependency(
+ private def plugin(dir: String) = cbt.DirectoryDependency(
context.copy(
workingDirectory = context.cbtHome / "plugins" / dir
)
)
- final lazy val essentials = plugin( "essentials" )
final lazy val googleJavaFormat = plugin( "google-java-format" )
final lazy val proguard = plugin( "proguard" )
final lazy val sbtLayout = plugin( "sbt_layout" )
@@ -27,7 +21,8 @@ class plugins(implicit context: Context){
final lazy val uberJar = plugin( "uber-jar" )
final lazy val wartremover = plugin( "wartremover" )
}
-trait BuildBuildWithoutEssentials extends BaseBuild{
+
+trait BuildBuild extends BaseBuild{
object plugins extends plugins
assert(
@@ -44,7 +39,7 @@ trait BuildBuildWithoutEssentials extends BaseBuild{
super.dependencies :+ context.cbtDependency
def managedBuildDirectory: java.io.File = lib.realpath( projectDirectory.parent )
- def managedBuild = taskCache[BuildBuildWithoutEssentials]("managedBuild").memoize{
+ def managedBuild = taskCache[BuildBuild]("managedBuild").memoize{
val managedBuildFile = projectDirectory++("/"++lib.buildFileName)
logger.composition("Loading build at " ++ managedBuildDirectory.toString)
val build = (
diff --git a/stage2/Lib.scala b/stage2/Lib.scala
index 948cbf0..bb59604 100644
--- a/stage2/Lib.scala
+++ b/stage2/Lib.scala
@@ -38,17 +38,8 @@ final class Lib(val logger: Logger) extends Stage1Lib(logger){
val useBasicBuild = directory == start && start.getName != buildDirectoryName
try{
- if(useBasicBuild) {
+ if(useBasicBuild)
new BasicBuild( context.copy( workingDirectory = directory ) )
- } else if(
- // essentials depends on eval, which has a build that depends on scalatest
- // this means in these we can't depend on essentials
- // hopefully we find a better way that this pretty hacky exclusion rule
- directory == (context.cbtHome ++ "/plugins/essentials")
- || directory == (context.cbtHome ++ "/libraries/eval")
- || directory == (context.cbtHome ++ "/plugins/scalatest")
- )
- new cbt.ConcreteBuildBuildWithoutEssentials( context.copy( workingDirectory = start ) )
else
new cbt.ConcreteBuildBuild( context.copy( workingDirectory = start ) )
} catch {
diff --git a/stage2/Plugin.scala b/stage2/Plugin.scala
index ed4a698..43e26fa 100644
--- a/stage2/Plugin.scala
+++ b/stage2/Plugin.scala
@@ -1,7 +1,5 @@
package cbt
trait Plugin extends BaseBuild{
+ override def dependencies = super.dependencies :+ context.cbtDependency
object plugins extends plugins
-
- override def dependencies =
- super.dependencies :+ context.cbtDependency :+ plugins.essentials
}
diff --git a/plugins/essentials/CommandLineOverrides.scala b/stage2/plugins/CommandLineOverrides.scala
index 3ffaf21..3ffaf21 100644
--- a/plugins/essentials/CommandLineOverrides.scala
+++ b/stage2/plugins/CommandLineOverrides.scala
diff --git a/plugins/essentials/DynamicOverrides.scala b/stage2/plugins/DynamicOverrides.scala
index 8d67be7..8d67be7 100644
--- a/plugins/essentials/DynamicOverrides.scala
+++ b/stage2/plugins/DynamicOverrides.scala
diff --git a/plugins/essentials/MultipleScalaVersions.scala b/stage2/plugins/MultipleScalaVersions.scala
index 5d896dd..5d896dd 100644
--- a/plugins/essentials/MultipleScalaVersions.scala
+++ b/stage2/plugins/MultipleScalaVersions.scala
diff --git a/plugins/essentials/Readme.md b/stage2/plugins/Readme.md
index 76d3756..76d3756 100644
--- a/plugins/essentials/Readme.md
+++ b/stage2/plugins/Readme.md
diff --git a/plugins/essentials/SnapshotVersion.scala b/stage2/plugins/SnapshotVersion.scala
index 1f7eb23..1f7eb23 100644
--- a/plugins/essentials/SnapshotVersion.scala
+++ b/stage2/plugins/SnapshotVersion.scala