diff options
-rw-r--r-- | build/build.scala | 2 | ||||
-rw-r--r-- | libraries/eval/build/build/build.scala | 7 | ||||
-rw-r--r-- | plugins/essentials/build/build.scala | 10 | ||||
-rw-r--r-- | stage1/Stage1.scala | 6 | ||||
-rw-r--r-- | stage2/BasicBuild.scala | 6 | ||||
-rw-r--r-- | stage2/BuildBuild.scala | 13 | ||||
-rw-r--r-- | stage2/Lib.scala | 11 | ||||
-rw-r--r-- | stage2/Plugin.scala | 4 | ||||
-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 |