From ec29b9f38711b2bb33b51e9bc220c17c7d09fcce Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Tue, 28 Mar 2017 19:32:15 -0400 Subject: support `clean` task without direct mode --- stage2/Lib.scala | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/stage2/Lib.scala b/stage2/Lib.scala index 6488c1a..52973f1 100644 --- a/stage2/Lib.scala +++ b/stage2/Lib.scala @@ -209,12 +209,11 @@ final class Lib(val logger: Logger) extends Stage1Lib(logger){ } else { val performDelete = ( force || { - val console = consoleOrFail("Use `cbt direct clean` or `cbt clean help`") System.err.println("Files to be deleted:\n") files.foreach( System.err.println ) System.err.println("") System.err.print("To delete the above files type 'delete': ") - console.readLine() == "delete" + new BufferedReader( new InputStreamReader(System.in), 1 ).readLine == "delete" } ) -- cgit v1.2.3 From e7a21be0ca3cf7152b5798317fff346220caae32 Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Wed, 29 Mar 2017 08:36:39 -0400 Subject: make .scala sources 2.12 compatible --- stage1/Stage1Lib.scala | 3 ++- stage1/resolver.scala | 14 +++++++------- stage2/BasicBuild.scala | 4 ++-- stage2/LazyDependency.scala | 6 +++--- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/stage1/Stage1Lib.scala b/stage1/Stage1Lib.scala index 392b885..1698621 100644 --- a/stage1/Stage1Lib.scala +++ b/stage1/Stage1Lib.scala @@ -314,9 +314,10 @@ ${sourceFiles.sorted.mkString(" \\\n")} .map( dejavafy ) .orElse{ (cacheFile.exists && cacheFile.lastModified > cbtLastModified).option{ - import collection.JavaConversions._ + import collection.JavaConverters._ val v = Files .readAllLines( cacheFile.toPath, StandardCharsets.UTF_8 ) + .asScala .toStream .map( deserialize ) persistentCache.put(key, Array(System.currentTimeMillis:java.lang.Long, javafy(v))) diff --git a/stage1/resolver.scala b/stage1/resolver.scala index 6134a16..48099e5 100644 --- a/stage1/resolver.scala +++ b/stage1/resolver.scala @@ -108,7 +108,7 @@ trait DependencyImplementation extends Dependency{ def flatClassLoader: Boolean = false - def classLoader: ClassLoader = taskCache[DependencyImplementation]( "classLoader" ).memoize{ + override def classLoader: ClassLoader = taskCache[DependencyImplementation]( "classLoader" ).memoize{ if( flatClassLoader ){ new java.net.URLClassLoader(classpath.strings.map(f => new URL("file://" ++ f)).toArray) } else { @@ -170,13 +170,13 @@ case class BinaryDependency( paths: Seq[File], dependencies: Seq[Dependency] )(i def exportedClasspath = ClassPath(paths) override def lastModified = paths.map(_.lastModifiedRecursive).max // FIXME: cache this def targetClasspath = exportedClasspath - lazy val moduleKey = this.getClass.getName + "(" + paths.mkString(", ") + ")" // PERFORMANCE HOTSPOT + override lazy val moduleKey = this.getClass.getName + "(" + paths.mkString(", ") + ")" // PERFORMANCE HOTSPOT } /** Allows to easily assemble a bunch of dependencies */ case class Dependencies( dependencies: Seq[Dependency] )(implicit val logger: Logger, val transientCache: java.util.Map[AnyRef,AnyRef], val classLoaderCache: ClassLoaderCache) extends DependencyImplementation{ override def lastModified = dependencies.map(_.lastModified).maxOption.getOrElse(0) - lazy val moduleKey = this.getClass.getName + "(" + dependencies.map(_.moduleKey).mkString(", ") + ")" // PERFORMANCE HOTSPOT + override lazy val moduleKey = this.getClass.getName + "(" + dependencies.map(_.moduleKey).mkString(", ") + ")" // PERFORMANCE HOTSPOT def targetClasspath = ClassPath() def exportedClasspath = ClassPath() override def show: String = this.getClass.getSimpleName + "( " + dependencies.map(_.show).mkString(", ") + " )" @@ -184,7 +184,7 @@ case class Dependencies( dependencies: Seq[Dependency] )(implicit val logger: Lo case class PostBuildDependency(target: File, _dependencies: Seq[DependencyImplementation])(implicit val logger: Logger, val transientCache: java.util.Map[AnyRef,AnyRef], val classLoaderCache: ClassLoaderCache) extends DependencyImplementation{ override final lazy val lastModified = (target++".last-success").lastModified - lazy val moduleKey = target.string + override lazy val moduleKey = target.string override def show = s"PostBuildDependency($target)" override def targetClasspath = exportedClasspath override def exportedClasspath = ClassPath( Seq(target) ) @@ -246,7 +246,7 @@ case class BoundMavenDependency( )( implicit val logger: Logger, val transientCache: java.util.Map[AnyRef,AnyRef], val classLoaderCache: ClassLoaderCache ) extends ArtifactInfo with DependencyImplementation{ - lazy val moduleKey = this.getClass.getName + "(" + mavenDependency.serialize + ")" // PERFORMANCE HOTSPOT + override lazy val moduleKey = this.getClass.getName + "(" + mavenDependency.serialize + ")" // PERFORMANCE HOTSPOT override def hashCode = mavenDependency.hashCode override def equals(other: Any) = other match{ case o: BoundMavenDependency => o.mavenDependency == mavenDependency && o.repositories == repositories @@ -284,7 +284,7 @@ case class BoundMavenDependency( def exportedJars = Seq( jar ) override def exportedClasspath = ClassPath( exportedJars ) override def targetClasspath = exportedClasspath - import scala.collection.JavaConversions._ + import scala.collection.JavaConverters._ private def resolve(suffix: String, hash: Option[String], useClassifier: Boolean): File = { logger.resolver(lib.blue("Resolving ")+this) @@ -304,7 +304,7 @@ case class BoundMavenDependency( val result = Files.readAllLines( path, StandardCharsets.UTF_8 - ).mkString("\n").split(" ").head.trim + ).asScala.mkString("\n").split(" ").head.trim classLoaderCache.hashMap.put("hash:"+path, result) result } diff --git a/stage2/BasicBuild.scala b/stage2/BasicBuild.scala index 2cf97e5..88922d9 100644 --- a/stage2/BasicBuild.scala +++ b/stage2/BasicBuild.scala @@ -17,7 +17,7 @@ trait BaseBuild extends BuildInterface with DependencyImplementation with SbtDep // will create new instances given the context, which means operations in the // overrides will happen multiple times and if they are not idempotent stuff likely breaks def context: Context - lazy val moduleKey: String = "BaseBuild("+target.string+")" + override lazy val moduleKey: String = "BaseBuild("+target.string+")" implicit def transientCache: java.util.Map[AnyRef,AnyRef] = context.transientCache implicit def libraries(implicit context: Context): libraries = new libraries(context, scalaVersion) @@ -153,7 +153,7 @@ trait BaseBuild extends BuildInterface with DependencyImplementation with SbtDep "-unchecked" ) - final def lastModified: Long = compile.getOrElse(0L) + override final def lastModified: Long = compile.getOrElse(0L) def triggerLoopFiles: Set[File] = sources.toSet diff --git a/stage2/LazyDependency.scala b/stage2/LazyDependency.scala index afc6263..2822638 100644 --- a/stage2/LazyDependency.scala +++ b/stage2/LazyDependency.scala @@ -1,11 +1,11 @@ package cbt class LazyDependency( _dependency: => Dependency )( implicit logger: Logger, transientCache: java.util.Map[AnyRef, AnyRef], classLoaderCache: ClassLoaderCache ) extends Dependency { lazy val dependency = _dependency - def classLoader = dependency.classLoader + override def classLoader = dependency.classLoader def dependenciesArray = Array( dependency ) def exportedClasspathArray = Array() - def lastModified = dependency.lastModified - lazy val moduleKey = show + override def lastModified = dependency.lastModified + override lazy val moduleKey = show def show = s"LazyDependency(${dependency.show})" override def toString = show override def equals( other: Any ) = other match { -- cgit v1.2.3 From e7944bfbc61b56d3a8c70550897d8e3c34f3eab3 Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Wed, 29 Mar 2017 09:01:39 -0400 Subject: enable git dependencies in cbt’s own build in circle MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- circle.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/circle.yml b/circle.yml index 467c72d..08d9182 100644 --- a/circle.yml +++ b/circle.yml @@ -14,6 +14,7 @@ dependencies: compile: override: + - rm ~/.gitconfig # avoid url replacement breaking jgit - ./cbt direct compile - ./cbt direct test.compile - ./cbt compile @@ -22,7 +23,6 @@ compile: test: override: - - rm ~/.gitconfig # avoid url replacement breaking jgit - ./cbt direct test.run slow: timeout: 1800 - ./cbt direct test.run slow: -- cgit v1.2.3 From f570ad5ac5461acb7dc07a3a8654fdd54e645bb3 Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Wed, 29 Mar 2017 09:02:09 -0400 Subject: type-safe aliases for ports --- build/build.scala | 3 ++- stage2/BasicBuild.scala | 3 ++- stage2/ports.scala | 8 ++++++++ 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 stage2/ports.scala diff --git a/build/build.scala b/build/build.scala index e077343..3873d4f 100644 --- a/build/build.scala +++ b/build/build.scala @@ -25,7 +25,8 @@ class Build(val context: Context) extends Shared with Scalariform with PublishLo context.cbtHome / "stage2" / "DirectoryDependency.scala", context.cbtHome / "stage2" / "LazyDependency.scala", context.cbtHome / "stage2" / "libraries.scala", - context.cbtHome / "stage2" / "plugins.scala" + context.cbtHome / "stage2" / "plugins.scala", + context.cbtHome / "stage2" / "ports.scala" ) ) diff --git a/stage2/BasicBuild.scala b/stage2/BasicBuild.scala index 88922d9..02c3057 100644 --- a/stage2/BasicBuild.scala +++ b/stage2/BasicBuild.scala @@ -20,7 +20,8 @@ trait BaseBuild extends BuildInterface with DependencyImplementation with SbtDep override lazy val moduleKey: String = "BaseBuild("+target.string+")" implicit def transientCache: java.util.Map[AnyRef,AnyRef] = context.transientCache - implicit def libraries(implicit context: Context): libraries = new libraries(context, scalaVersion) + object libraries extends libraries( context, scalaVersion ) + object ports extends ports(context) // library available to builds implicit protected final val logger: Logger = context.logger diff --git a/stage2/ports.scala b/stage2/ports.scala new file mode 100644 index 0000000..51ae4f0 --- /dev/null +++ b/stage2/ports.scala @@ -0,0 +1,8 @@ +package cbt +class ports( context: Context ) { + private def dep( name: String ) = DirectoryDependency( + context.copy( workingDirectory = context.cbtHome / "ports" / name ), + None + ) + def mima = dep( "migration-manager" ) +} -- cgit v1.2.3 From 5553c92eec89fa06c6eaa61645b2c9cb8332f404 Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Wed, 29 Mar 2017 09:04:19 -0400 Subject: centralize all references to scala versions into single place --- nailgun_launcher/EarlyDependencies.java | 68 +++++++++++++++++---------------- nailgun_launcher/Stage0Lib.java | 10 ++--- stage1/constants.scala | 6 +-- stage2/ToolsTasks.scala | 49 +++++++++++++++++++----- 4 files changed, 83 insertions(+), 50 deletions(-) diff --git a/nailgun_launcher/EarlyDependencies.java b/nailgun_launcher/EarlyDependencies.java index 6683393..5725e3a 100644 --- a/nailgun_launcher/EarlyDependencies.java +++ b/nailgun_launcher/EarlyDependencies.java @@ -8,7 +8,11 @@ import java.util.*; import static cbt.Stage0Lib.*; import static cbt.NailgunLauncher.*; -class EarlyDependencies{ +public class EarlyDependencies{ + + public static String scalaVersion = "2.11.8"; + public static String scalaXmlVersion = "1.0.6"; + public static String zincVersion = "0.3.13"; /** ClassLoader for stage1 */ ClassLoader classLoader; @@ -16,32 +20,26 @@ class EarlyDependencies{ /** ClassLoader for zinc */ ClassLoader zinc; - String scalaReflect_2_11_8_File; - String scalaCompiler_2_11_8_File; - String scalaXml_1_0_5_File; - String scalaLibrary_2_11_8_File; - String zinc_0_3_13_File; - String incrementalCompiler_0_13_13_File; - String compilerInterface_0_13_13_File; - String scalaCompiler_2_10_6_File; - String sbtInterface_0_13_13_File; - String scalaReflect_2_10_6_File; - String scalaLibrary_2_10_6_File; + String scalaCompiler_File; + String scalaLibrary_File; + String scalaReflect_File; + String sbtInterface_File; + String compilerInterface_File; public EarlyDependencies( String mavenCache, String mavenUrl, ClassLoaderCache classLoaderCache, ClassLoader rootClassLoader ) throws Throwable { - scalaReflect_2_11_8_File = mavenCache + "/org/scala-lang/scala-reflect/2.11.8/scala-reflect-2.11.8.jar"; - scalaCompiler_2_11_8_File = mavenCache + "/org/scala-lang/scala-compiler/2.11.8/scala-compiler-2.11.8.jar"; - scalaXml_1_0_5_File = mavenCache + "/org/scala-lang/modules/scala-xml_2.11/1.0.5/scala-xml_2.11-1.0.5.jar"; - scalaLibrary_2_11_8_File = mavenCache + "/org/scala-lang/scala-library/2.11.8/scala-library-2.11.8.jar"; - zinc_0_3_13_File = mavenCache + "/com/typesafe/zinc/zinc/0.3.13/zinc-0.3.13.jar"; - incrementalCompiler_0_13_13_File = mavenCache + "/com/typesafe/sbt/incremental-compiler/0.13.13/incremental-compiler-0.13.13.jar"; - compilerInterface_0_13_13_File = mavenCache + "/com/typesafe/sbt/compiler-interface/0.13.13/compiler-interface-0.13.13-sources.jar"; - scalaCompiler_2_10_6_File = mavenCache + "/org/scala-lang/scala-compiler/2.10.6/scala-compiler-2.10.6.jar"; - sbtInterface_0_13_13_File = mavenCache + "/com/typesafe/sbt/sbt-interface/0.13.13/sbt-interface-0.13.13.jar"; - scalaReflect_2_10_6_File = mavenCache + "/org/scala-lang/scala-reflect/2.10.6/scala-reflect-2.10.6.jar"; - scalaLibrary_2_10_6_File = mavenCache + "/org/scala-lang/scala-library/2.10.6/scala-library-2.10.6.jar"; + String scalaReflect_2_11_8_File = mavenCache + "/org/scala-lang/scala-reflect/2.11.8/scala-reflect-2.11.8.jar"; + String scalaCompiler_2_11_8_File = mavenCache + "/org/scala-lang/scala-compiler/2.11.8/scala-compiler-2.11.8.jar"; + String scalaXml_1_0_6_File = mavenCache + "/org/scala-lang/modules/scala-xml_2.11/1.0.6/scala-xml_2.11-1.0.6.jar"; + String scalaLibrary_2_11_8_File = mavenCache + "/org/scala-lang/scala-library/2.11.8/scala-library-2.11.8.jar"; + String zinc_0_3_13_File = mavenCache + "/com/typesafe/zinc/zinc/0.3.13/zinc-0.3.13.jar"; + String incrementalCompiler_0_13_13_File = mavenCache + "/com/typesafe/sbt/incremental-compiler/0.13.13/incremental-compiler-0.13.13.jar"; + String compilerInterface_0_13_13_File = mavenCache + "/com/typesafe/sbt/compiler-interface/0.13.13/compiler-interface-0.13.13-sources.jar"; + String scalaCompiler_2_10_6_File = mavenCache + "/org/scala-lang/scala-compiler/2.10.6/scala-compiler-2.10.6.jar"; + String sbtInterface_0_13_13_File = mavenCache + "/com/typesafe/sbt/sbt-interface/0.13.13/sbt-interface-0.13.13.jar"; + String scalaReflect_2_10_6_File = mavenCache + "/org/scala-lang/scala-reflect/2.10.6/scala-reflect-2.10.6.jar"; + String scalaLibrary_2_10_6_File = mavenCache + "/org/scala-lang/scala-library/2.10.6/scala-library-2.10.6.jar"; download(new URL(mavenUrl + "/org/scala-lang/scala-reflect/2.11.8/scala-reflect-2.11.8.jar"), Paths.get(scalaReflect_2_11_8_File), "b74530deeba742ab4f3134de0c2da0edc49ca361"); download(new URL(mavenUrl + "/org/scala-lang/scala-compiler/2.11.8/scala-compiler-2.11.8.jar"), Paths.get(scalaCompiler_2_11_8_File), "fe1285c9f7b58954c5ef6d80b59063569c065e9a"); @@ -134,20 +132,26 @@ class EarlyDependencies{ scalaLibrary_2_11_8_ClasspathArray ); - // org.scala-lang.modules:scala-xml_2.11:1.0.5 - String[] scalaXml_1_0_5_ClasspathArray = new String[]{scalaXml_1_0_5_File, scalaLibrary_2_11_8_File}; - ClassLoader scalaXml_1_0_5_ = loadDependency( - mavenUrl + "/org/scala-lang/modules/scala-xml_2.11/1.0.5/scala-xml_2.11-1.0.5.jar", - scalaXml_1_0_5_File, - "77ac9be4033768cf03cc04fbd1fc5e5711de2459", + // org.scala-lang.modules:scala-xml_2.11:1.0.6 + String[] scalaXml_1_0_6_ClasspathArray = new String[]{scalaXml_1_0_6_File, scalaLibrary_2_11_8_File}; + ClassLoader scalaXml_1_0_6_ = loadDependency( + mavenUrl + "/org/scala-lang/modules/scala-xml_2.11/1.0.6/scala-xml_2.11-1.0.6.jar", + scalaXml_1_0_6_File, + "4ebd108453e6455351c0ec50d32509ae1154fdb1", classLoaderCache, scalaLibrary_2_11_8_, - scalaXml_1_0_5_ClasspathArray + scalaXml_1_0_6_ClasspathArray ); - classLoader = scalaXml_1_0_5_; - classpathArray = scalaXml_1_0_5_ClasspathArray; + classLoader = scalaXml_1_0_6_; + classpathArray = scalaXml_1_0_6_ClasspathArray; zinc = zinc_0_3_13_; + + scalaCompiler_File = scalaCompiler_2_11_8_File; + scalaLibrary_File = scalaLibrary_2_11_8_File; + scalaReflect_File = scalaReflect_2_11_8_File; + sbtInterface_File = sbtInterface_0_13_13_File; + compilerInterface_File = compilerInterface_0_13_13_File; } } diff --git a/nailgun_launcher/Stage0Lib.java b/nailgun_launcher/Stage0Lib.java index 34af7b0..456e9d1 100644 --- a/nailgun_launcher/Stage0Lib.java +++ b/nailgun_launcher/Stage0Lib.java @@ -102,11 +102,11 @@ public class Stage0Lib{ List zincArgs = new ArrayList( Arrays.asList( new String[]{ - "-scala-compiler", earlyDeps.scalaCompiler_2_11_8_File, - "-scala-library", earlyDeps.scalaLibrary_2_11_8_File, - "-scala-extra", earlyDeps.scalaReflect_2_11_8_File, - "-sbt-interface", earlyDeps.sbtInterface_0_13_13_File, - "-compiler-interface", earlyDeps.compilerInterface_0_13_13_File, + "-scala-compiler", earlyDeps.scalaCompiler_File, + "-scala-library", earlyDeps.scalaLibrary_File, + "-scala-extra", earlyDeps.scalaReflect_File, + "-sbt-interface", earlyDeps.sbtInterface_File, + "-compiler-interface", earlyDeps.compilerInterface_File, "-cp", classpath, "-d", target, "-S-deprecation", diff --git a/stage1/constants.scala b/stage1/constants.scala index ebc892c..d87fb64 100644 --- a/stage1/constants.scala +++ b/stage1/constants.scala @@ -1,7 +1,7 @@ package cbt object constants{ - val scalaXmlVersion = "1.0.5" - val scalaVersion = "2.11.8" - val zincVersion = "0.3.13" + val scalaXmlVersion = EarlyDependencies.scalaXmlVersion + val scalaVersion = EarlyDependencies.scalaVersion + val zincVersion = EarlyDependencies.zincVersion val scalaMajorVersion = scalaVersion.split("\\.").take(2).mkString(".") } diff --git a/stage2/ToolsTasks.scala b/stage2/ToolsTasks.scala index 15052ae..a55bc7f 100644 --- a/stage2/ToolsTasks.scala +++ b/stage2/ToolsTasks.scala @@ -51,7 +51,7 @@ class ToolsTasks( val version = args.lift(1).getOrElse(constants.scalaVersion) val ammonite = Resolver(mavenCentral).bindOne( MavenDependency( - "com.lihaoyi","ammonite-repl_2.11.8",args.lift(1).getOrElse("0.5.8") + "com.lihaoyi","ammonite-repl_"++constants.scalaVersion,args.lift(1).getOrElse("0.5.8") ) ) // FIXME: this does not work quite yet, throws NoSuchFileException: /ammonite/repl/frontend/ReplBridge$.class @@ -76,7 +76,7 @@ class ToolsTasks( Resolver(mavenCentral).bindOne(MavenDependency("org.scala-lang","scala-reflect",scalaVersion)), Resolver(mavenCentral).bindOne(MavenDependency("org.scala-lang","scala-compiler",scalaVersion)) ) - + val scalaXml = Dependencies( Resolver(mavenCentral).bind( MavenDependency("org.scala-lang.modules","scala-xml_"+scalaMajorVersion,scalaXmlVersion), @@ -85,6 +85,17 @@ class ToolsTasks( ) val zinc = Resolver(mavenCentral).bindOne(MavenDependency("com.typesafe.zinc","zinc",zincVersion)) + val sbtVersion = + zinc.dependencies + .collect{ case d @ + BoundMavenDependency( + _, _, MavenDependency( "com.typesafe.sbt", "compiler-interface", _, Classifier.sources, _), _, _ + ) => d + } + .headOption + .getOrElse( throw new Exception(s"cannot find compiler-interface in zinc $zincVersion dependencies: "++zinc.dependencies.toString) ) + .mavenDependency + .version def valName(dep: BoundMavenDependency) = { val words = dep.artifactId.split("_").head.split("-") @@ -93,7 +104,7 @@ class ToolsTasks( def jarVal(dep: BoundMavenDependency) = "_" + valName(dep) +"Jar" def transitive(dep: Dependency) = (dep +: lib.transitiveDependencies(dep).reverse).collect{case d: BoundMavenDependency => d} - def codeEach(dep: Dependency) = { + def codeEach(dep: Dependency) = { transitive(dep).tails.map(_.reverse).toVector.reverse.drop(1).map{ deps => val d = deps.last @@ -115,6 +126,10 @@ class ToolsTasks( } val assignments = codeEach(zinc) ++ codeEach(scalaXml) val files = scalaDeps ++ transitive(scalaXml) ++ transitive(zinc) + val _scalaVersion = scalaVersion.replace(".","_") + val _scalaXmlVersion = scalaXmlVersion.replace(".","_") + val _zincVersion = zincVersion.replace(".","_") + val _sbtVersion = sbtVersion.replace(".","_") //{ case (name, dep) => s"$name =\n ${tree(dep, 4)};" }.mkString("\n\n ") val code = s"""// This file was auto-generated using `cbt tools cbtEarlyDependencies` package cbt; @@ -126,7 +141,11 @@ import java.util.*; import static cbt.Stage0Lib.*; import static cbt.NailgunLauncher.*; -class EarlyDependencies{ +public class EarlyDependencies{ + + public static String scalaVersion = "$scalaVersion"; + public static String scalaXmlVersion = "$scalaXmlVersion"; + public static String zincVersion = "$zincVersion"; /** ClassLoader for stage1 */ ClassLoader classLoader; @@ -134,25 +153,35 @@ class EarlyDependencies{ /** ClassLoader for zinc */ ClassLoader zinc; -${files.map(d => s""" String ${valName(d)}File;""").mkString("\n")} + String scalaCompiler_File; + String scalaLibrary_File; + String scalaReflect_File; + String sbtInterface_File; + String compilerInterface_File; public EarlyDependencies( String mavenCache, String mavenUrl, ClassLoaderCache classLoaderCache, ClassLoader rootClassLoader ) throws Throwable { -${files.map(d => s""" ${valName(d)}File = mavenCache + "${d.basePath(true)}.jar";""").mkString("\n")} +${files.map(d => s""" String ${valName(d)}File = mavenCache + "${d.basePath(true)}.jar";""").mkString("\n")} ${scalaDeps.map(d => s""" download(new URL(mavenUrl + "${d.basePath(true)}.jar"), Paths.get(${valName(d)}File), "${d.jarSha1}");""").mkString("\n")} ${assignments.mkString("\n")} - classLoader = scalaXml_${scalaXmlVersion.replace(".","_")}_; - classpathArray = scalaXml_${scalaXmlVersion.replace(".","_")}_ClasspathArray; + classLoader = scalaXml_${_scalaXmlVersion}_; + classpathArray = scalaXml_${_scalaXmlVersion}_ClasspathArray; + + zinc = zinc_${_zincVersion}_; - zinc = zinc_${zincVersion.replace(".","_")}_; + scalaCompiler_File = scalaCompiler_${_scalaVersion}_File; + scalaLibrary_File = scalaLibrary_${_scalaVersion}_File; + scalaReflect_File = scalaReflect_${_scalaVersion}_File; + sbtInterface_File = sbtInterface_${_sbtVersion}_File; + compilerInterface_File = compilerInterface_${_sbtVersion}_File; } } """ val file = nailgun ++ ("/" ++ "EarlyDependencies.java") - lib.write( file, code ) + lib.writeIfChanged( file, code ) println( Console.GREEN ++ "Wrote " ++ file.string ++ Console.RESET ) } } -- cgit v1.2.3 From 56c49924f4016b922801d0ab28c787240044e886 Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Sun, 2 Apr 2017 00:18:37 -0400 Subject: propagate scala versions into aliased dependencies not necessary for plugins yet, but will be when we allow choosing your scala version for build files --- stage2/BasicBuild.scala | 4 ++-- stage2/BuildBuild.scala | 2 +- stage2/Plugin.scala | 2 +- stage2/libraries.scala | 2 +- stage2/plugins.scala | 11 ++++++++--- stage2/ports.scala | 7 +++++-- 6 files changed, 18 insertions(+), 10 deletions(-) diff --git a/stage2/BasicBuild.scala b/stage2/BasicBuild.scala index 02c3057..05e3c41 100644 --- a/stage2/BasicBuild.scala +++ b/stage2/BasicBuild.scala @@ -20,8 +20,8 @@ trait BaseBuild extends BuildInterface with DependencyImplementation with SbtDep override lazy val moduleKey: String = "BaseBuild("+target.string+")" implicit def transientCache: java.util.Map[AnyRef,AnyRef] = context.transientCache - object libraries extends libraries( context, scalaVersion ) - object ports extends ports(context) + object libraries extends libraries( context, scalaVersion, scalaMajorVersion ) + object ports extends ports( context, scalaVersion ) // library available to builds implicit protected final val logger: Logger = context.logger diff --git a/stage2/BuildBuild.scala b/stage2/BuildBuild.scala index cc69905..8430f49 100644 --- a/stage2/BuildBuild.scala +++ b/stage2/BuildBuild.scala @@ -7,7 +7,7 @@ class ConcreteBuildBuild(val context: Context) extends BuildBuild trait BuildBuild extends BaseBuild{ override def dependencies = super.dependencies :+ context.cbtDependency - object plugins extends plugins + object plugins extends plugins( context, scalaVersion ) assert( projectDirectory.getName === lib.buildDirectoryName, diff --git a/stage2/Plugin.scala b/stage2/Plugin.scala index 43e26fa..2cc242d 100644 --- a/stage2/Plugin.scala +++ b/stage2/Plugin.scala @@ -1,5 +1,5 @@ package cbt trait Plugin extends BaseBuild{ override def dependencies = super.dependencies :+ context.cbtDependency - object plugins extends plugins + object plugins extends plugins( context, scalaVersion ) } diff --git a/stage2/libraries.scala b/stage2/libraries.scala index f0e4ecc..ebc748d 100644 --- a/stage2/libraries.scala +++ b/stage2/libraries.scala @@ -1,5 +1,5 @@ package cbt -class libraries( context: Context, scalaVersion: String ) { +class libraries( context: Context, scalaVersion: String, scalaMajorVersion: String ) { private def dep( name: String ) = DirectoryDependency( context.copy( scalaVersion = Some( scalaVersion ), diff --git a/stage2/plugins.scala b/stage2/plugins.scala index 6c5ee29..ec01d86 100644 --- a/stage2/plugins.scala +++ b/stage2/plugins.scala @@ -1,7 +1,12 @@ package cbt -class plugins( implicit context: Context ) { - // TODO: move this out of the OO - private def plugin( dir: String ) = DirectoryDependency( context.cbtHome / "plugins" / dir ) +class plugins( context: Context, scalaVersion: String ) { + private def plugin( name: String ) = DirectoryDependency( + context.copy( + scalaVersion = Some( scalaVersion ), + workingDirectory = context.cbtHome / "plugins" / name + ), + None + ) final lazy val googleJavaFormat = plugin( "google-java-format" ) final lazy val proguard = plugin( "proguard" ) final lazy val sbtLayout = plugin( "sbt_layout" ) diff --git a/stage2/ports.scala b/stage2/ports.scala index 51ae4f0..e7e3863 100644 --- a/stage2/ports.scala +++ b/stage2/ports.scala @@ -1,7 +1,10 @@ package cbt -class ports( context: Context ) { +class ports( context: Context, scalaVersion: String ) { private def dep( name: String ) = DirectoryDependency( - context.copy( workingDirectory = context.cbtHome / "ports" / name ), + context.copy( + scalaVersion = Some( scalaVersion ), + workingDirectory = context.cbtHome / "ports" / name + ), None ) def mima = dep( "migration-manager" ) -- cgit v1.2.3 From e614bf22c6a4b09962e44bb20d880c1b4107df6d Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Wed, 29 Mar 2017 09:30:32 -0400 Subject: type-safe aliases for non cbt libraries --- build/build.scala | 2 +- libraries/common-1/build/build.scala | 2 +- libraries/file/build/build.scala | 2 +- libraries/reflect/build/build.scala | 2 +- stage2/libraries.scala | 35 ++++++++++++++++++++++++++--------- 5 files changed, 30 insertions(+), 13 deletions(-) diff --git a/build/build.scala b/build/build.scala index 3873d4f..0e7da30 100644 --- a/build/build.scala +++ b/build/build.scala @@ -13,7 +13,7 @@ class Build(val context: Context) extends Shared with Scalariform with PublishLo super.dependencies ++ Resolver(mavenCentral).bind( MavenDependency("org.eclipse.jgit", "org.eclipse.jgit", "4.2.0.201601211800-r"), ScalaDependency("org.scala-lang.modules","scala-xml",constants.scalaXmlVersion) - ) :+ libraries.reflect :+ libraries.eval + ) :+ libraries.cbt.reflect :+ libraries.cbt.eval } override def sources = Seq( diff --git a/libraries/common-1/build/build.scala b/libraries/common-1/build/build.scala index 247fd01..3d7868d 100644 --- a/libraries/common-1/build/build.scala +++ b/libraries/common-1/build/build.scala @@ -4,5 +4,5 @@ import cbt_internal._ class Build(val context: Context) extends Library{ override def inceptionYear = 2017 override def description = "classes shared by multiple cbt libraries and needed in stage 1" - override def dependencies = super.dependencies :+ libraries.common_0 :+ libraries.interfaces + override def dependencies = super.dependencies :+ libraries.cbt.common_0 :+ libraries.cbt.interfaces } diff --git a/libraries/file/build/build.scala b/libraries/file/build/build.scala index d9017a1..eb7cabf 100644 --- a/libraries/file/build/build.scala +++ b/libraries/file/build/build.scala @@ -4,5 +4,5 @@ import cbt_internal._ class Build(val context: Context) extends Library{ override def inceptionYear = 2017 override def description = "helpers to work with java io and nio" - override def dependencies = super.dependencies :+ libraries.common_1 + override def dependencies = super.dependencies :+ libraries.cbt.common_1 } diff --git a/libraries/reflect/build/build.scala b/libraries/reflect/build/build.scala index 3b6658a..77e0460 100644 --- a/libraries/reflect/build/build.scala +++ b/libraries/reflect/build/build.scala @@ -4,5 +4,5 @@ import cbt_internal._ class Build(val context: Context) extends Library{ override def inceptionYear = 2017 override def description = "discover classes on your classpath and invoke methods reflectively, preventing System.exit" - override def dependencies = super.dependencies :+ libraries.file :+ libraries.common_1 + override def dependencies = super.dependencies :+ libraries.cbt.file :+ libraries.cbt.common_1 } diff --git a/stage2/libraries.scala b/stage2/libraries.scala index ebc748d..3c4800d 100644 --- a/stage2/libraries.scala +++ b/stage2/libraries.scala @@ -7,13 +7,30 @@ class libraries( context: Context, scalaVersion: String, scalaMajorVersion: Stri ), None ) - def captureArgs = dep( "capture_args" ) - def eval = dep( "eval" ) - def file = dep( "file" ) - def proguard = dep( "proguard" ) - def reflect = dep( "reflect" ) - def common_0 = dep( "common-0" ) - def common_1 = dep( "common-1" ) - def interfaces = dep( "interfaces" ) - def scalatestRunner = dep( "scalatest-runner" ) + object cbt { + def captureArgs = dep( "capture_args" ) + def common_0 = dep( "common-0" ) + def common_1 = dep( "common-1" ) + def eval = dep( "eval" ) + def file = dep( "file" ) + def interfaces = dep( "interfaces" ) + def proguard = dep( "proguard" ) + def reflect = dep( "reflect" ) + def scalatestRunner = dep( "scalatest-runner" ) + } + object scala { + private def _maven = ( g: String, a: String, v: String ) => { + MavenResolver( + context.cbtLastModified, context.paths.mavenCache, mavenCentral + )( + context.logger, context.transientCache, context.classLoaderCache + ) bindOne MavenDependency( g, a, v ) + } + + def library = _maven( "org.scala-lang", "scala-library", scalaVersion ) + def reflect = _maven( "org.scala-lang", "scala-reflect", scalaVersion ) + def compiler = _maven( "org.scala-lang", "scala-compiler", scalaVersion ) + def xml = _maven( "org.scala-lang.modules", "scala-xml_" ++ scalaMajorVersion, "1.0.6" ) + def parserCombinators = _maven( "org.scala-lang.modules", "scala-parser-combinators_" ++ scalaMajorVersion, "1.0.5" ) + } } -- cgit v1.2.3 From 2d73091740528b423259c6190b3ae344a419978a Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Wed, 29 Mar 2017 10:08:59 -0400 Subject: factor out buildinfo into plugin --- examples/build-info-example/build/build.scala | 19 ++++++-------- .../src_generated/BuildInfo.scala | 11 ++++---- stage2/plugins/GenerateBuildInfo.scala | 29 ++++++++++++++++++++++ 3 files changed, 42 insertions(+), 17 deletions(-) create mode 100644 stage2/plugins/GenerateBuildInfo.scala diff --git a/examples/build-info-example/build/build.scala b/examples/build-info-example/build/build.scala index cc4c2db..2628efc 100644 --- a/examples/build-info-example/build/build.scala +++ b/examples/build-info-example/build/build.scala @@ -1,22 +1,17 @@ import cbt._ import java.nio.file.Files._ -class Build(val context: Context) extends PackageJars{ +class Build(val context: Context) extends PackageJars with GenerateBuildInfo{ override def name = "build-info-example" def groupId = "cbt.examples" override def defaultScalaVersion = "2.11.8" def version = "0.1" - override def compile = { buildInfo; super.compile } - def buildInfo = lib.writeIfChanged( - projectDirectory / "src_generated/BuildInfo.scala", - s"""// generated file -import java.io._ -object BuildInfo{ -def artifactId = "$artifactId" -def groupId = "$groupId" -def version = "$version" -def scalaVersion = "$scalaVersion" -} + override def buildInfo = super.buildInfo.copy( + s""" + def artifactId = "$artifactId" + def groupId = "$groupId" + def version = "$version" + def scalaVersion = "$scalaVersion" """ ) } diff --git a/examples/build-info-example/src_generated/BuildInfo.scala b/examples/build-info-example/src_generated/BuildInfo.scala index ac0e680..4ca1162 100644 --- a/examples/build-info-example/src_generated/BuildInfo.scala +++ b/examples/build-info-example/src_generated/BuildInfo.scala @@ -1,8 +1,9 @@ // generated file -import java.io._ object BuildInfo{ -def artifactId = "build-info-example" -def groupId = "cbt.examples" -def version = "0.1" -def scalaVersion = "2.11.8" + + def artifactId = "build-info-example" + def groupId = "cbt.examples" + def version = "0.1" + def scalaVersion = "2.11.8" + } diff --git a/stage2/plugins/GenerateBuildInfo.scala b/stage2/plugins/GenerateBuildInfo.scala new file mode 100644 index 0000000..f9c2aff --- /dev/null +++ b/stage2/plugins/GenerateBuildInfo.scala @@ -0,0 +1,29 @@ +package cbt +import java.io.File +trait GenerateBuildInfo extends BaseBuild{ + override def compile = { buildInfo.apply; super.compile } + def buildInfo = GenerateBuildInfo.apply( lib ).config( + s""" + def scalaVersion = "$scalaVersion" +""", + None, + "BuildInfo", + projectDirectory / "src_generated" + ) +} +object GenerateBuildInfo{ + case class apply( lib: Lib ){ + case class config( body: String, `package`: Option[String], className: String, file: File ){ + def apply = { + lib.writeIfChanged( + file / className ++ ".scala", + s"""// generated file${`package`.map("\npackage "++_++"").getOrElse("")} +object $className{ + $body +} +""" + ) + } + } + } +} -- cgit v1.2.3 From a09c94e411e28192658eb3f3fbdb7ca223f66709 Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Wed, 29 Mar 2017 10:11:14 -0400 Subject: upgrade scalatest plugin to scalatest 2.2.6 and use buildinfo to avoid version duplication --- plugins/scalatest/.gitignore | 1 + plugins/scalatest/ScalaTest.scala | 2 ++ plugins/scalatest/build/build.scala | 8 +++++++- 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 plugins/scalatest/.gitignore diff --git a/plugins/scalatest/.gitignore b/plugins/scalatest/.gitignore new file mode 100644 index 0000000..3cd6ea0 --- /dev/null +++ b/plugins/scalatest/.gitignore @@ -0,0 +1 @@ +src_generated/BuildInfo.scala diff --git a/plugins/scalatest/ScalaTest.scala b/plugins/scalatest/ScalaTest.scala index 87ab16d..dc67183 100644 --- a/plugins/scalatest/ScalaTest.scala +++ b/plugins/scalatest/ScalaTest.scala @@ -8,4 +8,6 @@ trait ScalaTest extends BaseBuild{ ).invoke( null, exportedClasspath.files.toArray, classLoader ) ExitCode.Success } + ScalaDependency("org.scalatest","scalatest",cbt_plugins.scalaTest.BuildInfo.scalaTestVersion) + ) } diff --git a/plugins/scalatest/build/build.scala b/plugins/scalatest/build/build.scala index 4e94cd7..7e33ca2 100644 --- a/plugins/scalatest/build/build.scala +++ b/plugins/scalatest/build/build.scala @@ -1,8 +1,14 @@ import cbt._ -class Build(val context: Context) extends BaseBuild{ +class Build(val context: Context) extends GenerateBuildInfo{ + def scalaTestVersion = "2.2.6" override def dependencies = ( super.dependencies :+ context.cbtDependency + ScalaDependency("org.scalatest","scalatest",scalaTestVersion) + ) + override def buildInfo = super.buildInfo.copy( + s"""def scalaTestVersion = "$scalaTestVersion"""", + Some("cbt_plugins.scalaTest") ) } -- cgit v1.2.3 From 1cd9cdd449a5b1286f67f516ba0b9874161b8277 Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Wed, 29 Mar 2017 10:11:45 -0400 Subject: needs to match library version --- ports/migration-manager/build/build.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/migration-manager/build/build.scala b/ports/migration-manager/build/build.scala index 43b24f5..edae75f 100644 --- a/ports/migration-manager/build/build.scala +++ b/ports/migration-manager/build/build.scala @@ -3,7 +3,7 @@ import cbt._ class Build(val context: Context) extends BaseBuild{ override def dependencies = Resolver( mavenCentral ).bind( - MavenDependency( "org.scala-lang", "scala-compiler", "2.11.8" ) + MavenDependency( "org.scala-lang", "scala-compiler", scalaVersion ) ) def mima = GitDependency.checkout( "git@github.com:typesafehub/migration-manager.git", "92cbce52b4bf04ca1c338f34818ebfb9f0ebc285" -- cgit v1.2.3 From 8016298a6ae89ed1c8a45bde87411db4a2daf86f Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Wed, 29 Mar 2017 10:47:21 -0400 Subject: use scalariform from github master which fixes indentation bug --- libraries/file/file.scala | 12 ++++++------ plugins/scalariform/build/build.scala | 6 +----- ports/scalariform/build/build.scala | 26 ++++++++++++++++++++++++++ ports/scalariform/build/build/build.scala | 5 +++++ stage2/ports.scala | 1 + 5 files changed, 39 insertions(+), 11 deletions(-) create mode 100644 ports/scalariform/build/build.scala create mode 100644 ports/scalariform/build/build/build.scala diff --git a/libraries/file/file.scala b/libraries/file/file.scala index f20c9a8..900e9ec 100644 --- a/libraries/file/file.scala +++ b/libraries/file/file.scala @@ -83,12 +83,12 @@ trait Module { val duplicateFiles = ( relatives diff relatives.distinct ).distinct assert( duplicateFiles.isEmpty, { - val rs = relatives.toSet - "Conflicting:\n\n" + - map.filter( rs contains _._2 ).groupBy( _._2 ).mapValues( _.map( _._1 ).sorted ).toSeq.sortBy( _._1 ).map { - case ( name, files ) => s"$name:\n" ++ files.mkString( "\n" ) - }.mkString( "\n\n" ) - } + val rs = relatives.toSet + "Conflicting:\n\n" + + map.filter( rs contains _._2 ).groupBy( _._2 ).mapValues( _.map( _._1 ).sorted ).toSeq.sortBy( _._1 ).map { + case ( name, files ) => s"$name:\n" ++ files.mkString( "\n" ) + }.mkString( "\n\n" ) + } ) } map diff --git a/plugins/scalariform/build/build.scala b/plugins/scalariform/build/build.scala index 5910b41..80f3966 100644 --- a/plugins/scalariform/build/build.scala +++ b/plugins/scalariform/build/build.scala @@ -1,9 +1,5 @@ import cbt._ class Build(val context: Context) extends Plugin { - override def dependencies = - super.dependencies ++ - Resolver( mavenCentral ).bind( - ScalaDependency("org.scalariform", "scalariform", "0.1.8") - ) + override def dependencies = super.dependencies :+ ports.scalariform } diff --git a/ports/scalariform/build/build.scala b/ports/scalariform/build/build.scala new file mode 100644 index 0000000..c2ade6b --- /dev/null +++ b/ports/scalariform/build/build.scala @@ -0,0 +1,26 @@ +package migration_manager_build +import cbt._ +class Build(val context: Context) extends AdvancedScala{ outer => + override def dependencies = Seq( libraries.scala.xml, libraries.scala.parserCombinators ) + + val scalariform = GitDependency.checkout( + "https://github.com/scala-ide/scalariform.git", "f53978c60579fa834ac9e56986a6133c0a621bfd" + ) + + override def sources = Seq( + scalariform / "scalariform" / "src" / "main" / "scala" / "scalariform" + ) + + override def scalacOptions = super.scalacOptions ++ Seq( + "-language:implicitConversions", "-language:reflectiveCalls" + ) + + override def test = new BasicBuild( context ) with ScalaTest{ + override def target = outer.target / "test" + override def dependencies = super.dependencies :+ outer + override def scalacOptions = outer.scalacOptions + override def sources = Seq( + scalariform / "scalariform" / "src" / "test" / "scala" / "scalariform" + ) + } +} diff --git a/ports/scalariform/build/build/build.scala b/ports/scalariform/build/build/build.scala new file mode 100644 index 0000000..d9eecf9 --- /dev/null +++ b/ports/scalariform/build/build/build.scala @@ -0,0 +1,5 @@ +package scalariform_build.build +import cbt._ +class Build(val context: Context) extends BuildBuild{ + override def dependencies = super.dependencies :+ plugins.scalaTest +} diff --git a/stage2/ports.scala b/stage2/ports.scala index e7e3863..460a255 100644 --- a/stage2/ports.scala +++ b/stage2/ports.scala @@ -8,4 +8,5 @@ class ports( context: Context, scalaVersion: String ) { None ) def mima = dep( "migration-manager" ) + def scalariform = dep( "scalariform" ) } -- cgit v1.2.3 From c220ef8d12e77ce6af6fafde3b388fc3e334b380 Mon Sep 17 00:00:00 2001 From: Christopher Vogt Date: Sun, 2 Apr 2017 00:13:25 -0400 Subject: scalatest plugin now does not need import anymore --- build/build.scala | 1 + examples/scalatest-example/build/build/build.scala | 1 - libraries/eval/build/build/build.scala | 5 ----- plugins/scalatest/.gitignore | 1 - plugins/scalatest/ScalaTest.scala | 13 ------------- plugins/scalatest/build/build.scala | 14 -------------- ports/scalariform/build/build/build.scala | 5 ----- stage2/plugins.scala | 1 - stage2/plugins/ScalaTest.scala | 11 +++++++++++ test/test.scala | 1 - 10 files changed, 12 insertions(+), 41 deletions(-) delete mode 100644 libraries/eval/build/build/build.scala delete mode 100644 plugins/scalatest/.gitignore delete mode 100644 plugins/scalatest/ScalaTest.scala delete mode 100644 plugins/scalatest/build/build.scala delete mode 100644 ports/scalariform/build/build/build.scala create mode 100644 stage2/plugins/ScalaTest.scala diff --git a/build/build.scala b/build/build.scala index 0e7da30..c596245 100644 --- a/build/build.scala +++ b/build/build.scala @@ -24,6 +24,7 @@ class Build(val context: Context) extends Shared with Scalariform with PublishLo Seq( context.cbtHome / "stage2" / "DirectoryDependency.scala", context.cbtHome / "stage2" / "LazyDependency.scala", + context.cbtHome / "stage2" / "plugins" / "ScalaTest.scala", context.cbtHome / "stage2" / "libraries.scala", context.cbtHome / "stage2" / "plugins.scala", context.cbtHome / "stage2" / "ports.scala" diff --git a/examples/scalatest-example/build/build/build.scala b/examples/scalatest-example/build/build/build.scala index d641b51..c7b1b2b 100644 --- a/examples/scalatest-example/build/build/build.scala +++ b/examples/scalatest-example/build/build/build.scala @@ -2,7 +2,6 @@ import cbt._ class Build(val context: Context) extends BuildBuild{ override def dependencies = super.dependencies ++ Seq( - plugins.scalaTest, plugins.sbtLayout ) } diff --git a/libraries/eval/build/build/build.scala b/libraries/eval/build/build/build.scala deleted file mode 100644 index af4eb64..0000000 --- a/libraries/eval/build/build/build.scala +++ /dev/null @@ -1,5 +0,0 @@ -import cbt._ - -class Build(val context: Context) extends BuildBuild{ - override def dependencies = super.dependencies :+ plugins.scalaTest -} diff --git a/plugins/scalatest/.gitignore b/plugins/scalatest/.gitignore deleted file mode 100644 index 3cd6ea0..0000000 --- a/plugins/scalatest/.gitignore +++ /dev/null @@ -1 +0,0 @@ -src_generated/BuildInfo.scala diff --git a/plugins/scalatest/ScalaTest.scala b/plugins/scalatest/ScalaTest.scala deleted file mode 100644 index dc67183..0000000 --- a/plugins/scalatest/ScalaTest.scala +++ /dev/null @@ -1,13 +0,0 @@ -package cbt -import java.io.File -trait ScalaTest extends BaseBuild{ - override def dependencies = super.dependencies :+ libraries.scalatestRunner - override def run: ExitCode = { - classLoader.loadClass( "cbt.scalatest.Runner" ).method( - "run", classOf[Array[File]], classOf[ClassLoader] - ).invoke( null, exportedClasspath.files.toArray, classLoader ) - ExitCode.Success - } - ScalaDependency("org.scalatest","scalatest",cbt_plugins.scalaTest.BuildInfo.scalaTestVersion) - ) -} diff --git a/plugins/scalatest/build/build.scala b/plugins/scalatest/build/build.scala deleted file mode 100644 index 7e33ca2..0000000 --- a/plugins/scalatest/build/build.scala +++ /dev/null @@ -1,14 +0,0 @@ -import cbt._ - -class Build(val context: Context) extends GenerateBuildInfo{ - def scalaTestVersion = "2.2.6" - override def dependencies = ( - super.dependencies - :+ context.cbtDependency - ScalaDependency("org.scalatest","scalatest",scalaTestVersion) - ) - override def buildInfo = super.buildInfo.copy( - s"""def scalaTestVersion = "$scalaTestVersion"""", - Some("cbt_plugins.scalaTest") - ) -} diff --git a/ports/scalariform/build/build/build.scala b/ports/scalariform/build/build/build.scala deleted file mode 100644 index d9eecf9..0000000 --- a/ports/scalariform/build/build/build.scala +++ /dev/null @@ -1,5 +0,0 @@ -package scalariform_build.build -import cbt._ -class Build(val context: Context) extends BuildBuild{ - override def dependencies = super.dependencies :+ plugins.scalaTest -} diff --git a/stage2/plugins.scala b/stage2/plugins.scala index ec01d86..d82740f 100644 --- a/stage2/plugins.scala +++ b/stage2/plugins.scala @@ -16,7 +16,6 @@ class plugins( context: Context, scalaVersion: String ) { final lazy val scalaJs = plugin( "scalajs" ) final lazy val scalapb = plugin( "scalapb" ) final lazy val scalariform = plugin( "scalariform" ) - final lazy val scalaTest = plugin( "scalatest" ) final lazy val sonatypeRelease = plugin( "sonatype-release" ) final lazy val uberJar = plugin( "uber-jar" ) final lazy val wartremover = plugin( "wartremover" ) diff --git a/stage2/plugins/ScalaTest.scala b/stage2/plugins/ScalaTest.scala new file mode 100644 index 0000000..29a0777 --- /dev/null +++ b/stage2/plugins/ScalaTest.scala @@ -0,0 +1,11 @@ +package cbt +import java.io.File +trait ScalaTest extends BaseBuild { + override def dependencies = super.dependencies :+ libraries.cbt.scalatestRunner + override def run: ExitCode = { + classLoader.loadClass( "cbt.scalatest.Runner" ).method( + "run", classOf[Array[File]], classOf[ClassLoader] + ).invoke( null, exportedClasspath.files.toArray, classLoader ) + ExitCode.Success + } +} diff --git a/test/test.scala b/test/test.scala index f942375..0208637 100644 --- a/test/test.scala +++ b/test/test.scala @@ -254,7 +254,6 @@ object Main{ compile("../plugins/scalafmt") compile("../plugins/scalajs") compile("../plugins/scalariform") - compile("../plugins/scalatest") compile("../plugins/wartremover") compile("../plugins/uber-jar") compile("../plugins/scalafix-compiler-plugin") -- cgit v1.2.3