Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
223 changes: 113 additions & 110 deletions build.sbt
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
lazy val scala212 = "2.12.14"
lazy val scala213 = "2.13.6"
lazy val scala212 = "2.12.14"
lazy val scala213 = "2.13.6"
lazy val supportedScalaVersions = List(scala212, scala213)

val Java11 = "adopt@1.11"


// Local dependencies
lazy val utilsVersion = "0.1.98"
lazy val srdfVersion = "0.1.102"
lazy val shexVersion = "0.1.91"
lazy val shaclVersion = "0.1.75"
lazy val utilsVersion = "0.1.98"
lazy val srdfVersion = "0.1.102"
lazy val shexVersion = "0.1.91"
lazy val shaclVersion = "0.1.75"

// Dependency versions
lazy val catsVersion = "2.6.1"
lazy val catsVersion = "2.6.1"
// lazy val commonsTextVersion = "1.8"
lazy val circeVersion = "0.14.1"
lazy val circeVersion = "0.14.1"
// lazy val diffsonVersion = "4.0.0"
// lazy val effVersion = "4.6.1"
lazy val jenaVersion = "3.16.0"
Expand All @@ -24,60 +23,57 @@ lazy val jnaVersion = "5.6.0"
lazy val logbackVersion = "1.2.3"
lazy val loggingVersion = "3.9.2"
lazy val munitVersion = "0.7.26"
lazy val munitEffectVersion = "1.0.1"
lazy val munitEffectVersion = "1.0.7"
lazy val pprintVersion = "0.6.0"
lazy val rdf4jVersion = "3.0.0"
lazy val scalacheckVersion = "1.14.0"
lazy val scallopVersion = "3.3.2"
lazy val shaclTQVersion = "1.3.2"
lazy val typesafeConfigVersion = "1.3.4"


// Compiler plugin dependency versions
lazy val simulacrumVersion = "1.0.0"
lazy val simulacrumVersion = "1.0.0"
// lazy val kindProjectorVersion = "0.9.5"
// lazy val scalaMacrosVersion = "2.1.1"


// WESO components
lazy val srdf = "es.weso" %% "srdf" % srdfVersion
lazy val srdfJena = "es.weso" %% "srdfjena" % srdfVersion
lazy val srdf4j = "es.weso" %% "srdf4j" % srdfVersion
lazy val utils = "es.weso" %% "utils" % utilsVersion
lazy val typing = "es.weso" %% "typing" % utilsVersion
lazy val validating = "es.weso" %% "validating" % utilsVersion
lazy val utilsTest = "es.weso" %% "utilstest" % utilsVersion
lazy val shex = "es.weso" %% "shex" % shexVersion
lazy val shexTest = "es.weso" %% "shextest" % shexVersion
lazy val shapemap = "es.weso" %% "shapemap" % shexVersion
lazy val shacl = "es.weso" %% "shacl" % shaclVersion
lazy val srdf = "es.weso" %% "srdf" % srdfVersion
lazy val srdfJena = "es.weso" %% "srdfjena" % srdfVersion
lazy val srdf4j = "es.weso" %% "srdf4j" % srdfVersion
lazy val utils = "es.weso" %% "utils" % utilsVersion
lazy val typing = "es.weso" %% "typing" % utilsVersion
lazy val validating = "es.weso" %% "validating" % utilsVersion
lazy val utilsTest = "es.weso" %% "utilstest" % utilsVersion
lazy val shex = "es.weso" %% "shex" % shexVersion
lazy val shexTest = "es.weso" %% "shextest" % shexVersion
lazy val shapemap = "es.weso" %% "shapemap" % shexVersion
lazy val shacl = "es.weso" %% "shacl" % shaclVersion

