blob: 9d5fdb2a18cc2c75d054a8c640e976d91ac42cc3 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
package cbt
package mixins
import java.net.URL
import scala.collection.immutable.Seq
import java.io._
trait Test extends BaseBuild{
lazy val testedBuild = BuildDependency( projectDirectory.parent )
override def dependencies = Seq( testedBuild ) ++ super.dependencies
override def defaultScalaVersion = testedBuild.build.scalaVersion
}
trait SbtTest extends Test{
override def sources = Vector( projectDirectory.parent ++ "/src/test/scala" )
}
trait ScalaParadise extends BaseBuild{
def scalaParadiseVersion = "2.1.0"
private def scalaParadiseDependency =
Resolver( mavenCentral ).bindOne(
"org.scalamacros" % ("paradise_" ++ scalaVersion) % scalaParadiseVersion
)
override def dependencies = (
super.dependencies // don't forget super.dependencies here
++ (
if(scalaVersion.startsWith("2.10."))
Seq(scalaParadiseDependency)
else
Seq()
)
)
override def scalacOptions = (
super.scalacOptions
++ (
if(scalaVersion.startsWith("2.10."))
Seq("-Xplugin:"++scalaParadiseDependency.exportedClasspath.string)
else
Seq()
)
)
}
trait Suggested extends BaseBuild{
override def scalacOptions = super.scalacOptions ++ Seq(
"-language:experimental.macros"
)
}
trait Github extends Publish{
def user: String
def githubProject = name
def githubUser = user
final def githubUserProject = githubUser ++ "/" ++ githubProject
override def url = new URL(s"http://github.com/$githubUserProject")
override def scmUrl = s"git@github.com:$githubUserProject.git"
override def scmConnection = s"scm:git:$scmUrl"
}
|