forked from insdami/Kastle
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sbt
102 lines (96 loc) · 3.23 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
99
100
101
102
import Dependencies._
lazy val commonTestDependencies = Seq(
scalaTest,
mockitoCore
) ++ logbackRelated
inThisBuild(
List(
scalaVersion := "2.12.10",
crossScalaVersions := Seq("2.12.10", "2.13.1"),
organization := "com.tenable",
organizationName := "Tenable",
organizationHomepage := Some(url("https://www.tenable.com/")),
scmInfo := Some(ScmInfo(
url("https://github.com/tenable/kastle"),
"scm:[email protected]:tenable/Kastle.git")),
description := "A purely functional, effectful, resource-safe, kafka library for Scala.",
licenses := List("Apache 2" -> new URL("http://www.apache.org/licenses/LICENSE-2.0.txt")),
homepage := Some(url("https://tenable.github.io/Kastle")),
developers := List(
Developer(
id = "agbell",
name = "Adam Bell",
email = "",
url = url("https://github.com/tenable"))
)
)
)
lazy val kastle = (project in file("."))
.overrideConfigs(IntegrationSettings.config)
.settings(IntegrationSettings.configSettings)
.settings(publishSettings)
.settings(
name := "kastle",
addCompilerPlugin(silencerPlugin),
addCompilerPlugin(kindProjector),
libraryDependencies ++= Seq(
silencerPlugin,
slf4jApi,
catsCore,
catsFree,
catsEffect,
simulacrum
)
++ kafkaRelated
++ commonTestDependencies.map(_ % Test)
++ commonTestDependencies.map(_ % IntegrationTest)
++ Seq(embeddedKafka).map(_ % IntegrationTest)
)
lazy val publishSettings = Seq(
publishTo := sonatypePublishToBundle.value,
publishMavenStyle := true,
useGpgPinentry := true
)
lazy val doNotPublishArtifact = Seq(
skip in sonatypeBundleRelease := true,
skip in publish := true,
publishArtifact := false,
publishArtifact in (Compile, packageDoc) := false,
publishArtifact in (Compile, packageSrc) := false,
publishArtifact in (Compile, packageBin) := false
)
lazy val site = project
.in(file("site"))
.enablePlugins(MicrositesPlugin)
.enablePlugins(MdocPlugin)
.settings(doNotPublishArtifact)
.settings {
import microsites._
Seq(
micrositeName := "Kastle",
micrositeDescription := "Purely functional, effectful, resource-safe, kafka library for Scala",
micrositeHomepage := "https://tenable.github.io/Kastle",
micrositeBaseUrl := "Kastle",
micrositeOrganizationHomepage := "https://www.tenable.com",
micrositeTwitter := "@TenableSecurity",
micrositeAuthor := "Tenable",
micrositeGithubOwner := "tenable",
micrositeGithubRepo := "Kastle",
micrositeFooterText := Some("Copyright Tenable, Inc 2020"),
micrositeHighlightTheme := "atom-one-light",
micrositeCompilingDocsTool := WithMdoc,
fork in mdoc := true, // ?????
// sourceDirectory in Compile := baseDirectory.value / "src",
// sourceDirectory in Test := baseDirectory.value / "test",
mdocIn := (sourceDirectory in Compile).value / "docs",
micrositeExtraMdFilesOutput := resourceManaged.value / "main" / "jekyll",
micrositeExtraMdFiles := Map(
file("README.md") -> ExtraMdFileConfig(
"index.md",
"home",
Map("title" -> "Home", "section" -> "home", "position" -> "0")
)
)
)
}
.dependsOn(kastle)