forked from CoxAutomotiveDataSolutions/spark-distcp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sbt
98 lines (93 loc) · 2.99 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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import sbt.Keys.{developers, fork, homepage, scalaVersion, scmInfo}
import sbt.url
import xerial.sbt.Sonatype._
import Dependencies.{scopt, spark, test}
lazy val scala212 = Dependencies.scala212
lazy val scala211 = Dependencies.scala211
lazy val scala213 = Dependencies.scala213
lazy val supportedScalaVersions = List(scala213, scala212, scala211)
ThisBuild / scalaVersion := Dependencies.scalaVers
ThisBuild / organization := "com.coxautodata"
lazy val compilerOptions = Seq(
"-unchecked",
"-feature",
"-language:existentials",
"-language:higherKinds",
"-language:implicitConversions",
"-language:postfixOps",
"-deprecation",
"-target:jvm-1.8",
"-encoding",
"utf8",
"-Yrangepos"
)
addCommandAlias("ci", ";+compile ;+test")
lazy val sparkdistcp = (project in file("."))
.settings(
name := "spark-distcp",
Test / fork := true,
scalacOptions ++= compilerOptions,
crossScalaVersions := supportedScalaVersions,
libraryDependencies += test,
libraryDependencies += scopt,
libraryDependencies ++= spark(scalaVersion.value),
libraryDependencies += "org.scala-lang.modules" %% "scala-collection-compat" % Dependencies.collectionCompat % Provided,
assemblyPackageScala / assembleArtifact := false,
assembly / assemblyOption ~= {
_.withIncludeScala(false)
},
assembly / Keys.test := {},
assembly / artifact := {
val art = (assembly / artifact).value
art.withClassifier(Some("assembly"))
},
ThisBuild / assemblyShadeRules := Seq(
ShadeRule.rename("scopt.**" -> "internal.spark.distcp.scopt.@1").inAll
),
licenses := Seq(
"APL2" -> url("http://www.apache.org/licenses/LICENSE-2.0.txt")
),
description := "A re-implementation of Hadoop DistCP in Apache Spark",
homepage := Some(
url("https://github.com/CoxAutomotiveDataSolutions/spark-distcp")
),
scmInfo := Some(
ScmInfo(
url("https://github.com/CoxAutomotiveDataSolutions/spark-distcp"),
"scm:[email protected]:CoxAutomotiveDataSolutions/spark-distcp.git"
)
),
developers := List(
Developer(
id = "alexjbush",
name = "Alex Bush",
email = "[email protected]",
url = url("https://alexbu.sh")
),
Developer(
id = "vavison",
name = "Vicky Avison",
email = "[email protected]",
url = url("https://coxautodata.com")
),
Developer(
id = "jamesfielder",
name = "James Fielder",
email = "[email protected]",
url = url("https://james.fielder.dev")
)
),
sonatypeProjectHosting := Some(
GitHubHosting(
"CoxAutomotiveDataSolutions",
"spark-distcp",
)
),
Test / publishArtifact := true,
publishConfiguration := publishConfiguration.value
.withOverwrite(isSnapshot.value),
publishLocalConfiguration := publishLocalConfiguration.value
.withOverwrite(isSnapshot.value),
addArtifact(assembly / artifact, assembly)
)