aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorJan Christopher Vogt <oss.nsp@cvogt.org>2017-02-22 17:56:29 +0800
committerGitHub <noreply@github.com>2017-02-22 17:56:29 +0800
commitef5d85fa69c300d67ab548c0957990748c22b458 (patch)
treeefba968c647bb7185fdae711fac26c1306248f02 /plugins
parent420b0bc9fdb542d0af49da96e37733ab3a3363ee (diff)
parent0d1b7e92ada02c5149abefdbc8e70d02241951ca (diff)
downloadcbt-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.scala10
-rw-r--r--plugins/scalajs/ScalaJsBuild.scala37
-rw-r--r--plugins/scalajs/ScalaJsLib.scala4
-rw-r--r--plugins/scalatest/build/build.scala13
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")
+ )
}