From 1ef987f611b0b1e869f6d4455cccceb67a5da031 Mon Sep 17 00:00:00 2001 From: Timo Bryant Date: Fri, 22 Dec 2023 00:18:53 +0100 Subject: [PATCH] rework build logic --- build-logic/build.gradle.kts | 19 ---------------- build-logic/settings.gradle.kts | 8 ------- build.gradle.kts | 3 +++ buildSrc/build.gradle.kts | 11 ++++++++++ buildSrc/settings.gradle.kts | 1 + ....kotlin-application-conventions.gradle.kts | 0 ...cthor.kotlin-common-conventions.gradle.kts | 0 ...thor.kotlin-library-conventions.gradle.kts | 0 libraries/fileprocessing/build.gradle.kts | 4 ---- libraries/textprocessing/build.gradle.kts | 4 ---- .../kotlin/de/itkl/textprocessing/Document.kt | 4 ++++ .../interfaces/DocumentAssetManager.kt | 3 +++ .../interfaces/DocumentExtractor.kt | 4 ++++ libraries/tfidf/build.gradle.kts | 4 ---- settings.gradle.kts | 22 ++++++++++++++----- 15 files changed, 42 insertions(+), 45 deletions(-) delete mode 100644 build-logic/build.gradle.kts delete mode 100644 build-logic/settings.gradle.kts create mode 100644 build.gradle.kts create mode 100644 buildSrc/build.gradle.kts create mode 100644 buildSrc/settings.gradle.kts rename {build-logic => buildSrc}/src/main/kotlin/docthor.kotlin-application-conventions.gradle.kts (100%) rename {build-logic => buildSrc}/src/main/kotlin/docthor.kotlin-common-conventions.gradle.kts (100%) rename {build-logic => buildSrc}/src/main/kotlin/docthor.kotlin-library-conventions.gradle.kts (100%) create mode 100644 libraries/textprocessing/src/main/kotlin/de/itkl/textprocessing/Document.kt create mode 100644 libraries/textprocessing/src/main/kotlin/de/itkl/textprocessing/interfaces/DocumentAssetManager.kt create mode 100644 libraries/textprocessing/src/main/kotlin/de/itkl/textprocessing/interfaces/DocumentExtractor.kt diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts deleted file mode 100644 index f7c999c..0000000 --- a/build-logic/build.gradle.kts +++ /dev/null @@ -1,19 +0,0 @@ -/* - * This file was generated by the Gradle 'init' task. - * - * This project uses @Incubating APIs which are subject to change. - */ - -plugins { - // Support convention plugins written in Kotlin. Convention plugins are build scripts in 'src/main' that automatically become available as plugins in the main build. - `kotlin-dsl` -} - -repositories { - // Use the plugin portal to apply community plugins in convention plugins. - gradlePluginPortal() -} - -dependencies { - implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.20") -} diff --git a/build-logic/settings.gradle.kts b/build-logic/settings.gradle.kts deleted file mode 100644 index efc7fdc..0000000 --- a/build-logic/settings.gradle.kts +++ /dev/null @@ -1,8 +0,0 @@ -/* - * This file was generated by the Gradle 'init' task. - * - * This settings file is used to specify which projects to include in your build-logic build. - * This project uses @Incubating APIs which are subject to change. - */ - -rootProject.name = "docthor-build-logic" diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..52d948c --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,3 @@ +project(":libraries").subprojects { + apply(plugin = "docthor.kotlin-library-conventions") +} \ No newline at end of file diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts new file mode 100644 index 0000000..37d2b48 --- /dev/null +++ b/buildSrc/build.gradle.kts @@ -0,0 +1,11 @@ +plugins { + `kotlin-dsl` +} + +repositories { + gradlePluginPortal() +} + +dependencies { + implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.20") +} diff --git a/buildSrc/settings.gradle.kts b/buildSrc/settings.gradle.kts new file mode 100644 index 0000000..67a43ba --- /dev/null +++ b/buildSrc/settings.gradle.kts @@ -0,0 +1 @@ +rootProject.name = "docthor-build-logic" diff --git a/build-logic/src/main/kotlin/docthor.kotlin-application-conventions.gradle.kts b/buildSrc/src/main/kotlin/docthor.kotlin-application-conventions.gradle.kts similarity index 100% rename from build-logic/src/main/kotlin/docthor.kotlin-application-conventions.gradle.kts rename to buildSrc/src/main/kotlin/docthor.kotlin-application-conventions.gradle.kts diff --git a/build-logic/src/main/kotlin/docthor.kotlin-common-conventions.gradle.kts b/buildSrc/src/main/kotlin/docthor.kotlin-common-conventions.gradle.kts similarity index 100% rename from build-logic/src/main/kotlin/docthor.kotlin-common-conventions.gradle.kts rename to buildSrc/src/main/kotlin/docthor.kotlin-common-conventions.gradle.kts diff --git a/build-logic/src/main/kotlin/docthor.kotlin-library-conventions.gradle.kts b/buildSrc/src/main/kotlin/docthor.kotlin-library-conventions.gradle.kts similarity index 100% rename from build-logic/src/main/kotlin/docthor.kotlin-library-conventions.gradle.kts rename to buildSrc/src/main/kotlin/docthor.kotlin-library-conventions.gradle.kts diff --git a/libraries/fileprocessing/build.gradle.kts b/libraries/fileprocessing/build.gradle.kts index c74f63c..da9f7d0 100644 --- a/libraries/fileprocessing/build.gradle.kts +++ b/libraries/fileprocessing/build.gradle.kts @@ -1,7 +1,3 @@ -plugins { - id("docthor.kotlin-library-conventions") -} - dependencies { implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3") } diff --git a/libraries/textprocessing/build.gradle.kts b/libraries/textprocessing/build.gradle.kts index e14ed29..6cf74f9 100644 --- a/libraries/textprocessing/build.gradle.kts +++ b/libraries/textprocessing/build.gradle.kts @@ -1,7 +1,3 @@ -plugins { - id("docthor.kotlin-library-conventions") -} - dependencies { api("org.apache.lucene:lucene-analysis-common:9.9.0") implementation("com.github.doyaaaaaken:kotlin-csv-jvm:1.9.2") diff --git a/libraries/textprocessing/src/main/kotlin/de/itkl/textprocessing/Document.kt b/libraries/textprocessing/src/main/kotlin/de/itkl/textprocessing/Document.kt new file mode 100644 index 0000000..f56fde9 --- /dev/null +++ b/libraries/textprocessing/src/main/kotlin/de/itkl/textprocessing/Document.kt @@ -0,0 +1,4 @@ +package de.itkl.textprocessing + +class DocumentContainer { +} \ No newline at end of file diff --git a/libraries/textprocessing/src/main/kotlin/de/itkl/textprocessing/interfaces/DocumentAssetManager.kt b/libraries/textprocessing/src/main/kotlin/de/itkl/textprocessing/interfaces/DocumentAssetManager.kt new file mode 100644 index 0000000..8c98302 --- /dev/null +++ b/libraries/textprocessing/src/main/kotlin/de/itkl/textprocessing/interfaces/DocumentAssetManager.kt @@ -0,0 +1,3 @@ +package de.itkl.textprocessing.interfaces + +interface DocumentAssetManager {} \ No newline at end of file diff --git a/libraries/textprocessing/src/main/kotlin/de/itkl/textprocessing/interfaces/DocumentExtractor.kt b/libraries/textprocessing/src/main/kotlin/de/itkl/textprocessing/interfaces/DocumentExtractor.kt new file mode 100644 index 0000000..e62f52b --- /dev/null +++ b/libraries/textprocessing/src/main/kotlin/de/itkl/textprocessing/interfaces/DocumentExtractor.kt @@ -0,0 +1,4 @@ +package de.itkl.textprocessing.interfaces + +interface DocumentExtractor { +} \ No newline at end of file diff --git a/libraries/tfidf/build.gradle.kts b/libraries/tfidf/build.gradle.kts index 5231d56..5da8a65 100644 --- a/libraries/tfidf/build.gradle.kts +++ b/libraries/tfidf/build.gradle.kts @@ -1,7 +1,3 @@ -plugins { - id("docthor.kotlin-library-conventions") -} - dependencies { api(project(":libraries:textprocessing")) api(project(":libraries:fileprocessing")) diff --git a/settings.gradle.kts b/settings.gradle.kts index 4274775..9750b35 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,15 +1,25 @@ -pluginManagement { - includeBuild("build-logic") -} +//pluginManagement { +// includeBuild("build-logic") +//} plugins { id("org.gradle.toolchains.foojay-resolver-convention") version "0.4.0" } +fun includeDir(path: String) { + file(path) + .listFiles()!! + .filter { it.isDirectory } + .filter { dir -> + dir.resolve("build.gradle.kts").exists() } + .forEach { dir -> + val includeString = listOf(path, dir.name).joinToString(":") + include(includeString) + } + } + rootProject.name = "docthor" include( "app", - "libraries:tfidf", - "libraries:textprocessing", - "libraries:fileprocessing", ) +includeDir("libraries")