// Other dependency modules
lazy val catsCore = "org.typelevel" %% "cats-core" % catsVersion
lazy val catsKernel = "org.typelevel" %% "cats-kernel" % catsVersion
lazy val circeCore = "io.circe" %% "circe-core" % circeVersion
lazy val circeGeneric = "io.circe" %% "circe-generic" % circeVersion
lazy val circeParser = "io.circe" %% "circe-parser" % circeVersion
lazy val logbackClassic = "ch.qos.logback" % "logback-classic" % logbackVersion
lazy val jenaArq = "org.apache.jena" % "jena-arq" % jenaVersion
lazy val jenaShacl = "org.apache.jena" % "jena-shacl" % jenaVersion
lazy val jenaFuseki = "org.apache.jena" % "jena-fuseki-main" % jenaVersion
lazy val jline = "org.jline" % "jline" % jlineVersion
lazy val jna = "net.java.dev.jna" % "jna" % jnaVersion
lazy val munit = "org.scalameta" %% "munit" % munitVersion
lazy val munitEffect = "org.typelevel" %% "munit-cats-effect-3" % munitEffectVersion
lazy val catsCore = "org.typelevel" %% "cats-core" % catsVersion
lazy val catsKernel = "org.typelevel" %% "cats-kernel" % catsVersion
lazy val circeCore = "io.circe" %% "circe-core" % circeVersion
lazy val circeGeneric = "io.circe" %% "circe-generic" % circeVersion
lazy val circeParser = "io.circe" %% "circe-parser" % circeVersion
lazy val logbackClassic = "ch.qos.logback" % "logback-classic" % logbackVersion
lazy val jenaArq = "org.apache.jena" % "jena-arq" % jenaVersion
lazy val jenaShacl = "org.apache.jena" % "jena-shacl" % jenaVersion
lazy val jenaFuseki = "org.apache.jena" % "jena-fuseki-main" % jenaVersion
lazy val jline = "org.jline" % "jline" % jlineVersion
lazy val jna = "net.java.dev.jna" % "jna" % jnaVersion
lazy val munit = "org.scalameta" %% "munit" % munitVersion
lazy val munitEffect = "org.typelevel" %% "munit-cats-effect-3" % munitEffectVersion
lazy val MUnitFramework = new TestFramework("munit.Framework")

lazy val pprint = "com.lihaoyi" %% "pprint" % pprintVersion
lazy val rdf4j_runtime = "org.eclipse.rdf4j" % "rdf4j-runtime" % rdf4jVersion
lazy val shaclTQ = "org.topbraid" % "shacl" % shaclTQVersion
lazy val scalaLogging = "com.typesafe.scala-logging" %% "scala-logging" % loggingVersion
lazy val scallop = "org.rogach" %% "scallop" % scallopVersion
lazy val typesafeConfig = "com.typesafe" % "config" % typesafeConfigVersion
lazy val pprint = "com.lihaoyi" %% "pprint" % pprintVersion
lazy val rdf4j_runtime = "org.eclipse.rdf4j" % "rdf4j-runtime" % rdf4jVersion
lazy val shaclTQ = "org.topbraid" % "shacl" % shaclTQVersion
lazy val scalaLogging = "com.typesafe.scala-logging" %% "scala-logging" % loggingVersion
lazy val scallop = "org.rogach" %% "scallop" % scallopVersion
lazy val typesafeConfig = "com.typesafe" % "config" % typesafeConfigVersion

ThisBuild / githubWorkflowJavaVersions := Seq(Java11)


lazy val shaclex = project
.in(file("."))
.enablePlugins(
Expand All @@ -87,12 +83,13 @@ lazy val shaclex = project
SbtNativePackager,
WindowsPlugin,
JavaAppPackaging,
LauncherJarPlugin)
// .disablePlugins(RevolverPlugin)
// .settings(
// buildInfoKeys := BuildInfoKey.ofN(name, version, scalaVersion, sbtVersion),
// buildInfoPackage := "es.weso.shaclex.buildinfo"
// )
LauncherJarPlugin
)
// .disablePlugins(RevolverPlugin)
// .settings(
// buildInfoKeys := BuildInfoKey.ofN(name, version, scalaVersion, sbtVersion),
// buildInfoPackage := "es.weso.shaclex.buildinfo"
// )
.settings(commonSettings, packagingSettings, ghPagesSettings, publishSettings, wixSettings)
.aggregate(schemaInfer, schema, converter, slang, sgraph)
.dependsOn(schemaInfer, schema, converter, slang, sgraph)
Expand All @@ -113,19 +110,20 @@ lazy val shaclex = project
jline,
jna
),
cancelable in Global := true,
fork := true,
cancelable in Global := true,
fork := true,
// parallelExecution in Test := false,
ThisBuild / turbo := true,
// skip in publish := true
ThisBuild / turbo := true
// skip in publish := true
)

