aboutsummaryrefslogtreecommitdiff
path: root/stage2/BasicBuild.scala
diff options
context:
space:
mode:
authorChristopher Vogt <oss.nsp@cvogt.org>2016-03-12 20:03:37 -0500
committerChristopher Vogt <oss.nsp@cvogt.org>2016-03-12 20:03:37 -0500
commit3777d17027dfb99454d210702551866f2b570830 (patch)
tree158b31c08f7a2cea18305f0689a2850fa5d2a590 /stage2/BasicBuild.scala
parentea95bdeb62a44d12faee0a6fcabc121d45b9b0b8 (diff)
parentba680c938f5ea7b83faba97e2b21aeedb4b175b3 (diff)
downloadcbt-3777d17027dfb99454d210702551866f2b570830.tar.gz
cbt-3777d17027dfb99454d210702551866f2b570830.tar.bz2
cbt-3777d17027dfb99454d210702551866f2b570830.zip
Merge remote-tracking branch 'origin/master' into farmdawg/zinc-exit-codes
# Conflicts: # stage1/Stage1Lib.scala # stage1/resolver.scala
Diffstat (limited to 'stage2/BasicBuild.scala')
-rw-r--r--stage2/BasicBuild.scala25
1 files changed, 18 insertions, 7 deletions
diff --git a/stage2/BasicBuild.scala b/stage2/BasicBuild.scala
index 37602b2..07c2c1e 100644
--- a/stage2/BasicBuild.scala
+++ b/stage2/BasicBuild.scala
@@ -35,7 +35,7 @@ class Build(val context: Context) extends Dependency with TriggerLoop{
// ========== meta data ==========
def scalaVersion: String = constants.scalaVersion
- final def scalaMajorVersion: String = scalaVersion.split("\\.").take(2).mkString(".")
+ final def scalaMajorVersion: String = lib.scalaMajorVersion(scalaVersion)
def zincVersion = "0.3.9"
def dependencies: Seq[Dependency] = Seq(
@@ -80,14 +80,25 @@ class Build(val context: Context) extends Dependency with TriggerLoop{
}
assertSourceDirectories()
-
- /** SBT-like dependency builder DSL */
- class GroupIdAndArtifactId( groupId: String, artifactId: String ){
- def %(version: String) = new MavenDependency(groupId, artifactId, version)(lib.logger)
+ def ScalaDependency(
+ groupId: String, artifactId: String, version: String, classifier: Classifier = Classifier.none,
+ scalaVersion: String = scalaMajorVersion
+ ) = lib.ScalaDependency( groupId, artifactId, version, classifier, scalaVersion )
+
+ /** SBT-like dependency builder DSL for syntax compatibility */
+ class DependencyBuilder2( groupId: String, artifactId: String, scalaVersion: Option[String] ){
+ def %(version: String) = scalaVersion.map(
+ v => ScalaDependency(groupId, artifactId, version, scalaVersion = v)
+ ).getOrElse(
+ JavaDependency(groupId, artifactId, version)
+ )
}
implicit class DependencyBuilder(groupId: String){
- def %%(artifactId: String) = new GroupIdAndArtifactId( groupId, artifactId++"_"++scalaMajorVersion )
- def %(artifactId: String) = new GroupIdAndArtifactId( groupId, artifactId )
+ def %%(artifactId: String) = new DependencyBuilder2( groupId, artifactId, Some(scalaMajorVersion) )
+ def %(artifactId: String) = new DependencyBuilder2( groupId, artifactId, None )
+ }
+ implicit class DependencyBuilder3(d: JavaDependency){
+ def %(classifier: String) = d.copy(classifier = Classifier(Some(classifier)))
}
final def BuildDependency(path: File) = cbt.BuildDependency(