-
Notifications
You must be signed in to change notification settings - Fork 159
Expand file tree
/
Copy pathbuild.sbt
More file actions
83 lines (65 loc) · 3.23 KB
/
Copy pathbuild.sbt
File metadata and controls
83 lines (65 loc) · 3.23 KB
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
/****************************************
* sparkMeasure – build definition *
****************************************/
name := "spark-measure"
version := "0.29-SNAPSHOT"
scalaVersion := "2.12.18"
crossScalaVersions := Seq("2.12.18", "2.13.16")
licenses += ("Apache-2.0", url("http://www.apache.org/licenses/LICENSE-2.0"))
// ─── Dependencies ─────────────────────────────────────────────────────────────
val testDeps = Seq(
"org.scalatest" %% "scalatest" % "3.2.19" % Test,
"org.scalatest" %% "scalatest-shouldmatchers" % "3.2.19" % Test,
"org.wiremock" % "wiremock" % "3.13.1" % Test
)
// Keep Jackson compatible with Spark 3.5.x
val jacksonV = "2.15.2"
dependencyOverrides ++= Seq(
"com.fasterxml.jackson.core" % "jackson-core" % jacksonV,
"com.fasterxml.jackson.core" % "jackson-annotations" % jacksonV,
"com.fasterxml.jackson.core" % "jackson-databind" % jacksonV,
"com.fasterxml.jackson.module" %% "jackson-module-scala" % jacksonV
)
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-sql" % "3.5.8" % Provided,
"org.slf4j" % "slf4j-api" % "2.0.17" % Provided,
// Do NOT bundle Jackson in your published jar; Spark provides it.
"com.fasterxml.jackson.module" %% "jackson-module-scala" % jacksonV % Provided,
"org.influxdb" % "influxdb-java" % "2.25",
// Use Kafka 3.x line to reduce conflicts with Spark environments (avoid Kafka 4.x)
"org.apache.kafka" % "kafka-clients" % "3.9.1"
) ++ testDeps
// ─── Test JVM flags (needed by TaskMetricsTest & StageMetricsTest) ─────────────
Test / fork := true
Test / javaOptions ++= Seq(
"--add-exports=java.base/sun.nio.ch=ALL-UNNAMED",
"--add-opens=java.base/java.nio=ALL-UNNAMED"
)
// ─── Publishing ────────────────────────────────────────────────────────────────
Compile / packageSrc / publishArtifact := true
Compile / packageDoc / publishArtifact := true
ThisBuild / publishTo := {
val snapshots = "https://central.sonatype.com/repository/maven-snapshots/"
if (isSnapshot.value) Some("central-snapshots" at snapshots)
else localStaging.value
}
ThisBuild / organizationHomepage := Some(url("https://github.com/LucaCanali"))
ThisBuild / versionScheme := Some("early-semver")
// ─── Project metadata ─────────────────────────────────────────────────────────
organization := "ch.cern.sparkmeasure"
description := "sparkMeasure is a tool for performance troubleshooting of Apache Spark workloads."
developers := List(
Developer(
id = "LucaCanali",
name = "Luca Canali",
email = "Luca.Canali@cern.ch",
url("https://github.com/LucaCanali")
)
)
homepage := Some(url("https://github.com/LucaCanali/sparkMeasure"))
scmInfo := Some(
ScmInfo(
browseUrl = url("https://github.com/LucaCanali/sparkMeasure"),
connection = "scm:git:git@github.com:LucaCanali/sparkMeasure.git"
)
)