All checks were successful
/ Build and Test Library Snapshot (pull_request) Successful in 2m25s
116 lines
2.7 KiB
Scala
116 lines
2.7 KiB
Scala
val scala3: String = "3.8.1"
|
|
|
|
ThisBuild / scalaVersion := scala3
|
|
ThisBuild / versionScheme := Some("semver-spec")
|
|
ThisBuild / gsProjectName := "gs-crypto"
|
|
|
|
ThisBuild / externalResolvers := Seq(
|
|
"Garrity Software Mirror" at "https://maven.garrity.co/releases",
|
|
"Garrity Software Releases" at "https://maven.garrity.co/gs"
|
|
)
|
|
|
|
ThisBuild / licenses := Seq(
|
|
"MIT" -> url(
|
|
"https://git.garrity.co/garrity-software/gs-crypto/src/branch/main/LICENSE"
|
|
)
|
|
)
|
|
|
|
// Note: Scala 3 code coverage is busted :(
|
|
val sharedSettings = Seq(
|
|
scalaVersion := scala3,
|
|
version := semVerSelected.value,
|
|
coverageFailOnMinimum := true
|
|
/* coverageMinimumStmtTotal := 100, coverageMinimumBranchTotal := 100 */
|
|
)
|
|
|
|
val noPublishSettings = Seq(
|
|
publish := {}
|
|
)
|
|
|
|
val Deps = new {
|
|
val Cats = new {
|
|
val Effect: ModuleID = "org.typelevel" %% "cats-effect" % "3.6.3"
|
|
}
|
|
|
|
val Gs = new {
|
|
val Datagen: ModuleID = "gs" %% "gs-datagen-core-v0" % "0.4.1"
|
|
}
|
|
|
|
val BouncyCastle = new {
|
|
val Provider: ModuleID = "org.bouncycastle" % "bcprov-jdk18on" % "1.83"
|
|
val PKIX: ModuleID = "org.bouncycastle" % "bcpkix-jdk18on" % "1.83"
|
|
}
|
|
|
|
val MUnit: ModuleID = "org.scalameta" %% "munit" % "1.2.2"
|
|
}
|
|
|
|
lazy val testSettings = Seq(
|
|
libraryDependencies ++= Seq(
|
|
Deps.MUnit % Test,
|
|
Deps.Gs.Datagen % Test
|
|
)
|
|
)
|
|
|
|
lazy val `gs-crypto` = project
|
|
.in(file("."))
|
|
.aggregate(core, argon2, rsa, eddsa)
|
|
.settings(noPublishSettings)
|
|
.settings(name := s"${gsProjectName.value}-v${semVerMajor.value}")
|
|
|
|
lazy val core = project
|
|
.in(file("modules/core"))
|
|
.settings(sharedSettings)
|
|
.settings(testSettings)
|
|
.settings(
|
|
name := s"${gsProjectName.value}-core-v${semVerMajor.value}"
|
|
)
|
|
.settings(
|
|
libraryDependencies ++= Seq(
|
|
Deps.Cats.Effect,
|
|
Deps.BouncyCastle.PKIX
|
|
)
|
|
)
|
|
|
|
lazy val argon2 = project
|
|
.in(file("modules/argon2"))
|
|
.dependsOn(core)
|
|
.settings(sharedSettings)
|
|
.settings(testSettings)
|
|
.settings(
|
|
name := s"${gsProjectName.value}-argon2-v${semVerMajor.value}"
|
|
)
|
|
.settings(
|
|
libraryDependencies ++= Seq(
|
|
Deps.Cats.Effect,
|
|
Deps.BouncyCastle.Provider
|
|
)
|
|
)
|
|
|
|
lazy val rsa = project
|
|
.in(file("modules/rsa"))
|
|
.dependsOn(core)
|
|
.settings(sharedSettings)
|
|
.settings(testSettings)
|
|
.settings(
|
|
name := s"${gsProjectName.value}-rsa-v${semVerMajor.value}"
|
|
)
|
|
.settings(
|
|
libraryDependencies ++= Seq(
|
|
Deps.Cats.Effect
|
|
)
|
|
)
|
|
|
|
lazy val eddsa = project
|
|
.in(file("modules/eddsa"))
|
|
.dependsOn(core)
|
|
.settings(sharedSettings)
|
|
.settings(testSettings)
|
|
.settings(
|
|
name := s"${gsProjectName.value}-eddsa-v${semVerMajor.value}"
|
|
)
|
|
.settings(
|
|
libraryDependencies ++= Seq(
|
|
Deps.Cats.Effect,
|
|
Deps.BouncyCastle.Provider
|
|
)
|
|
)
|