diff options
author | Jan Christopher Vogt <oss.nsp@cvogt.org> | 2017-02-22 17:56:29 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-22 17:56:29 +0800 |
commit | ef5d85fa69c300d67ab548c0957990748c22b458 (patch) | |
tree | efba968c647bb7185fdae711fac26c1306248f02 /plugins | |
parent | 420b0bc9fdb542d0af49da96e37733ab3a3363ee (diff) | |
parent | 0d1b7e92ada02c5149abefdbc8e70d02241951ca (diff) | |
download | cbt-ef5d85fa69c300d67ab548c0957990748c22b458.tar.gz cbt-ef5d85fa69c300d67ab548c0957990748c22b458.tar.bz2 cbt-ef5d85fa69c300d67ab548c0957990748c22b458.zip |
Merge pull request #357 from cvogt/scalajs-refactor
scalajs enhancements
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/essentials/build/build.scala | 10 | ||||
-rw-r--r-- | plugins/scalajs/ScalaJsBuild.scala | 37 | ||||
-rw-r--r-- | plugins/scalajs/ScalaJsLib.scala | 4 | ||||
-rw-r--r-- | plugins/scalatest/build/build.scala | 13 |
4 files changed, 31 insertions, 33 deletions
diff --git a/plugins/essentials/build/build.scala b/plugins/essentials/build/build.scala index 1288367..91c3a0f 100644 --- a/plugins/essentials/build/build.scala +++ b/plugins/essentials/build/build.scala @@ -1,6 +1,8 @@ import cbt._ -class Build(val context: Context) extends Plugin{ - override def dependencies = - super.dependencies :+ // don't forget super.dependencies here for scala-library, etc. - DirectoryDependency( context.cbtHome ++ "/libraries/eval" ) +class Build(val context: Context) extends BaseBuild{ + override def dependencies = ( + super.dependencies + :+ context.cbtDependency + :+ DirectoryDependency( context.cbtHome ++ "/libraries/eval" ) + ) } diff --git a/plugins/scalajs/ScalaJsBuild.scala b/plugins/scalajs/ScalaJsBuild.scala index 1694aea..0c7222c 100644 --- a/plugins/scalajs/ScalaJsBuild.scala +++ b/plugins/scalajs/ScalaJsBuild.scala @@ -2,7 +2,7 @@ package cbt import java.io.File import java.net.URL -trait ScalaJsBuild extends BaseBuild { +trait ScalaJsBuild extends DynamicOverrides{ final protected val scalaJsLib = ScalaJsLib( scalaJsVersion, scalaVersion, context.cbtLastModified, context.paths.mavenCache ) @@ -21,28 +21,23 @@ trait ScalaJsBuild extends BaseBuild { def %%%(artifactId: String) = new DependencyBuilder2( groupId, artifactId + artifactIdSuffix, Some(scalaMajorVersion)) } - - private def link(mode: ScalaJsOutputMode, outputPath: File) = scalaJsLib.link( - mode, outputPath, scalaJsOptions, - target +: dependencies.collect{case d: BoundMavenDependency => d.jar} - ) + + override def compile = { + super.compile + scalaJsLib.link( + scalaJsTargetFile, scalaJsOptions, target +: dependencies.collect{case d: BoundMavenDependency => d.jar} + ) + None // FIXME: we need to rethink the concept of a "compile" task I think. There is no time to return here. + } def scalaJsOptions: Seq[String] = Seq() - def scalaJsOptionsFastOpt: Seq[String] = scalaJsOptions - def scalaJsOptionsFullOpt: Seq[String] = scalaJsOptions - private def output(mode: ScalaJsOutputMode) = target ++ s"/$projectName-${mode.fileSuffix}.js" - protected def fastOptJSFile: File = output(FastOptJS) - protected def fullOptJSFile: File = output(FullOptJS) + /** Where to put the generated js file */ + def scalaJsTargetFile: File - def fastOptJS = { - compile - link(FastOptJS, fastOptJSFile) - fastOptJSFile - } - def fullOptJS = { - compile - link(FullOptJS, fullOptJSFile) - fullOptJSFile - } + override def cleanFiles = super.cleanFiles :+ scalaJsTargetFile :+ (scalaJsTargetFile ++ ".map") + + def fullOpt = newBuild[ScalaJsBuild](""" + override def scalaJsOptions = "--fullOpt" +: super.scalaJsOptions + """) } diff --git a/plugins/scalajs/ScalaJsLib.scala b/plugins/scalajs/ScalaJsLib.scala index 393ebfe..ae37bde 100644 --- a/plugins/scalajs/ScalaJsLib.scala +++ b/plugins/scalajs/ScalaJsLib.scala @@ -23,14 +23,14 @@ case class ScalaJsLib( ) def link( - mode: ScalaJsOutputMode, outputPath: File, + outputPath: File, scalaJsOptions: Seq[String], entriesToLink: Seq[File] ) = { val scalaJsCliDep = dep( "scalajs-cli_"++lib.libMajorVersion(scalaVersion) ) + outputPath.getParentFile.mkdirs lib.runMain( "org.scalajs.cli.Scalajsld", Seq( - mode.option, "--sourceMap", "--stdlib", s"${scalaJsLibraryDependency.jar.getAbsolutePath}", "--output", outputPath.string diff --git a/plugins/scalatest/build/build.scala b/plugins/scalatest/build/build.scala index dd21898..ce07b36 100644 --- a/plugins/scalatest/build/build.scala +++ b/plugins/scalatest/build/build.scala @@ -1,9 +1,10 @@ import cbt._ -class Build(val context: Context) extends Plugin{ - override def dependencies = - super.dependencies ++ - Resolver( mavenCentral ).bind( - ScalaDependency("org.scalatest","scalatest","2.2.4") - ) +class Build(val context: Context) extends BaseBuild{ + override def dependencies = ( + super.dependencies + :+ context.cbtDependency + ) ++ Resolver( mavenCentral ).bind( + ScalaDependency("org.scalatest","scalatest","2.2.4") + ) } |