lazy val schemaInfer = project
.in(file("modules/schemaInfer"))
// .disablePlugins(RevolverPlugin)
// .disablePlugins(RevolverPlugin)
.settings(
crossScalaVersions := supportedScalaVersions,
commonSettings, publishSettings,
commonSettings,
publishSettings,
libraryDependencies ++= Seq(srdf)
)
.dependsOn(
Expand All @@ -134,10 +132,11 @@ lazy val schemaInfer = project

lazy val schema = project
.in(file("modules/schema"))
// .disablePlugins(RevolverPlugin)
// .disablePlugins(RevolverPlugin)
.settings(
crossScalaVersions := supportedScalaVersions,
commonSettings, publishSettings,
commonSettings,
publishSettings,
libraryDependencies ++= Seq(
srdf,
srdfJena,
Expand All @@ -148,7 +147,7 @@ lazy val schema = project
jenaShacl,
shaclTQ,
munitEffect % Test
),
),
testFrameworks += MUnitFramework
)
.dependsOn(
Expand All @@ -158,10 +157,10 @@ lazy val schema = project

lazy val slang = project
.in(file("modules/slang"))
// .disablePlugins(RevolverPlugin)
// .disablePlugins(RevolverPlugin)
.settings(commonSettings, publishSettings)
.dependsOn(
)
)
.settings(
crossScalaVersions := supportedScalaVersions,
libraryDependencies ++= Seq(
Expand All @@ -172,49 +171,51 @@ lazy val slang = project
shacl,
utils,
srdf,
srdf4j % Test,
srdfJena % Test,
)
srdf4j % Test,
srdfJena % Test
)
)

lazy val sgraph = project
.in(file("modules/sgraph"))
// .disablePlugins(RevolverPlugin)
// .disablePlugins(RevolverPlugin)
.settings(
crossScalaVersions := supportedScalaVersions,
commonSettings, publishSettings,
commonSettings,
publishSettings,
libraryDependencies ++= Seq(
utils,
utilsTest % Test,
srdf,
catsCore,
catsKernel,
// catsMacros,
srdf4j % Test,
srdfJena % Test,
munit % Test,
srdf4j % Test,
srdfJena % Test,
munit % Test,
munitEffect % Test
),
),
testFrameworks += MUnitFramework
)

lazy val converter = project
.in(file("modules/converter"))
// .disablePlugins(RevolverPlugin)
// .disablePlugins(RevolverPlugin)
.settings(
crossScalaVersions := supportedScalaVersions,
commonSettings, publishSettings,
commonSettings,
publishSettings,
libraryDependencies ++= Seq(
logbackClassic,
scalaLogging,
srdfJena % Test,
shex,
shacl,
pprint,
munit % Test,
munitEffect % Test
),
testFrameworks += MUnitFramework
logbackClassic,
scalaLogging,
srdfJena % Test,
shex,
shacl,
pprint,
munit % Test,
munitEffect % Test
),
testFrameworks += MUnitFramework
)

