diff --git a/src/main/scala/Main.scala b/api/src/main/scala/Main.scala similarity index 100% rename from src/main/scala/Main.scala rename to api/src/main/scala/Main.scala diff --git a/src/main/scala/data/DataFormat.scala b/api/src/main/scala/data/DataFormat.scala similarity index 100% rename from src/main/scala/data/DataFormat.scala rename to api/src/main/scala/data/DataFormat.scala diff --git a/src/main/scala/exception/stream/timed/StreamTimeoutException.scala b/api/src/main/scala/exception/stream/timed/StreamTimeoutException.scala similarity index 100% rename from src/main/scala/exception/stream/timed/StreamTimeoutException.scala rename to api/src/main/scala/exception/stream/timed/StreamTimeoutException.scala diff --git a/src/main/scala/exception/stream/validations/StreamErroredItemException.scala b/api/src/main/scala/exception/stream/validations/StreamErroredItemException.scala similarity index 100% rename from src/main/scala/exception/stream/validations/StreamErroredItemException.scala rename to api/src/main/scala/exception/stream/validations/StreamErroredItemException.scala diff --git a/src/main/scala/exception/stream/validations/StreamInvalidItemException.scala b/api/src/main/scala/exception/stream/validations/StreamInvalidItemException.scala similarity index 100% rename from src/main/scala/exception/stream/validations/StreamInvalidItemException.scala rename to api/src/main/scala/exception/stream/validations/StreamInvalidItemException.scala diff --git a/src/main/scala/exception/stream/validations/StreamValidationException.scala b/api/src/main/scala/exception/stream/validations/StreamValidationException.scala similarity index 100% rename from src/main/scala/exception/stream/validations/StreamValidationException.scala rename to api/src/main/scala/exception/stream/validations/StreamValidationException.scala diff --git a/src/main/scala/implicits/package.scala b/api/src/main/scala/implicits/package.scala similarity index 100% rename from src/main/scala/implicits/package.scala rename to api/src/main/scala/implicits/package.scala diff --git a/src/main/scala/model/rdf/RDFElement.scala b/api/src/main/scala/model/rdf/RDFElement.scala similarity index 100% rename from src/main/scala/model/rdf/RDFElement.scala rename to api/src/main/scala/model/rdf/RDFElement.scala diff --git a/src/main/scala/schema/ShExSchemaFormat.scala b/api/src/main/scala/schema/ShExSchemaFormat.scala similarity index 100% rename from src/main/scala/schema/ShExSchemaFormat.scala rename to api/src/main/scala/schema/ShExSchemaFormat.scala diff --git a/src/main/scala/stream/StreamSource.scala b/api/src/main/scala/stream/StreamSource.scala similarity index 100% rename from src/main/scala/stream/StreamSource.scala rename to api/src/main/scala/stream/StreamSource.scala diff --git a/src/main/scala/stream/extractors/StreamExtractor.scala b/api/src/main/scala/stream/extractors/StreamExtractor.scala similarity index 100% rename from src/main/scala/stream/extractors/StreamExtractor.scala rename to api/src/main/scala/stream/extractors/StreamExtractor.scala diff --git a/src/main/scala/stream/extractors/file/Charsets.scala b/api/src/main/scala/stream/extractors/file/Charsets.scala similarity index 100% rename from src/main/scala/stream/extractors/file/Charsets.scala rename to api/src/main/scala/stream/extractors/file/Charsets.scala diff --git a/src/main/scala/stream/extractors/file/FileExtractor.scala b/api/src/main/scala/stream/extractors/file/FileExtractor.scala similarity index 100% rename from src/main/scala/stream/extractors/file/FileExtractor.scala rename to api/src/main/scala/stream/extractors/file/FileExtractor.scala diff --git a/src/main/scala/stream/extractors/kafka/KafkaExtractor.scala b/api/src/main/scala/stream/extractors/kafka/KafkaExtractor.scala similarity index 100% rename from src/main/scala/stream/extractors/kafka/KafkaExtractor.scala rename to api/src/main/scala/stream/extractors/kafka/KafkaExtractor.scala diff --git a/src/main/scala/stream/extractors/kafka/KafkaExtractorConfiguration.scala b/api/src/main/scala/stream/extractors/kafka/KafkaExtractorConfiguration.scala similarity index 100% rename from src/main/scala/stream/extractors/kafka/KafkaExtractorConfiguration.scala rename to api/src/main/scala/stream/extractors/kafka/KafkaExtractorConfiguration.scala diff --git a/src/main/scala/stream/extractors/list/ListExtractor.scala b/api/src/main/scala/stream/extractors/list/ListExtractor.scala similarity index 100% rename from src/main/scala/stream/extractors/list/ListExtractor.scala rename to api/src/main/scala/stream/extractors/list/ListExtractor.scala diff --git a/src/main/scala/trigger/ShapeMapFormat.scala b/api/src/main/scala/trigger/ShapeMapFormat.scala similarity index 100% rename from src/main/scala/trigger/ShapeMapFormat.scala rename to api/src/main/scala/trigger/ShapeMapFormat.scala diff --git a/src/main/scala/trigger/TriggerModeType.scala b/api/src/main/scala/trigger/TriggerModeType.scala similarity index 100% rename from src/main/scala/trigger/TriggerModeType.scala rename to api/src/main/scala/trigger/TriggerModeType.scala diff --git a/src/main/scala/trigger/TriggerShapeMap.scala b/api/src/main/scala/trigger/TriggerShapeMap.scala similarity index 100% rename from src/main/scala/trigger/TriggerShapeMap.scala rename to api/src/main/scala/trigger/TriggerShapeMap.scala diff --git a/src/main/scala/trigger/TriggerTargetDeclarations.scala b/api/src/main/scala/trigger/TriggerTargetDeclarations.scala similarity index 100% rename from src/main/scala/trigger/TriggerTargetDeclarations.scala rename to api/src/main/scala/trigger/TriggerTargetDeclarations.scala diff --git a/src/main/scala/trigger/ValidationTrigger.scala b/api/src/main/scala/trigger/ValidationTrigger.scala similarity index 100% rename from src/main/scala/trigger/ValidationTrigger.scala rename to api/src/main/scala/trigger/ValidationTrigger.scala diff --git a/src/main/scala/utils/StreamUtils.scala b/api/src/main/scala/utils/StreamUtils.scala similarity index 100% rename from src/main/scala/utils/StreamUtils.scala rename to api/src/main/scala/utils/StreamUtils.scala diff --git a/src/main/scala/utils/Timer.scala b/api/src/main/scala/utils/Timer.scala similarity index 100% rename from src/main/scala/utils/Timer.scala rename to api/src/main/scala/utils/Timer.scala diff --git a/src/main/scala/utils/package.scala b/api/src/main/scala/utils/package.scala similarity index 100% rename from src/main/scala/utils/package.scala rename to api/src/main/scala/utils/package.scala diff --git a/src/main/scala/validation/Validator.scala b/api/src/main/scala/validation/Validator.scala similarity index 100% rename from src/main/scala/validation/Validator.scala rename to api/src/main/scala/validation/Validator.scala diff --git a/src/main/scala/validation/configuration/ValidatorConfiguration.scala b/api/src/main/scala/validation/configuration/ValidatorConfiguration.scala similarity index 100% rename from src/main/scala/validation/configuration/ValidatorConfiguration.scala rename to api/src/main/scala/validation/configuration/ValidatorConfiguration.scala diff --git a/src/main/scala/validation/result/ResultStatus.scala b/api/src/main/scala/validation/result/ResultStatus.scala similarity index 100% rename from src/main/scala/validation/result/ResultStatus.scala rename to api/src/main/scala/validation/result/ResultStatus.scala diff --git a/src/main/scala/validation/result/ValidationResult.scala b/api/src/main/scala/validation/result/ValidationResult.scala similarity index 100% rename from src/main/scala/validation/result/ValidationResult.scala rename to api/src/main/scala/validation/result/ValidationResult.scala diff --git a/src/test/scala/extraction/ExtractorTests.scala b/api/src/test/scala/extraction/ExtractorTests.scala similarity index 100% rename from src/test/scala/extraction/ExtractorTests.scala rename to api/src/test/scala/extraction/ExtractorTests.scala diff --git a/src/test/scala/utils/FileUtils.scala b/api/src/test/scala/utils/FileUtils.scala similarity index 100% rename from src/test/scala/utils/FileUtils.scala rename to api/src/test/scala/utils/FileUtils.scala diff --git a/src/test/scala/utils/Samples.scala b/api/src/test/scala/utils/Samples.scala similarity index 100% rename from src/test/scala/utils/Samples.scala rename to api/src/test/scala/utils/Samples.scala diff --git a/src/test/scala/validation/halting/HaltingTests.scala b/api/src/test/scala/validation/halting/HaltingTests.scala similarity index 100% rename from src/test/scala/validation/halting/HaltingTests.scala rename to api/src/test/scala/validation/halting/HaltingTests.scala diff --git a/src/test/scala/validation/ouputs/SchemaTests.scala b/api/src/test/scala/validation/ouputs/SchemaTests.scala similarity index 100% rename from src/test/scala/validation/ouputs/SchemaTests.scala rename to api/src/test/scala/validation/ouputs/SchemaTests.scala diff --git a/src/test/scala/validation/timeout/TimeoutTests.scala b/api/src/test/scala/validation/timeout/TimeoutTests.scala similarity index 100% rename from src/test/scala/validation/timeout/TimeoutTests.scala rename to api/src/test/scala/validation/timeout/TimeoutTests.scala diff --git a/build.sbt b/build.sbt index 04b9fc8..dc82563 100644 --- a/build.sbt +++ b/build.sbt @@ -7,7 +7,13 @@ Global / excludeLintKeys ++= Set(name, idePackagePrefix) /* ------------------------------------------------------------------------- */ /* MODULES */ -lazy val comet = (project in file(".")) + +// Root project +lazy val root = (project in file(".")) + .aggregate(comet) + +// Comet's core API, to be published +lazy val comet = (project in file("api")) .enablePlugins(BuildInfoPlugin) .settings( name := "comet", @@ -57,6 +63,20 @@ lazy val buildInfoSettings = Seq( buildInfoObject := "BuildInfo" ) +/* PACKAGING SETTINGS */ +// Shared packaging settings for all modules +lazy val packagingSettings = Seq( + // Do not package logback files in .jar, they interfere with other logback + // files in classpath + Compile / packageBin / mappings ~= { project => + project.filter { case (file, _) => + val fileName = file.getName + !(fileName.startsWith("logback") && (fileName.endsWith(".xml") || fileName + .endsWith(".groovy"))) + } + } +) + /* ------------------------------------------------------------------------- */ /* SBT GITHUB ACTIONS */ // GitHub Actions for build/test and clean are automatically generated