-
Notifications
You must be signed in to change notification settings - Fork 45
/
RFDependenciesPlugin.scala
81 lines (75 loc) · 3.44 KB
/
RFDependenciesPlugin.scala
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
/*
* This software is licensed under the Apache 2 license, quoted below.
*
* Copyright 2019 Astraea, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* [http://www.apache.org/licenses/LICENSE-2.0]
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*
* SPDX-License-Identifier: Apache-2.0
*
*/
import sbt.Keys._
import sbt._
object RFDependenciesPlugin extends AutoPlugin {
override def trigger: PluginTrigger = allRequirements
object autoImport {
val rfSparkVersion = settingKey[String]("Apache Spark version")
val rfGeoTrellisVersion = settingKey[String]("GeoTrellis version")
val rfGeoMesaVersion = settingKey[String]("GeoMesa version")
def geotrellis(module: String) = Def.setting {
"org.locationtech.geotrellis" %% s"geotrellis-$module" % rfGeoTrellisVersion.value excludeAll("org.scala-lang.modules", "scala-xml")
}
def spark(module: String) = Def.setting {
"org.apache.spark" %% s"spark-$module" % rfSparkVersion.value
}
def geomesa(module: String) = Def.setting {
"org.locationtech.geomesa" %% s"geomesa-$module" % rfGeoMesaVersion.value
}
def circe(module: String) = Def.setting {
module match {
case "json-schema" => "io.circe" %% s"circe-$module" % "0.2.0"
case _ => "io.circe" %% s"circe-$module" % "0.14.1"
}
}
def sparktestingbase() = Def.setting {
"com.holdenkarau" %% "spark-testing-base" % s"${rfSparkVersion.value}_1.4.3"
}
val scalatest = "org.scalatest" %% "scalatest" % "3.2.5" % Test
val shapeless = "com.chuusai" %% "shapeless" % "2.3.9"
val `jts-core` = "org.locationtech.jts" % "jts-core" % "1.18.2"
val `slf4j-api` = "org.slf4j" % "slf4j-api" % "1.7.36"
val scaffeine = "com.github.blemale" %% "scaffeine" % "4.1.0"
val `spray-json` = "io.spray" %% "spray-json" % "1.3.6"
val `scala-logging` = "com.typesafe.scala-logging" %% "scala-logging" % "3.9.5"
val stac4s = "com.azavea.stac4s" %% "client" % "0.8.1"
val sttpCatsCe2 = "com.softwaremill.sttp.client3" %% "async-http-client-backend-cats-ce2" % "3.7.0"
val frameless = "org.typelevel" %% "frameless-dataset" % "0.14.1"
val framelessRefined = "org.typelevel" %% "frameless-refined" % "0.14.0"
val `better-files` = "com.github.pathikrit" %% "better-files" % "3.9.1" % Test
}
import autoImport._
override def projectSettings = Seq(
resolvers ++= Seq(
"eclipse-releases" at "https://repo.locationtech.org/content/groups/releases",
"eclipse-snapshots" at "https://repo.eclipse.org/content/groups/snapshots",
"boundless-releases" at "https://repo.boundlessgeo.com/main/",
"Open Source Geospatial Foundation Repository" at "https://download.osgeo.org/webdav/geotools/",
"oss-snapshots" at "https://oss.sonatype.org/content/repositories/snapshots",
"jitpack" at "https://jitpack.io"
),
// NB: Make sure to update the Spark version in pyproject.toml
rfSparkVersion := System.getProperty("rfSparkVersion", "3.4.0"),
rfGeoTrellisVersion := "3.6.3",
rfGeoMesaVersion := "3.5.1"
)
}