/* ********************************************************
Expand All @@ -225,19 +226,19 @@ lazy val noDocProjects = Seq[ProjectReference]()

lazy val sharedDependencies = Seq(
libraryDependencies ++= Seq(
// scalactic,
// scalaTest % Test
// scalactic,
// scalaTest % Test
)
)

lazy val packagingSettings = Seq(
mainClass in Compile := Some("es.weso.shaclex.Main"),
mainClass in assembly := Some("es.weso.shaclex.Main"),
test in assembly := {},
mainClass in Compile := Some("es.weso.shaclex.Main"),
mainClass in assembly := Some("es.weso.shaclex.Main"),
test in assembly := {},
assemblyJarName in assembly := "shaclex.jar",
packageSummary in Linux := name.value,
packageSummary in Windows := name.value,
packageDescription := name.value
packageSummary in Linux := name.value,
packageSummary in Windows := name.value,
packageDescription := name.value
)

lazy val compilationSettings = Seq(
Expand All @@ -254,13 +255,13 @@ lazy val compilationSettings = Seq(
"-Yrangepos",
"-Ywarn-dead-code", // Warn when dead code is identified.
// "-Xfatal-warnings",
"-Ywarn-extra-implicit", // Warn when more than one implicit parameter section is defined.
"-Ywarn-extra-implicit" // Warn when more than one implicit parameter section is defined.
)
// format: on
)

lazy val wixSettings = Seq(
wixProductId := "39b564d5-d381-4282-ada9-87244c76e14b",
wixProductId := "39b564d5-d381-4282-ada9-87244c76e14b",
wixProductUpgradeId := "6a710435-9af4-4adb-a597-98d3dd0bade1"
// The same numbers as in the docs?
// wixProductId := "ce07be71-510d-414a-92d4-dff47631848a",
Expand All @@ -280,30 +281,32 @@ lazy val commonSettings = compilationSettings ++ sharedDependencies ++ Seq(

lazy val publishSettings = Seq(
// maintainer := "Jose Emilio Labra Gayo <labra@uniovi.es>",
homepage := Some(url("https://github.com/weso/shaclex")),
licenses := Seq("MIT" -> url("http://opensource.org/licenses/MIT")),
scmInfo := Some(ScmInfo(url("https://github.com/weso/shaclex"), "scm:git:git@github.com:labra/shaclex.git")),
homepage := Some(url("https://github.com/weso/shaclex")),
licenses := Seq("MIT" -> url("http://opensource.org/licenses/MIT")),
scmInfo := Some(ScmInfo(url("https://github.com/weso/shaclex"), "scm:git:git@github.com:labra/shaclex.git")),
autoAPIMappings := true,
apiURL := Some(url("http://weso.github.io/shaclex/latest/api/")),
/* pomExtra := <developers>
apiURL := Some(url("http://weso.github.io/shaclex/latest/api/")),
/* pomExtra := <developers>
<developer>
<id>labra</id>
<name>Jose Emilio Labra Gayo</name>
<url>https://labra.weso.es/</url>
</developer>
</developers>, */
publishMavenStyle := true,
publishMavenStyle := true,
sonatypeProfileName := ("es.weso"),
homepage := Some(url("https://github.com/weso/shaclex")),
licenses := Seq("MIT" -> url("http://opensource.org/licenses/MIT")),
scmInfo := Some(ScmInfo(url("https://github.com/weso/shaclex"), "scm:git:git@github.com:weso/shaclex.git")),
autoAPIMappings := true,
apiURL := Some(url("http://weso.github.io/shaclex/latest/api/")),
autoAPIMappings := true,
developers := List(Developer(
id="labra",
name="Jose Emilio Labra Gayo",
email="jelabra@gmail.com",
url=url("https://labra.weso.es")
))
homepage := Some(url("https://github.com/weso/shaclex")),
licenses := Seq("MIT" -> url("http://opensource.org/licenses/MIT")),
scmInfo := Some(ScmInfo(url("https://github.com/weso/shaclex"), "scm:git:git@github.com:weso/shaclex.git")),
autoAPIMappings := true,
apiURL := Some(url("http://weso.github.io/shaclex/latest/api/")),
autoAPIMappings := true,
developers := List(
Developer(
id = "labra",
name = "Jose Emilio Labra Gayo",
email = "jelabra@gmail.com",
url = url("https://labra.weso.es")
)
)
)