-
Notifications
You must be signed in to change notification settings - Fork 9
/
build.sbt
94 lines (87 loc) · 3.28 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
lazy val scala212 = "2.12.18"
lazy val scala213 = "2.13.11"
lazy val scala330 = "3.3.3"
val fs2Version = "3.8.0"
inThisBuild(
List(
organization := "com.github.regis-leray",
homepage := Some(url("https://github.com/regis-leray/fs2-ftp")),
scmInfo := Some(ScmInfo(url("https://github.com/regis-leray/fs2-ftp"), "[email protected]:regis-leray/fs2-ftp.git")),
developers := List(
Developer("regis_leray", "Regis Leray", "regis.leray at gmail dot com", url("https://github.com/regis-leray"))
),
licenses += ("Apache-2.0", url("http://www.apache.org/licenses/LICENSE-2.0"))
)
)
ThisBuild / scalaVersion := scala330
ThisBuild / crossScalaVersions := List(scala330, scala213, scala212)
ThisBuild / githubWorkflowJavaVersions := Seq(JavaSpec.graalvm("22.3.2", "17"))
ThisBuild / versionScheme := Some("early-semver")
ThisBuild / githubWorkflowBuildPreamble ++= Seq(
WorkflowStep.Run(
List(
"chmod -R 777 ./ftp-home/",
"docker compose -f \"docker-compose.yml\" up -d --build",
"chmod -R 777 ./ftp-home/sftp/home/foo/dir1"
),
name = Some("Start containers")
)
)
ThisBuild / githubWorkflowBuild := Seq(
WorkflowStep.Sbt(List("check", "test"))
)
//sbt-ci-release settings
ThisBuild / githubWorkflowPublishPreamble := Seq(
WorkflowStep.Use(UseRef.Public("olafurpg", "setup-gpg", "v3"))
)
ThisBuild / githubWorkflowTargetTags ++= Seq("v*")
ThisBuild / githubWorkflowPublishTargetBranches := Seq(
RefPredicate.StartsWith(Ref.Branch("master")),
RefPredicate.StartsWith(Ref.Tag("v"))
)
ThisBuild / githubWorkflowPublish := Seq(WorkflowStep.Sbt(List("ci-release")))
ThisBuild / githubWorkflowEnv ++= List(
"PGP_PASSPHRASE",
"PGP_SECRET",
"SONATYPE_PASSWORD",
"SONATYPE_USERNAME"
).map(envKey => envKey -> s"$${{ secrets.$envKey }}").toMap
lazy val `fs2-ftp` = project
.in(file("."))
.settings(
name := "fs2-ftp",
Test / fork := true,
Test / parallelExecution := false,
publishMavenStyle := true,
scalacOptions ++= Seq(
"-encoding",
"UTF-8",
"-unchecked",
"-deprecation",
"-feature",
"-Xfatal-warnings",
"-language:higherKinds",
"-language:postfixOps"
) ++ PartialFunction
.condOpt(CrossVersion.partialVersion(scalaVersion.value)) {
case Some((2, n)) if n < 13 => Seq("-Xlint", "-Ypartial-unification")
case Some((2, n)) if n >= 13 => Seq("-Xlint")
}
.toList
.flatten
)
.settings(
libraryDependencies ++= Seq(
"co.fs2" %% "fs2-core" % fs2Version,
"co.fs2" %% "fs2-io" % fs2Version,
"org.scala-lang.modules" %% "scala-collection-compat" % "2.11.0",
"com.hierynomus" % "sshj" % "0.39.0",
"commons-net" % "commons-net" % "3.11.1",
"org.apache.logging.log4j" % "log4j-api" % "2.20.0" % Test,
"org.apache.logging.log4j" % "log4j-core" % "2.20.0" % Test,
"org.apache.logging.log4j" % "log4j-slf4j-impl" % "2.20.0" % Test,
"org.scalatest" %% "scalatest" % "3.2.15" % Test
)
)
addCommandAlias("fmt", "all scalafmtSbt scalafmt test:scalafmt")
addCommandAlias("check", "all scalafmtSbtCheck scalafmtCheck test:scalafmtCheck")