diff --git a/build.gradle b/build.gradle index a50f69790..212d7cfdb 100644 --- a/build.gradle +++ b/build.gradle @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + // root build.gradle buildscript { repositories { @@ -12,28 +14,28 @@ buildscript { plugins { // remember to update all the versions here when upgrading kotlin version id 'org.jetbrains.kotlin.jvm' apply false - id 'org.jetbrains.kotlin.multiplatform' apply false + id 'org.jetbrains.kotlin.multiplatform' apply false id "io.github.gradle-nexus.publish-plugin" version "1.1.0" } def multiplatformModules = [ - "orx-camera", - "orx-color", - "orx-compositor", - "orx-compute-graph", - "orx-compute-graph-nodes", - "orx-easing", - "orx-fx", - "orx-gradient-descent", - "orx-image-fit", - "orx-no-clear", - "orx-noise", - "orx-parameters", - "orx-shade-styles", - "orx-shader-phrases", - "orx-shapes", - "orx-quadtree", - "orx-hash-grid" + "orx-camera", + "orx-color", + "orx-compositor", + "orx-compute-graph", + "orx-compute-graph-nodes", + "orx-easing", + "orx-fx", + "orx-gradient-descent", + "orx-image-fit", + "orx-no-clear", + "orx-noise", + "orx-parameters", + "orx-shade-styles", + "orx-shader-phrases", + "orx-shapes", + "orx-quadtree", + "orx-hash-grid" ] @@ -181,15 +183,15 @@ configure(allprojects.findAll { !doNotPublish.contains(it.name) && (multiplatfor licenses { license { name = 'BSD-2-Clause' - url = 'https://github.com/openrndr/openrndr/blob/master/LICENSE' + url = 'https://github.com/openrndr/orx/blob/master/LICENSE' distribution = 'repo' } } } scm { - connection = "scm:git:git@github.com:openrndr/openrndr.git" - developerConnection = "scm:git:ssh://github.com/openrndr/openrndr.git" - url = "https://github.com/openrndr/openrndr" + connection = "scm:git:git@github.com:openrndr/orx.git" + developerConnection = "scm:git:ssh://github.com/openrndr/orx.git" + url = "https://github.com/openrndr/orx" } } } @@ -305,11 +307,6 @@ configure(allprojects.findAll { !doNotPublish.contains(it.name) && !multiplatfor } } - java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 - } - javadoc { options.addBooleanOption 'Xdoclint:none', true } @@ -323,7 +320,7 @@ group = "org.openrndr" nexusPublishing { repositories { sonatype { - username.set( findProperty("ossrhUsername") ?: System.getenv("OSSRH_USERNAME")) + username.set(findProperty("ossrhUsername") ?: System.getenv("OSSRH_USERNAME")) password.set(findProperty("ossrhPassword") ?: System.getenv("OSSRH_PASSWORD")) nexusUrl.set(uri("https://s01.oss.sonatype.org/service/local/")) snapshotRepositoryUrl.set(uri("https://s01.oss.sonatype.org/content/repositories/snapshots")) @@ -331,7 +328,24 @@ nexusPublishing { } } +subprojects { + // Equivalent Kotlin is: tasks.register("dependenciesAll") { ... + tasks.register("dependenciesAll", DependencyReportTask) { + group = "help" + description = "Displays all dependencies, including subprojects." + } + kotlin { + // https://youtrack.jetbrains.com/issue/KT-43095/Add-support-for-Java-Toolchain-to-the-Gradle-plugin#focus=Comments-27-5192573.0-0 + jvmToolchain { toolchain -> + (toolchain as JavaToolchainSpec).languageVersion.set(JavaLanguageVersion.of(libs.versions.jvmTarget.get())) + } + tasks.withType(KotlinCompile).configureEach { + kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() + kotlinOptions.apiVersion = libs.versions.kotlinApi.get() + } + } +} //configure(allprojects.findAll { it.name != "openrndr-demos" }) { diff --git a/gradle.properties b/gradle.properties index af82e006a..24313221f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1,8 @@ -org.gradle.parallel=true \ No newline at end of file +# suppress inspection "UnusedProperty" for whole file + +org.gradle.parallel=true +# Enable compatibility with non-hierarchical projects +# https://kotlinlang.org/docs/multiplatform-hierarchy.html#for-library-authors +kotlin.mpp.enableCompatibilityMetadataVariant=true +# https://kotlinlang.org/docs/gradle.html#check-for-jvm-target-compatibility-of-related-compile-tasks +kotlin.jvm.target.validation.mode=error \ No newline at end of file diff --git a/orx-camera/build.gradle.kts b/orx-camera/build.gradle.kts index 0f857ba25..803e4b04c 100644 --- a/orx-camera/build.gradle.kts +++ b/orx-camera/build.gradle.kts @@ -24,10 +24,6 @@ kotlin { } } } - compilations.all { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() - kotlinOptions.apiVersion = libs.versions.kotlinApi.get() - } testRuns["test"].executionTask.configure { useJUnitPlatform() } diff --git a/orx-color/build.gradle.kts b/orx-color/build.gradle.kts index 0affa855e..453e10354 100644 --- a/orx-color/build.gradle.kts +++ b/orx-color/build.gradle.kts @@ -26,10 +26,6 @@ kotlin { collectScreenshots { } } } - compilations.all { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() - kotlinOptions.apiVersion = libs.versions.kotlinApi.get() - } testRuns["test"].executionTask.configure { useJUnitPlatform() } diff --git a/orx-compositor/build.gradle.kts b/orx-compositor/build.gradle.kts index 1455ae554..765c21875 100644 --- a/orx-compositor/build.gradle.kts +++ b/orx-compositor/build.gradle.kts @@ -25,10 +25,6 @@ kotlin { } } } - compilations.all { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() - kotlinOptions.apiVersion = libs.versions.kotlinApi.get() - } testRuns["test"].executionTask.configure { useJUnitPlatform() } diff --git a/orx-compute-graph-nodes/build.gradle.kts b/orx-compute-graph-nodes/build.gradle.kts index 5aa3a4893..4f284e745 100644 --- a/orx-compute-graph-nodes/build.gradle.kts +++ b/orx-compute-graph-nodes/build.gradle.kts @@ -23,10 +23,6 @@ kotlin { } } } - compilations.all { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() - kotlinOptions.apiVersion = libs.versions.kotlinApi.get() - } testRuns["test"].executionTask.configure { useJUnitPlatform() } diff --git a/orx-compute-graph/build.gradle.kts b/orx-compute-graph/build.gradle.kts index ff3b29219..d0092dacc 100644 --- a/orx-compute-graph/build.gradle.kts +++ b/orx-compute-graph/build.gradle.kts @@ -1,5 +1,3 @@ -import EmbedShadersTask - plugins { kotlin("multiplatform") kotlin("plugin.serialization") @@ -22,10 +20,6 @@ kotlin { } } } - compilations.all { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() - kotlinOptions.apiVersion = libs.versions.kotlinApi.get() - } testRuns["test"].executionTask.configure { useJUnitPlatform() } diff --git a/orx-easing/build.gradle.kts b/orx-easing/build.gradle.kts index f62dbf731..ab73d194a 100644 --- a/orx-easing/build.gradle.kts +++ b/orx-easing/build.gradle.kts @@ -25,10 +25,6 @@ kotlin { } } } - compilations.all { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() - kotlinOptions.apiVersion = libs.versions.kotlinApi.get() - } testRuns["test"].executionTask.configure { useJUnitPlatform() } diff --git a/orx-fx/build.gradle.kts b/orx-fx/build.gradle.kts index 05f22530f..6a966af9a 100644 --- a/orx-fx/build.gradle.kts +++ b/orx-fx/build.gradle.kts @@ -34,10 +34,6 @@ kotlin { } } } - compilations.all { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() - kotlinOptions.apiVersion = libs.versions.kotlinApi.get() - } testRuns["test"].executionTask.configure { useJUnitPlatform() } diff --git a/orx-gradient-descent/build.gradle.kts b/orx-gradient-descent/build.gradle.kts index 295e875c3..bba3e7b83 100644 --- a/orx-gradient-descent/build.gradle.kts +++ b/orx-gradient-descent/build.gradle.kts @@ -20,10 +20,6 @@ kotlin { } } } - compilations.all { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() - kotlinOptions.apiVersion = libs.versions.kotlinApi.get() - } testRuns["test"].executionTask.configure { useJUnitPlatform() } diff --git a/orx-hash-grid/build.gradle.kts b/orx-hash-grid/build.gradle.kts index 295e875c3..bba3e7b83 100644 --- a/orx-hash-grid/build.gradle.kts +++ b/orx-hash-grid/build.gradle.kts @@ -20,10 +20,6 @@ kotlin { } } } - compilations.all { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() - kotlinOptions.apiVersion = libs.versions.kotlinApi.get() - } testRuns["test"].executionTask.configure { useJUnitPlatform() } diff --git a/orx-image-fit/build.gradle.kts b/orx-image-fit/build.gradle.kts index 295e875c3..bba3e7b83 100644 --- a/orx-image-fit/build.gradle.kts +++ b/orx-image-fit/build.gradle.kts @@ -20,10 +20,6 @@ kotlin { } } } - compilations.all { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() - kotlinOptions.apiVersion = libs.versions.kotlinApi.get() - } testRuns["test"].executionTask.configure { useJUnitPlatform() } diff --git a/orx-jvm/orx-tensorflow/build.gradle b/orx-jvm/orx-tensorflow/build.gradle index 1219e79e2..dae3fbfdd 100644 --- a/orx-jvm/orx-tensorflow/build.gradle +++ b/orx-jvm/orx-tensorflow/build.gradle @@ -1,7 +1,3 @@ -java { - sourceCompatibility = libs.versions.jvmTarget.get() - targetCompatibility = libs.versions.jvmTarget.get() -} sourceSets { demo { java { @@ -19,16 +15,7 @@ sourceSets { } } -compileWrapgenKotlin { - sourceCompatibility = libs.versions.jvmTarget.get() - targetCompatibility = libs.versions.jvmTarget.get() - - kotlinOptions { - jvmTarget = libs.versions.jvmTarget.get() - apiVersion = libs.versions.kotlinApi.get() - languageVersion = libs.versions.kotlinLanguage.get() - } -} +compileWrapgenKotlin {} dependencies { implementation(libs.gson) diff --git a/orx-no-clear/build.gradle.kts b/orx-no-clear/build.gradle.kts index 05eceedb1..47695c038 100644 --- a/orx-no-clear/build.gradle.kts +++ b/orx-no-clear/build.gradle.kts @@ -20,10 +20,6 @@ kotlin { } } } - compilations.all { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() - kotlinOptions.apiVersion = libs.versions.kotlinApi.get() - } testRuns["test"].executionTask.configure { useJUnitPlatform() } diff --git a/orx-noise/build.gradle.kts b/orx-noise/build.gradle.kts index df2b62755..e49239f6c 100644 --- a/orx-noise/build.gradle.kts +++ b/orx-noise/build.gradle.kts @@ -24,10 +24,6 @@ kotlin { collectScreenshots { } } } - compilations.all { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() - kotlinOptions.apiVersion = libs.versions.kotlinApi.get() - } testRuns["test"].executionTask.configure { useJUnitPlatform() } diff --git a/orx-parameters/build.gradle.kts b/orx-parameters/build.gradle.kts index a3c370ba4..fc362a8cf 100644 --- a/orx-parameters/build.gradle.kts +++ b/orx-parameters/build.gradle.kts @@ -5,10 +5,6 @@ plugins { kotlin { jvm { - compilations.all { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() - kotlinOptions.apiVersion = libs.versions.kotlinApi.get() - } testRuns["test"].executionTask.configure { useJUnitPlatform() } diff --git a/orx-quadtree/build.gradle.kts b/orx-quadtree/build.gradle.kts index 33135a860..ede9c8d09 100644 --- a/orx-quadtree/build.gradle.kts +++ b/orx-quadtree/build.gradle.kts @@ -26,10 +26,6 @@ kotlin { } } } - compilations.all { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() - kotlinOptions.apiVersion = libs.versions.kotlinApi.get() - } testRuns["test"].executionTask.configure { useJUnitPlatform() } diff --git a/orx-shade-styles/build.gradle.kts b/orx-shade-styles/build.gradle.kts index eef815362..fbae726db 100644 --- a/orx-shade-styles/build.gradle.kts +++ b/orx-shade-styles/build.gradle.kts @@ -23,10 +23,6 @@ kotlin { } } } - compilations.all { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() - kotlinOptions.apiVersion = libs.versions.kotlinApi.get() - } testRuns["test"].executionTask.configure { useJUnitPlatform() } diff --git a/orx-shader-phrases/build.gradle.kts b/orx-shader-phrases/build.gradle.kts index 7ab33702b..378ae9cc9 100644 --- a/orx-shader-phrases/build.gradle.kts +++ b/orx-shader-phrases/build.gradle.kts @@ -26,10 +26,6 @@ kotlin { } } } - compilations.all { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() - kotlinOptions.apiVersion = libs.versions.kotlinApi.get() - } testRuns["test"].executionTask.configure { useJUnitPlatform() } diff --git a/orx-shapes/build.gradle.kts b/orx-shapes/build.gradle.kts index 8446c3eb7..8cdcec2dc 100644 --- a/orx-shapes/build.gradle.kts +++ b/orx-shapes/build.gradle.kts @@ -27,10 +27,6 @@ kotlin { } } } - compilations.all { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() - kotlinOptions.apiVersion = libs.versions.kotlinApi.get() - } testRuns["test"].executionTask.configure { useJUnitPlatform() } diff --git a/settings.gradle.kts b/settings.gradle.kts index 2f633ad3d..c895298de 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -23,7 +23,7 @@ dependencyResolutionManagement { version("kotlinApi", "1.6") version("kotlinLanguage", "1.6") version("kotlin", "1.6.21") - version("jvmTarget", "1.8") + version("jvmTarget", "11") version("kotlinxCoroutines", "1.6.4") version("kotlinLogging", "2.1.23") version("kotlinxSerialization", "1.3.2") @@ -39,7 +39,7 @@ dependencyResolutionManagement { version("gson", "2.9.0") version("antlr", "4.10.1") version("tensorflow", "0.4.0") - version("jarchivelib", "1.0.0") + version("jarchivelib", "1.2.0") version("logbackClassic", "1.2.11") version("minim", "2.2.2") version("snakeyaml", "1.30")