-
Notifications
You must be signed in to change notification settings - Fork 35
/
Copy pathbuild.sbt
81 lines (62 loc) · 3.12 KB
/
build.sbt
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import sbt.Keys._
import sbt._
name := "commercetools-sunrise"
organization in ThisBuild := "com.commercetools.sunrise"
scalaVersion in ThisBuild := "2.11.8"
javacOptions in Compile ++= Seq("-source", "1.8")
// see https://github.com/sbt/sbt/issues/355#issuecomment-3817629
javacOptions in (Compile, compile) ++= Seq("-target", "1.8")
resolvers in ThisBuild ++= Seq (
Resolver.sonatypeRepo("releases"),
Resolver.sonatypeRepo("snapshots"),
Resolver.mavenLocal
)
Release.publishSettings
Heroku.deploySettings
Version.generateVersionInfo
val childProjects: List[sbt.ProjectReference] =
List(common, `product-catalog`, `shopping-cart`, `my-account`, wishlist, `test-lib`)
lazy val `commercetools-sunrise` = (project in file("."))
.enablePlugins(PlayJava, JavaUnidocPlugin, SunriseThemeImporterPlugin)
.configs(IntegrationTest, TestCommon.PlayTest)
.settings(unidocProjectFilter in (JavaUnidoc, unidoc) := inProjects(childProjects: _*))
.settings(Release.disablePublish ++ TestCommon.defaultSettings: _*)
.settings(Dependencies.sunriseDefaultTheme ++ Dependencies.sunriseEmailSmtp)
.aggregate(childProjects: _*)
.dependsOn(testLibDependency, `product-catalog`, `shopping-cart`, `my-account`, wishlist)
lazy val common = project
.enablePlugins(PlayJava, GenJavadocPlugin, BuildInfoPlugin)
.configs(IntegrationTest, TestCommon.PlayTest)
.settings(Release.enableSignedRelease ++ TestCommon.defaultSettings: _*)
.settings(Dependencies.jvmSdk ++ Dependencies.sunriseTheme ++ Dependencies.sunriseModules ++ Dependencies.commonLib: _*)
.settings(
buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion),
buildInfoPackage := "com.commercetools.sunrise.ctp;"
)
.dependsOn(testLibDependency)
lazy val `product-catalog` = project
.enablePlugins(PlayJava, GenJavadocPlugin)
.configs(IntegrationTest, TestCommon.PlayTest)
.settings(Release.enableSignedRelease ++ TestCommon.defaultSettings: _*)
.dependsOn(defaultDependencies: _*)
lazy val `shopping-cart` = project
.enablePlugins(PlayJava, GenJavadocPlugin)
.configs(IntegrationTest, TestCommon.PlayTest)
.settings(Release.enableSignedRelease ++ TestCommon.defaultSettings: _*)
.dependsOn(defaultDependencies: _*)
lazy val `my-account` = project
.enablePlugins(PlayJava, GenJavadocPlugin)
.configs(IntegrationTest, TestCommon.PlayTest)
.settings(Release.enableSignedRelease ++ TestCommon.defaultSettings: _*)
.dependsOn(defaultDependencies: _*)
lazy val wishlist = project
.enablePlugins(PlayJava, GenJavadocPlugin)
.configs(IntegrationTest, TestCommon.PlayTest)
.settings(Release.enableSignedRelease ++ TestCommon.defaultSettings: _*)
.dependsOn(defaultDependencies: _*)
lazy val `test-lib` = project
.enablePlugins(PlayJava, GenJavadocPlugin)
.settings(Release.enableSignedRelease ++ TestCommon.configCommonTestSettings("compile") ++ TestCommon.configPlayDependencies("compile"): _*)
.settings(Dependencies.jvmSdk ++ Dependencies.commonLib: _*)
lazy val defaultDependencies: Seq[ClasspathDep[ProjectReference]] = Seq(common, testLibDependency)
lazy val testLibDependency: ClasspathDep[ProjectReference] = `test-lib` % TestCommon.allTestScopes