Skip to content

Commit

Permalink
Refactor sub projects SBT settings structure
Browse files Browse the repository at this point in the history
  • Loading branch information
pomadchin committed Nov 7, 2018
1 parent c0c8048 commit c8898af
Show file tree
Hide file tree
Showing 28 changed files with 612 additions and 537 deletions.
26 changes: 0 additions & 26 deletions accumulo/build.sbt

This file was deleted.

8 changes: 0 additions & 8 deletions bench/build.sbt

This file was deleted.

24 changes: 24 additions & 0 deletions build.sbt
Expand Up @@ -140,16 +140,19 @@ lazy val root = Project("geotrellis", file(".")).

lazy val macros = project
.settings(commonSettings)
.settings(Settings.macros)
.settings(crossScalaVersions := Version.crossScala)

lazy val vectortile = project
.dependsOn(vector)
.settings(commonSettings)
.settings(Settings.vectortile)
.settings(crossScalaVersions := Version.crossScala)

lazy val vector = project
.dependsOn(proj4, util)
.settings(commonSettings)
.settings(Settings.vector)
.settings(crossScalaVersions := Version.crossScala)
.settings(
unmanagedClasspath in Test ++= (fullClasspath in (LocalProject("vector-testkit"), Compile)).value
Expand All @@ -158,16 +161,19 @@ lazy val vector = project
lazy val `vector-testkit` = project
.dependsOn(raster % Provided, vector % Provided)
.settings(commonSettings)
.settings(Settings.`vector-testkit`)
.settings(crossScalaVersions := Version.crossScala)

lazy val proj4 = project
.settings(commonSettings)
.settings(Settings.proj4)
.settings(crossScalaVersions := Version.crossScala)
.settings(javacOptions ++= Seq("-encoding", "UTF-8"))

lazy val raster = project
.dependsOn(util, macros, vector)
.settings(commonSettings)
.settings(Settings.raster)
.settings(crossScalaVersions := Version.crossScala)
.settings(
unmanagedClasspath in Test ++= (fullClasspath in (LocalProject("raster-testkit"), Compile)).value
Expand All @@ -179,15 +185,18 @@ lazy val raster = project
lazy val `raster-testkit` = project
.dependsOn(raster % Provided, vector % Provided)
.settings(commonSettings)
.settings(Settings.`raster-testkit`)
.settings(crossScalaVersions := Version.crossScala)

lazy val slick = project
.dependsOn(vector)
.settings(commonSettings)
.settings(Settings.slick)

lazy val spark = project
.dependsOn(util, raster, `raster-testkit` % Test, `vector-testkit` % Test)
.settings(commonSettings)
.settings(Settings.spark)
.settings(
// This takes care of a pseudo-cyclic dependency between the `spark` test scope, `spark-testkit`,
// and `spark` main (compile) scope. sbt is happy with this. IntelliJ requires that `spark-testkit`
Expand All @@ -198,61 +207,71 @@ lazy val spark = project
lazy val `spark-testkit` = project
.dependsOn(`raster-testkit`, spark)
.settings(commonSettings)
.settings(Settings.`spark-testkit`)

lazy val s3 = project
.dependsOn(
spark % "compile->compile;test->test", // <-- spark-testkit update should simplify this
`spark-testkit` % Test
)
.settings(commonSettings)
.settings(Settings.s3)
.settings(
unmanagedClasspath in Test ++= (fullClasspath in (LocalProject("s3-testkit"), Compile)).value
)

lazy val `s3-testkit` = project
.dependsOn(s3, spark)
.settings(commonSettings)
.settings(Settings.`s3-testkit`)

lazy val accumulo = project
.dependsOn(
spark % "compile->compile;test->test", // <-- spark-testkit update should simplify this
`spark-testkit` % Test
)
.settings(commonSettings)
.settings(Settings.accumulo)

lazy val cassandra = project
.dependsOn(
spark % "compile->compile;test->test", // <-- spark-testkit update should simplify this
`spark-testkit` % Test
)
.settings(commonSettings)
.settings(Settings.cassandra)

lazy val hbase = project
.dependsOn(
spark % "compile->compile;test->test", // <-- spark-testkit update should simplify this
`spark-testkit` % Test
)
.settings(commonSettings) // HBase depends on its own protobuf version
.settings(Settings.hbase)
.settings(projectDependencies := { Seq((projectID in spark).value.exclude("com.google.protobuf", "protobuf-java")) })

lazy val `spark-etl` = Project(id = "spark-etl", base = file("spark-etl")).
dependsOn(spark, s3, accumulo, cassandra, hbase).
settings(commonSettings)
.settings(Settings.`spark-etl`)

lazy val `spark-pipeline` = Project(id = "spark-pipeline", base = file("spark-pipeline")).
dependsOn(spark, s3, `spark-testkit` % "test").
settings(commonSettings)
.settings(Settings.`spark-pipeline`)

lazy val geotools = project
.dependsOn(raster, vector, proj4, `vector-testkit` % Test, `raster-testkit` % Test,
`raster` % "test->test" // <-- to get rid of this, move `GeoTiffTestUtils` to the testkit.
)
.settings(commonSettings)
.settings(Settings.geotools)
.settings(crossScalaVersions := Version.crossScala)

lazy val geomesa = project
.dependsOn(`spark-testkit` % Test, spark, geotools, accumulo)
.settings(commonSettings)
.settings(Settings.geomesa)
.settings(crossScalaVersions := Seq(scalaVersion.value))

lazy val geowave = project
Expand All @@ -261,21 +280,26 @@ lazy val geowave = project
`spark-testkit` % Test, geotools, accumulo
)
.settings(commonSettings)
.settings(Settings.geowave)
.settings(crossScalaVersions := Seq(scalaVersion.value))

lazy val shapefile = project
.dependsOn(raster, `raster-testkit` % Test)
.settings(commonSettings)
.settings(Settings.shapefile)
.settings(crossScalaVersions := Version.crossScala)

lazy val util = project
.settings(commonSettings)
.settings(Settings.util)
.settings(crossScalaVersions := Version.crossScala)

lazy val `doc-examples` = project
.dependsOn(spark, s3, accumulo, cassandra, hbase, spark, `spark-testkit`, `spark-pipeline`)
.settings(commonSettings)
.settings(Settings.`doc-examples`)

lazy val bench = project
.dependsOn(spark)
.settings(commonSettings)
.settings(Settings.bench)
28 changes: 0 additions & 28 deletions cassandra/build.sbt

This file was deleted.

8 changes: 0 additions & 8 deletions doc-examples/build.sbt

This file was deleted.

33 changes: 0 additions & 33 deletions geomesa/build.sbt

This file was deleted.

41 changes: 0 additions & 41 deletions geotools/build.sbt

This file was deleted.

88 changes: 0 additions & 88 deletions geowave/build.sbt

This file was deleted.

0 comments on commit c8898af

Please sign in to comment.