Reduce duplication in orx build scripts. (#240)

Co-authored-by: hamoid <abe@hamoid.com>
This commit is contained in:
Vechro
2022-06-19 09:06:16 +03:00
committed by GitHub
parent 88719292e9
commit 9f7a4899fa
74 changed files with 646 additions and 812 deletions

View File

@@ -1,3 +1,4 @@
// root build.gradle
buildscript { buildscript {
repositories { repositories {
mavenCentral() mavenCentral()
@@ -12,7 +13,6 @@ plugins {
// remember to update all the versions here when upgrading kotlin version // remember to update all the versions here when upgrading kotlin version
id 'org.jetbrains.kotlin.jvm' apply false id 'org.jetbrains.kotlin.jvm' apply false
id 'org.jetbrains.kotlin.multiplatform' apply false id 'org.jetbrains.kotlin.multiplatform' apply false
id 'org.jetbrains.kotlin.plugin.serialization' version '1.6.20' apply false
id "io.github.gradle-nexus.publish-plugin" version "1.1.0" id "io.github.gradle-nexus.publish-plugin" version "1.1.0"
} }
@@ -39,44 +39,12 @@ def multiplatformModules = [
def doNotPublish = ["openrndr-demos"] def doNotPublish = ["openrndr-demos"]
project.ext {
kotlinApiVersion = '1.6'
kotlinLanguageVersion = '1.6'
kotlinVersion = '1.6.20'
kotlinxCoroutinesVersion = '1.6.0'
kotlinLoggingVersion = '2.1.21'
kotlinxSerializationVersion = '1.3.2'
spekVersion = '2.0.15'
kluentVersion = '1.68'
jsoupVersion = '1.14.3'
kotestVersion = '5.2.1'
junitJupiterVersion = '5.8.2'
slf4jVersion = '1.7.36'
}
apply plugin: 'org.jetbrains.dokka' apply plugin: 'org.jetbrains.dokka'
ext.isReleaseVersion = !version.endsWith("SNAPSHOT") ext.isReleaseVersion = !version.endsWith("SNAPSHOT")
def openrndrUseSnapshot = isReleaseVersion def openrndrUseSnapshot = isReleaseVersion
project.ext {
openrndrVersion = ((findProperty("OPENRNDR.version")?:System.getenv("OPENRNDR_VERSION")) ?.replace("v","")) ?: "0.5.1-SNAPSHOT"
jvmTarget = "1.8"
kotlinVersion = "1.6.20"
kotlinApiVersion = "1.6"
spekVersion = "2.0.15"
libfreenectVersion = "0.5.7-1.5.7"
librealsense2Version = "2.50.0-1.5.7"
gsonVersion = "2.9.0"
antlrVersion = "4.9.3"
tensorflowVersion = "0.4.0"
mklDnnVersion = "0.21.5-1.5.7"
}
allprojects { allprojects {
group 'org.openrndr.extra' group 'org.openrndr.extra'
repositories { repositories {
@@ -91,18 +59,6 @@ allprojects {
} }
switch (org.gradle.internal.os.OperatingSystem.current()) {
case org.gradle.internal.os.OperatingSystem.WINDOWS:
project.ext.openrndrOS = "windows"
break
case org.gradle.internal.os.OperatingSystem.LINUX:
project.ext.openrndrOS = "linux-x64"
break
case org.gradle.internal.os.OperatingSystem.MAC_OS:
project.ext.openrndrOS = "macos"
break
}
dokka { dokka {
moduleName = "$rootProject.name" moduleName = "$rootProject.name"
outputDirectory = "$buildDir/docs" outputDirectory = "$buildDir/docs"
@@ -192,6 +148,7 @@ task buildMainReadme {
} }
} }
// publishable && multiplatform
configure(allprojects.findAll { !doNotPublish.contains(it.name) && (multiplatformModules.contains(it.name)) }) { configure(allprojects.findAll { !doNotPublish.contains(it.name) && (multiplatformModules.contains(it.name)) }) {
apply plugin: 'maven-publish' apply plugin: 'maven-publish'
apply plugin: 'signing' apply plugin: 'signing'
@@ -258,6 +215,7 @@ configure(allprojects.findAll { !doNotPublish.contains(it.name) && (multiplatfor
} }
// publishable && JVM only
configure(allprojects.findAll { !doNotPublish.contains(it.name) && !multiplatformModules.contains(it.name) }) { configure(allprojects.findAll { !doNotPublish.contains(it.name) && !multiplatformModules.contains(it.name) }) {
// apply plugin: 'idea' // apply plugin: 'idea'
apply plugin: 'java' apply plugin: 'java'
@@ -328,18 +286,16 @@ configure(allprojects.findAll { !doNotPublish.contains(it.name) && !multiplatfor
} }
dependencies { dependencies {
implementation 'io.github.microutils:kotlin-logging:2.1.10' implementation libs.kotlin.logging
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinxCoroutinesVersion" implementation libs.kotlin.coroutines
implementation libs.kotlin.stdlib
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion" implementation libs.openrndr.application
implementation "org.openrndr:openrndr-application:$openrndrVersion" implementation libs.openrndr.math
implementation "org.openrndr:openrndr-math:$openrndrVersion" testImplementation libs.spek.dsl
testImplementation libs.kluent
testImplementation "org.spekframework.spek2:spek-dsl-jvm:$spekVersion" testImplementation libs.kotlin.test
testImplementation "org.amshove.kluent:kluent:$kluentVersion" testRuntimeOnly libs.spek.junit5
testImplementation "org.jetbrains.kotlin:kotlin-test:$kotlinVersion" testRuntimeOnly libs.kotlin.reflect
testRuntimeOnly "org.spekframework.spek2:spek-runner-junit5:$spekVersion"
testRuntimeOnly "org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion"
} }

View File

@@ -1,4 +1,3 @@
plugins { plugins {
`kotlin-dsl` `kotlin-dsl`
} }
@@ -9,9 +8,7 @@ sourceSets {
srcDir("src/preload/kotlin") srcDir("src/preload/kotlin")
} }
} }
val main by getting { val main by getting
}
} }
repositories { repositories {
@@ -20,12 +17,14 @@ repositories {
gradlePluginPortal() gradlePluginPortal()
} }
val openrndrVersion =
val openrndrVersion = ((findProperty("OPENRNDR.version")?.toString())?:System.getenv("OPENRNDR_VERSION"))?.replace("v", "") ?: "0.5.1-SNAPSHOT" (findProperty("OPENRNDR.version")?.toString() ?: System.getenv("OPENRNDR_VERSION"))?.replace("v", "")
?: "0.5.1-SNAPSHOT"
dependencies { dependencies {
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.20") implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.20")
val preloadImplementation by configurations.getting { } implementation("org.jetbrains.kotlin:kotlin-serialization:1.6.20")
val preloadImplementation by configurations.getting
preloadImplementation("org.openrndr:openrndr-application:$openrndrVersion") preloadImplementation("org.openrndr:openrndr-application:$openrndrVersion")
preloadImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") preloadImplementation("org.openrndr:openrndr-extensions:$openrndrVersion")
} }

View File

@@ -17,14 +17,15 @@ dependencies {
demoImplementation(project(":orx-noise")) demoImplementation(project(":orx-noise"))
demoImplementation(project(":orx-jvm:orx-gui")) demoImplementation(project(":orx-jvm:orx-gui"))
demoImplementation(project(":orx-shader-phrases")) demoImplementation(project(":orx-shader-phrases"))
demoImplementation("org.slf4j:slf4j-simple:1.7.30") demoImplementation(libs.slf4j.simple)
demoImplementation(libs.openrndr.application)
demoImplementation(libs.openrndr.extensions)
demoImplementation(libs.openrndr.ffmpeg)
demoImplementation(libs.openrndr.svg)
demoRuntimeOnly(libs.openrndr.ffmpeg.natives)
demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion")
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion")
demoImplementation("org.openrndr:openrndr-ffmpeg:$openrndrVersion")
demoImplementation("org.openrndr:openrndr-svg:$openrndrVersion")
demoRuntimeOnly("org.openrndr:openrndr-ffmpeg-natives-$openrndrOS:$openrndrVersion")
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion")
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion")
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -5,18 +5,6 @@ plugins {
kotlin("plugin.serialization") kotlin("plugin.serialization")
} }
val kotlinxSerializationVersion: String by rootProject.extra
val kotestVersion: String by rootProject.extra
val junitJupiterVersion: String by rootProject.extra
val jvmTarget: String by rootProject.extra
val kotlinApiVersion: String by rootProject.extra
val kotlinVersion: String by rootProject.extra
val kotlinLoggingVersion: String by rootProject.extra
val kluentVersion: String by rootProject.extra
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val spekVersion: String by rootProject.extra
kotlin { kotlin {
jvm { jvm {
compilations { compilations {
@@ -25,18 +13,20 @@ kotlin {
kotlin.srcDir("src/demo") kotlin.srcDir("src/demo")
dependencies { dependencies {
implementation(project(":orx-camera")) implementation(project(":orx-camera"))
implementation("org.openrndr:openrndr-application:$openrndrVersion")
implementation("org.openrndr:openrndr-extensions:$openrndrVersion") implementation(libs.openrndr.application)
runtimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") implementation(libs.openrndr.extensions)
runtimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") runtimeOnly(libs.openrndr.gl3)
runtimeOnly(libs.openrndr.gl3.natives)
implementation(compilations["main"]!!.output.allOutputs) implementation(compilations["main"]!!.output.allOutputs)
} }
} }
} }
} }
compilations.all { compilations.all {
kotlinOptions.jvmTarget = jvmTarget kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
kotlinOptions.apiVersion = kotlinApiVersion kotlinOptions.apiVersion = libs.versions.kotlinApi.get()
} }
testRuns["test"].executionTask.configure { testRuns["test"].executionTask.configure {
useJUnitPlatform() useJUnitPlatform()
@@ -53,21 +43,23 @@ kotlin {
dependencies { dependencies {
implementation(project(":orx-parameters")) implementation(project(":orx-parameters"))
implementation(project(":orx-shader-phrases")) implementation(project(":orx-shader-phrases"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlinxSerializationVersion")
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.kotlin.serialization.core)
implementation("org.openrndr:openrndr-draw:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-filter:$openrndrVersion") implementation(libs.openrndr.draw)
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation(libs.openrndr.filter)
implementation("io.github.microutils:kotlin-logging:$kotlinLoggingVersion") implementation(libs.kotlin.reflect)
implementation(libs.kotlin.logging)
} }
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonTest by getting { val commonTest by getting {
dependencies { dependencies {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
implementation("io.kotest:kotest-assertions-core:$kotestVersion") implementation(libs.kotest)
} }
} }
@@ -77,11 +69,10 @@ kotlin {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation(kotlin("test-junit5")) implementation(kotlin("test-junit5"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
runtimeOnly("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion") runtimeOnly(libs.bundles.jupiter)
runtimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion") implementation(libs.spek.dsl)
implementation("org.spekframework.spek2:spek-dsl-jvm:$spekVersion") implementation(libs.kluent)
implementation("org.amshove.kluent:kluent:$kluentVersion")
} }
} }

View File

@@ -5,18 +5,6 @@ plugins {
kotlin("plugin.serialization") kotlin("plugin.serialization")
} }
val kotlinxSerializationVersion: String by rootProject.extra
val kotestVersion: String by rootProject.extra
val junitJupiterVersion: String by rootProject.extra
val jvmTarget: String by rootProject.extra
val kotlinApiVersion: String by rootProject.extra
val kotlinVersion: String by rootProject.extra
val kotlinLoggingVersion: String by rootProject.extra
val kluentVersion: String by rootProject.extra
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val spekVersion: String by rootProject.extra
kotlin { kotlin {
jvm { jvm {
compilations { compilations {
@@ -29,19 +17,18 @@ kotlin {
implementation(project(":orx-mesh-generators")) implementation(project(":orx-mesh-generators"))
implementation(project(":orx-color")) implementation(project(":orx-color"))
implementation(project(":orx-jvm:orx-gui")) implementation(project(":orx-jvm:orx-gui"))
implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.extensions)
implementation("org.openrndr:openrndr-extensions:$openrndrVersion") runtimeOnly(libs.openrndr.gl3)
runtimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") runtimeOnly(libs.openrndr.gl3.natives)
runtimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion")
implementation(compilations["main"]!!.output.allOutputs) implementation(compilations["main"]!!.output.allOutputs)
} }
collectScreenshots { } collectScreenshots { }
} }
} }
compilations.all { compilations.all {
kotlinOptions.jvmTarget = jvmTarget kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
kotlinOptions.apiVersion = kotlinApiVersion kotlinOptions.apiVersion = libs.versions.kotlinApi.get()
} }
testRuns["test"].executionTask.configure { testRuns["test"].executionTask.configure {
useJUnitPlatform() useJUnitPlatform()
@@ -58,12 +45,12 @@ kotlin {
dependencies { dependencies {
implementation(project(":orx-parameters")) implementation(project(":orx-parameters"))
implementation(project(":orx-shader-phrases")) implementation(project(":orx-shader-phrases"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.core)
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-draw:$openrndrVersion") implementation(libs.openrndr.draw)
implementation("org.openrndr:openrndr-filter:$openrndrVersion") implementation(libs.openrndr.filter)
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation(libs.kotlin.reflect)
implementation("io.github.microutils:kotlin-logging:$kotlinLoggingVersion") implementation(libs.kotlin.logging)
} }
} }
@@ -72,13 +59,12 @@ kotlin {
dependencies { dependencies {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
implementation("io.kotest:kotest-assertions-core:$kotestVersion") implementation(libs.kotest)
} }
} }
val jvmMain by getting {} val jvmMain by getting
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val jvmTest by getting { val jvmTest by getting {
@@ -86,11 +72,10 @@ kotlin {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation(kotlin("test-junit5")) implementation(kotlin("test-junit5"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
runtimeOnly("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion") runtimeOnly(libs.bundles.jupiter)
runtimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion") implementation(libs.spek.dsl)
implementation("org.spekframework.spek2:spek-dsl-jvm:$spekVersion") implementation(libs.kluent)
implementation("org.amshove.kluent:kluent:$kluentVersion")
} }
} }

View File

@@ -5,18 +5,6 @@ plugins {
kotlin("plugin.serialization") kotlin("plugin.serialization")
} }
val kotlinxSerializationVersion: String by rootProject.extra
val kotestVersion: String by rootProject.extra
val junitJupiterVersion: String by rootProject.extra
val jvmTarget: String by rootProject.extra
val kotlinApiVersion: String by rootProject.extra
val kotlinVersion: String by rootProject.extra
val kotlinLoggingVersion: String by rootProject.extra
val kluentVersion: String by rootProject.extra
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val spekVersion: String by rootProject.extra
kotlin { kotlin {
jvm { jvm {
compilations { compilations {
@@ -26,10 +14,10 @@ kotlin {
dependencies { dependencies {
implementation(project(":orx-fx")) implementation(project(":orx-fx"))
implementation(project(":orx-camera")) implementation(project(":orx-camera"))
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-extensions:$openrndrVersion") implementation(libs.openrndr.extensions)
runtimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") runtimeOnly(libs.openrndr.gl3)
runtimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") runtimeOnly(libs.openrndr.gl3.natives)
implementation(compilations["main"]!!.output.allOutputs) implementation(compilations["main"]!!.output.allOutputs)
} }
} }
@@ -38,8 +26,8 @@ kotlin {
} }
} }
compilations.all { compilations.all {
kotlinOptions.jvmTarget = jvmTarget kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
kotlinOptions.apiVersion = kotlinApiVersion kotlinOptions.apiVersion = libs.versions.kotlinApi.get()
} }
testRuns["test"].executionTask.configure { testRuns["test"].executionTask.configure {
useJUnitPlatform() useJUnitPlatform()
@@ -57,21 +45,24 @@ kotlin {
implementation(project(":orx-fx")) implementation(project(":orx-fx"))
implementation(project(":orx-parameters")) implementation(project(":orx-parameters"))
implementation(project(":orx-shader-phrases")) implementation(project(":orx-shader-phrases"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlinxSerializationVersion")
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.kotlin.serialization.core)
implementation("org.openrndr:openrndr-draw:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-filter:$openrndrVersion") implementation(libs.openrndr.draw)
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation(libs.openrndr.filter)
implementation("io.github.microutils:kotlin-logging:$kotlinLoggingVersion") implementation(libs.kotlin.reflect)
implementation(libs.kotlin.logging)
} }
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonTest by getting { val commonTest by getting {
dependencies { dependencies {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion")
implementation("io.kotest:kotest-assertions-core:$kotestVersion") implementation(libs.kotlin.serialization.json)
implementation(libs.kotest)
} }
} }
@@ -81,11 +72,10 @@ kotlin {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation(kotlin("test-junit5")) implementation(kotlin("test-junit5"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
runtimeOnly("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion") runtimeOnly(libs.bundles.jupiter)
runtimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion") implementation(libs.spek.dsl)
implementation("org.spekframework.spek2:spek-dsl-jvm:$spekVersion") implementation(libs.kluent)
implementation("org.amshove.kluent:kluent:$kluentVersion")
} }
} }

View File

@@ -23,6 +23,7 @@ fun RenderTarget.deepDestroy() {
is CubemapAttachment -> it.cubemap.destroy() is CubemapAttachment -> it.cubemap.destroy()
is ArrayTextureAttachment -> it.arrayTexture.destroy() is ArrayTextureAttachment -> it.arrayTexture.destroy()
is ArrayCubemapAttachment -> it.arrayCubemap.destroy() is ArrayCubemapAttachment -> it.arrayCubemap.destroy()
else -> {}
} }
} }
dbcopy?.destroy() dbcopy?.destroy()

View File

@@ -5,18 +5,6 @@ plugins {
kotlin("plugin.serialization") kotlin("plugin.serialization")
} }
val kotlinxSerializationVersion: String by rootProject.extra
val kotestVersion: String by rootProject.extra
val junitJupiterVersion: String by rootProject.extra
val jvmTarget: String by rootProject.extra
val kotlinApiVersion: String by rootProject.extra
val kotlinVersion: String by rootProject.extra
val kotlinLoggingVersion: String by rootProject.extra
val kluentVersion: String by rootProject.extra
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val spekVersion: String by rootProject.extra
kotlin { kotlin {
jvm { jvm {
compilations { compilations {
@@ -25,18 +13,19 @@ kotlin {
kotlin.srcDir("src/demo") kotlin.srcDir("src/demo")
dependencies { dependencies {
implementation(project(":orx-camera")) implementation(project(":orx-camera"))
implementation("org.openrndr:openrndr-application:$openrndrVersion")
implementation("org.openrndr:openrndr-extensions:$openrndrVersion") implementation(libs.openrndr.application)
runtimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") implementation(libs.openrndr.extensions)
runtimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") runtimeOnly(libs.openrndr.gl3)
runtimeOnly(libs.openrndr.gl3.natives)
implementation(compilations["main"]!!.output.allOutputs) implementation(compilations["main"]!!.output.allOutputs)
} }
} }
} }
} }
compilations.all { compilations.all {
kotlinOptions.jvmTarget = jvmTarget kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
kotlinOptions.apiVersion = kotlinApiVersion kotlinOptions.apiVersion = libs.versions.kotlinApi.get()
} }
testRuns["test"].executionTask.configure { testRuns["test"].executionTask.configure {
useJUnitPlatform() useJUnitPlatform()
@@ -55,21 +44,22 @@ kotlin {
implementation(project(":orx-shader-phrases")) implementation(project(":orx-shader-phrases"))
implementation(project(":orx-compute-graph")) implementation(project(":orx-compute-graph"))
implementation(project(":orx-image-fit")) implementation(project(":orx-image-fit"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.core)
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-draw:$openrndrVersion") implementation(libs.openrndr.draw)
implementation("org.openrndr:openrndr-filter:$openrndrVersion") implementation(libs.openrndr.filter)
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation(libs.kotlin.reflect)
implementation("io.github.microutils:kotlin-logging:$kotlinLoggingVersion") implementation(libs.kotlin.logging)
} }
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonTest by getting { val commonTest by getting {
dependencies { dependencies {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
implementation("io.kotest:kotest-assertions-core:$kotestVersion") implementation(libs.kotest)
} }
} }
@@ -79,11 +69,10 @@ kotlin {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation(kotlin("test-junit5")) implementation(kotlin("test-junit5"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
runtimeOnly("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion") runtimeOnly(libs.bundles.jupiter)
runtimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion") implementation(libs.spek.dsl)
implementation("org.spekframework.spek2:spek-dsl-jvm:$spekVersion") implementation(libs.kluent)
implementation("org.amshove.kluent:kluent:$kluentVersion")
} }
} }

View File

@@ -5,19 +5,6 @@ plugins {
kotlin("plugin.serialization") kotlin("plugin.serialization")
} }
val kotlinxSerializationVersion: String by rootProject.extra
val kotlinxCoroutinesVersion: String by rootProject.extra
val kotestVersion: String by rootProject.extra
val junitJupiterVersion: String by rootProject.extra
val jvmTarget: String by rootProject.extra
val kotlinApiVersion: String by rootProject.extra
val kotlinVersion: String by rootProject.extra
val kotlinLoggingVersion: String by rootProject.extra
val kluentVersion: String by rootProject.extra
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val spekVersion: String by rootProject.extra
kotlin { kotlin {
jvm { jvm {
compilations { compilations {
@@ -26,18 +13,18 @@ kotlin {
kotlin.srcDir("src/demo") kotlin.srcDir("src/demo")
dependencies { dependencies {
implementation(project(":orx-camera")) implementation(project(":orx-camera"))
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-extensions:$openrndrVersion") implementation(libs.openrndr.extensions)
runtimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") runtimeOnly(libs.openrndr.gl3)
runtimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") runtimeOnly(libs.openrndr.gl3.natives)
implementation(compilations["main"]!!.output.allOutputs) implementation(compilations["main"]!!.output.allOutputs)
} }
} }
} }
} }
compilations.all { compilations.all {
kotlinOptions.jvmTarget = jvmTarget kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
kotlinOptions.apiVersion = kotlinApiVersion kotlinOptions.apiVersion = libs.versions.kotlinApi.get()
} }
testRuns["test"].executionTask.configure { testRuns["test"].executionTask.configure {
useJUnitPlatform() useJUnitPlatform()
@@ -52,18 +39,20 @@ kotlin {
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonMain by getting { val commonMain by getting {
dependencies { dependencies {
api("org.openrndr:openrndr-event:$openrndrVersion") api(libs.openrndr.event)
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinxCoroutinesVersion") implementation(libs.kotlin.coroutines)
implementation("io.github.microutils:kotlin-logging:$kotlinLoggingVersion") implementation(libs.kotlin.logging)
} }
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonTest by getting { val commonTest by getting {
dependencies { dependencies {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion")
implementation("io.kotest:kotest-assertions-core:$kotestVersion") implementation(libs.kotlin.serialization.json)
implementation(libs.kotest)
} }
} }
@@ -73,11 +62,10 @@ kotlin {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation(kotlin("test-junit5")) implementation(kotlin("test-junit5"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
runtimeOnly("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion") runtimeOnly(libs.bundles.jupiter)
runtimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion") implementation(libs.spek.dsl)
implementation("org.spekframework.spek2:spek-dsl-jvm:$spekVersion") implementation(libs.kluent)
implementation("org.amshove.kluent:kluent:$kluentVersion")
} }
} }

View File

@@ -84,6 +84,7 @@ class ComputeGraph {
* *
* Eventually we likely want to separate compute-graph definitions from the compute-graph processor. * Eventually we likely want to separate compute-graph definitions from the compute-graph processor.
*/ */
@OptIn(DelicateCoroutinesApi::class)
fun dispatch(context: CoroutineDispatcher, delayBeforeCompute: Long = 500) { fun dispatch(context: CoroutineDispatcher, delayBeforeCompute: Long = 500) {
var firstRodeo = true var firstRodeo = true
GlobalScope.launch(context, CoroutineStart.DEFAULT) { GlobalScope.launch(context, CoroutineStart.DEFAULT) {

View File

@@ -5,18 +5,6 @@ plugins {
kotlin("plugin.serialization") kotlin("plugin.serialization")
} }
val kotlinxSerializationVersion: String by rootProject.extra
val kotestVersion: String by rootProject.extra
val junitJupiterVersion: String by rootProject.extra
val jvmTarget: String by rootProject.extra
val kotlinApiVersion: String by rootProject.extra
val kotlinVersion: String by rootProject.extra
val kotlinLoggingVersion: String by rootProject.extra
val kluentVersion: String by rootProject.extra
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val spekVersion: String by rootProject.extra
kotlin { kotlin {
jvm { jvm {
compilations { compilations {
@@ -26,10 +14,10 @@ kotlin {
dependencies { dependencies {
implementation(project(":orx-camera")) implementation(project(":orx-camera"))
implementation(project(":orx-shapes")) implementation(project(":orx-shapes"))
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-extensions:$openrndrVersion") implementation(libs.openrndr.extensions)
runtimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") runtimeOnly(libs.openrndr.gl3)
runtimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") runtimeOnly(libs.openrndr.gl3.natives)
implementation(compilations["main"]!!.output.allOutputs) implementation(compilations["main"]!!.output.allOutputs)
} }
} }
@@ -38,8 +26,8 @@ kotlin {
} }
} }
compilations.all { compilations.all {
kotlinOptions.jvmTarget = jvmTarget kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
kotlinOptions.apiVersion = kotlinApiVersion kotlinOptions.apiVersion = libs.versions.kotlinApi.get()
} }
testRuns["test"].executionTask.configure { testRuns["test"].executionTask.configure {
useJUnitPlatform() useJUnitPlatform()
@@ -55,21 +43,22 @@ kotlin {
val commonMain by getting { val commonMain by getting {
dependencies { dependencies {
implementation(project(":orx-parameters")) implementation(project(":orx-parameters"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.core)
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-draw:$openrndrVersion") implementation(libs.openrndr.draw)
implementation("org.openrndr:openrndr-filter:$openrndrVersion") implementation(libs.openrndr.filter)
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation(libs.kotlin.reflect)
implementation("io.github.microutils:kotlin-logging:$kotlinLoggingVersion") implementation(libs.kotlin.logging)
} }
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonTest by getting { val commonTest by getting {
dependencies { dependencies {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
implementation("io.kotest:kotest-assertions-core:$kotestVersion") implementation(libs.kotest)
} }
} }
@@ -79,11 +68,10 @@ kotlin {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation(kotlin("test-junit5")) implementation(kotlin("test-junit5"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
runtimeOnly("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion") runtimeOnly(libs.bundles.jupiter)
runtimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion") implementation(libs.spek.dsl)
implementation("org.spekframework.spek2:spek-dsl-jvm:$spekVersion") implementation(libs.kluent)
implementation("org.amshove.kluent:kluent:$kluentVersion")
} }
} }

View File

@@ -5,18 +5,6 @@ plugins {
kotlin("plugin.serialization") kotlin("plugin.serialization")
} }
val kotlinxSerializationVersion: String by rootProject.extra
val kotestVersion: String by rootProject.extra
val junitJupiterVersion: String by rootProject.extra
val jvmTarget: String by rootProject.extra
val kotlinApiVersion: String by rootProject.extra
val kotlinVersion: String by rootProject.extra
val kotlinLoggingVersion: String by rootProject.extra
val kluentVersion: String by rootProject.extra
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val spekVersion: String by rootProject.extra
val embedShaders = tasks.register<EmbedShadersTask>("embedShaders") { val embedShaders = tasks.register<EmbedShadersTask>("embedShaders") {
inputDir.set(file("$projectDir/src/shaders/glsl")) inputDir.set(file("$projectDir/src/shaders/glsl"))
outputDir.set(file("$buildDir/generated/shaderKotlin")) outputDir.set(file("$buildDir/generated/shaderKotlin"))
@@ -35,10 +23,10 @@ kotlin {
dependencies { dependencies {
implementation(project(":orx-color")) implementation(project(":orx-color"))
implementation(project(":orx-camera")) implementation(project(":orx-camera"))
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-extensions:$openrndrVersion") implementation(libs.openrndr.extensions)
runtimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") runtimeOnly(libs.openrndr.gl3)
runtimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") runtimeOnly(libs.openrndr.gl3.natives)
implementation(compilations["main"]!!.output.allOutputs) implementation(compilations["main"]!!.output.allOutputs)
} }
} }
@@ -47,8 +35,8 @@ kotlin {
} }
} }
compilations.all { compilations.all {
kotlinOptions.jvmTarget = jvmTarget kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
kotlinOptions.apiVersion = kotlinApiVersion kotlinOptions.apiVersion = libs.versions.kotlinApi.get()
} }
testRuns["test"].executionTask.configure { testRuns["test"].executionTask.configure {
useJUnitPlatform() useJUnitPlatform()
@@ -63,18 +51,19 @@ kotlin {
val shaderKotlin by creating { val shaderKotlin by creating {
this.kotlin.srcDir(embedShaders.outputDir) this.kotlin.srcDir(embedShaders.outputDir)
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonMain by getting { val commonMain by getting {
dependencies { dependencies {
implementation(project(":orx-parameters")) implementation(project(":orx-parameters"))
implementation(project(":orx-shader-phrases")) implementation(project(":orx-shader-phrases"))
implementation(project(":orx-color")) implementation(project(":orx-color"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.core)
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-draw:$openrndrVersion") implementation(libs.openrndr.draw)
implementation("org.openrndr:openrndr-filter:$openrndrVersion") implementation(libs.openrndr.filter)
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation(libs.kotlin.reflect)
implementation("io.github.microutils:kotlin-logging:$kotlinLoggingVersion") implementation(libs.kotlin.logging)
api(shaderKotlin.kotlin) api(shaderKotlin.kotlin)
} }
} }
@@ -84,10 +73,11 @@ kotlin {
dependencies { dependencies {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
implementation("io.kotest:kotest-assertions-core:$kotestVersion") implementation(libs.kotest)
} }
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val jvmMain by getting val jvmMain by getting
@@ -97,11 +87,10 @@ kotlin {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation(kotlin("test-junit5")) implementation(kotlin("test-junit5"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
runtimeOnly("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion") runtimeOnly(libs.bundles.jupiter)
runtimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion") implementation(libs.spek.dsl)
implementation("org.spekframework.spek2:spek-dsl-jvm:$spekVersion") implementation(libs.kluent)
implementation("org.amshove.kluent:kluent:$kluentVersion")
} }
} }

View File

@@ -1,5 +1,5 @@
dependencies { dependencies {
implementation "com.google.code.gson:gson:$gsonVersion" implementation libs.gson
implementation "org.rauschig:jarchivelib:1.0.0" implementation "org.rauschig:jarchivelib:1.0.0"
implementation project(":orx-noise") implementation project(":orx-noise")
} }

View File

@@ -3,18 +3,6 @@ plugins {
kotlin("plugin.serialization") kotlin("plugin.serialization")
} }
val kotlinxSerializationVersion: String by rootProject.extra
val kotestVersion: String by rootProject.extra
val junitJupiterVersion: String by rootProject.extra
val jvmTarget: String by rootProject.extra
val kotlinApiVersion: String by rootProject.extra
val kotlinVersion: String by rootProject.extra
val kotlinLoggingVersion: String by rootProject.extra
val kluentVersion: String by rootProject.extra
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val spekVersion: String by rootProject.extra
kotlin { kotlin {
jvm { jvm {
compilations { compilations {
@@ -23,18 +11,18 @@ kotlin {
kotlin.srcDir("src/demo") kotlin.srcDir("src/demo")
dependencies { dependencies {
implementation(project(":orx-camera")) implementation(project(":orx-camera"))
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-extensions:$openrndrVersion") implementation(libs.openrndr.extensions)
runtimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") runtimeOnly(libs.openrndr.gl3)
runtimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") runtimeOnly(libs.openrndr.gl3.natives)
implementation(compilations["main"]!!.output.allOutputs) implementation(compilations["main"]!!.output.allOutputs)
} }
} }
} }
} }
compilations.all { compilations.all {
kotlinOptions.jvmTarget = jvmTarget kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
kotlinOptions.apiVersion = kotlinApiVersion kotlinOptions.apiVersion = libs.versions.kotlinApi.get()
} }
testRuns["test"].executionTask.configure { testRuns["test"].executionTask.configure {
useJUnitPlatform() useJUnitPlatform()
@@ -51,21 +39,22 @@ kotlin {
dependencies { dependencies {
implementation(project(":orx-parameters")) implementation(project(":orx-parameters"))
implementation(project(":orx-shader-phrases")) implementation(project(":orx-shader-phrases"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.core)
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-draw:$openrndrVersion") implementation(libs.openrndr.draw)
implementation("org.openrndr:openrndr-filter:$openrndrVersion") implementation(libs.openrndr.filter)
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation(libs.kotlin.reflect)
implementation("io.github.microutils:kotlin-logging:$kotlinLoggingVersion") implementation(libs.kotlin.logging)
} }
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonTest by getting { val commonTest by getting {
dependencies { dependencies {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
implementation("io.kotest:kotest-assertions-core:$kotestVersion") implementation(libs.kotest)
} }
} }
@@ -75,11 +64,10 @@ kotlin {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation(kotlin("test-junit5")) implementation(kotlin("test-junit5"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
runtimeOnly("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion") runtimeOnly(libs.bundles.jupiter)
runtimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion") implementation(libs.spek.dsl)
implementation("org.spekframework.spek2:spek-dsl-jvm:$spekVersion") implementation(libs.kluent)
implementation("org.amshove.kluent:kluent:$kluentVersion")
} }
} }

View File

@@ -3,18 +3,6 @@ plugins {
kotlin("plugin.serialization") kotlin("plugin.serialization")
} }
val kotlinxSerializationVersion: String by rootProject.extra
val kotestVersion: String by rootProject.extra
val junitJupiterVersion: String by rootProject.extra
val jvmTarget: String by rootProject.extra
val kotlinApiVersion: String by rootProject.extra
val kotlinVersion: String by rootProject.extra
val kotlinLoggingVersion: String by rootProject.extra
val kluentVersion: String by rootProject.extra
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val spekVersion: String by rootProject.extra
kotlin { kotlin {
jvm { jvm {
compilations { compilations {
@@ -23,18 +11,18 @@ kotlin {
kotlin.srcDir("src/demo") kotlin.srcDir("src/demo")
dependencies { dependencies {
implementation(project(":orx-camera")) implementation(project(":orx-camera"))
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-extensions:$openrndrVersion") implementation(libs.openrndr.extensions)
runtimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") runtimeOnly(libs.openrndr.gl3)
runtimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") runtimeOnly(libs.openrndr.gl3.natives)
implementation(compilations["main"]!!.output.allOutputs) implementation(compilations["main"]!!.output.allOutputs)
} }
} }
} }
} }
compilations.all { compilations.all {
kotlinOptions.jvmTarget = jvmTarget kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
kotlinOptions.apiVersion = kotlinApiVersion kotlinOptions.apiVersion = libs.versions.kotlinApi.get()
} }
testRuns["test"].executionTask.configure { testRuns["test"].executionTask.configure {
useJUnitPlatform() useJUnitPlatform()
@@ -51,21 +39,22 @@ kotlin {
dependencies { dependencies {
implementation(project(":orx-parameters")) implementation(project(":orx-parameters"))
implementation(project(":orx-shader-phrases")) implementation(project(":orx-shader-phrases"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.core)
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-draw:$openrndrVersion") implementation(libs.openrndr.draw)
implementation("org.openrndr:openrndr-filter:$openrndrVersion") implementation(libs.openrndr.filter)
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation(libs.kotlin.reflect)
implementation("io.github.microutils:kotlin-logging:$kotlinLoggingVersion") implementation(libs.kotlin.logging)
} }
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonTest by getting { val commonTest by getting {
dependencies { dependencies {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
implementation("io.kotest:kotest-assertions-core:$kotestVersion") implementation(libs.kotest)
} }
} }
@@ -75,11 +64,10 @@ kotlin {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation(kotlin("test-junit5")) implementation(kotlin("test-junit5"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
runtimeOnly("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion") runtimeOnly(libs.bundles.jupiter)
runtimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion") implementation(libs.spek.dsl)
implementation("org.spekframework.spek2:spek-dsl-jvm:$spekVersion") implementation(libs.kluent)
implementation("org.amshove.kluent:kluent:$kluentVersion")
} }
} }

View File

@@ -3,18 +3,6 @@ plugins {
kotlin("plugin.serialization") kotlin("plugin.serialization")
} }
val kotlinxSerializationVersion: String by rootProject.extra
val kotestVersion: String by rootProject.extra
val junitJupiterVersion: String by rootProject.extra
val jvmTarget: String by rootProject.extra
val kotlinApiVersion: String by rootProject.extra
val kotlinVersion: String by rootProject.extra
val kotlinLoggingVersion: String by rootProject.extra
val kluentVersion: String by rootProject.extra
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val spekVersion: String by rootProject.extra
kotlin { kotlin {
jvm { jvm {
compilations { compilations {
@@ -23,18 +11,18 @@ kotlin {
kotlin.srcDir("src/demo") kotlin.srcDir("src/demo")
dependencies { dependencies {
implementation(project(":orx-camera")) implementation(project(":orx-camera"))
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-extensions:$openrndrVersion") implementation(libs.openrndr.extensions)
runtimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") runtimeOnly(libs.openrndr.gl3)
runtimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") runtimeOnly(libs.openrndr.gl3.natives)
implementation(compilations["main"]!!.output.allOutputs) implementation(compilations["main"]!!.output.allOutputs)
} }
} }
} }
} }
compilations.all { compilations.all {
kotlinOptions.jvmTarget = jvmTarget kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
kotlinOptions.apiVersion = kotlinApiVersion kotlinOptions.apiVersion = libs.versions.kotlinApi.get()
} }
testRuns["test"].executionTask.configure { testRuns["test"].executionTask.configure {
useJUnitPlatform() useJUnitPlatform()
@@ -51,21 +39,22 @@ kotlin {
dependencies { dependencies {
implementation(project(":orx-parameters")) implementation(project(":orx-parameters"))
implementation(project(":orx-shader-phrases")) implementation(project(":orx-shader-phrases"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.core)
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-draw:$openrndrVersion") implementation(libs.openrndr.draw)
implementation("org.openrndr:openrndr-filter:$openrndrVersion") implementation(libs.openrndr.filter)
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation(libs.kotlin.reflect)
implementation("io.github.microutils:kotlin-logging:$kotlinLoggingVersion") implementation(libs.kotlin.logging)
} }
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonTest by getting { val commonTest by getting {
dependencies { dependencies {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
implementation("io.kotest:kotest-assertions-core:$kotestVersion") implementation(libs.kotest)
} }
} }
@@ -75,11 +64,10 @@ kotlin {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation(kotlin("test-junit5")) implementation(kotlin("test-junit5"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
runtimeOnly("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion") runtimeOnly(libs.bundles.jupiter)
runtimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion") implementation(libs.spek.dsl)
implementation("org.spekframework.spek2:spek-dsl-jvm:$spekVersion") implementation(libs.kluent)
implementation("org.amshove.kluent:kluent:$kluentVersion")
} }
} }

View File

@@ -14,11 +14,13 @@ dependencies {
demoImplementation project(":orx-noise") demoImplementation project(":orx-noise")
demoImplementation project(":orx-jvm:orx-gui") demoImplementation project(":orx-jvm:orx-gui")
demoImplementation project(":orx-compositor") demoImplementation project(":orx-compositor")
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion")
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoImplementation("org.openrndr:openrndr-svg:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoImplementation("org.openrndr:openrndr-ffmpeg:$openrndrVersion") demoImplementation(libs.openrndr.svg)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoImplementation(libs.openrndr.ffmpeg)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -12,18 +12,14 @@ sourceSets {
collectScreenshots(project, demo) { } collectScreenshots(project, demo) { }
} }
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val boofcvVersion = "0.39"
val demoImplementation by configurations.getting {} val demoImplementation by configurations.getting {}
val demoRuntimeOnly by configurations.getting {} val demoRuntimeOnly by configurations.getting {}
dependencies { dependencies {
api("org.boofcv:boofcv-core:$boofcvVersion") api(libs.boofcv)
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -10,14 +10,15 @@ sourceSets {
dependencies { dependencies {
api project(":orx-jvm:orx-osc") api project(":orx-jvm:orx-osc")
implementation "com.google.code.gson:gson:$gsonVersion" implementation libs.gson
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly(libs.openrndr.gl3.natives)
demoRuntimeOnly(libs.openrndr.extensions)
demoImplementation(libs.openrndr.ffmpeg)
demoRuntimeOnly(libs.openrndr.ffmpeg.natives)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion")
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion")
demoRuntimeOnly("org.openrndr:openrndr-extensions:$openrndrVersion")
demoImplementation("org.openrndr:openrndr-ffmpeg:$openrndrVersion")
demoRuntimeOnly("org.openrndr:openrndr-ffmpeg-natives-$openrndrOS:$openrndrVersion")
demoImplementation(project(":orx-fx")) demoImplementation(project(":orx-fx"))
// demoImplementation(project(":orx-osc")) // demoImplementation(project(":orx-osc"))

View File

@@ -9,7 +9,7 @@ sourceSets {
} }
dependencies { dependencies {
implementation "com.google.code.gson:gson:$gsonVersion" implementation libs.gson
implementation(project(":orx-fx")) implementation(project(":orx-fx"))
implementation(project(":orx-jvm:orx-keyframer")) implementation(project(":orx-jvm:orx-keyframer"))
implementation(project(":orx-easing")) implementation(project(":orx-easing"))
@@ -20,11 +20,11 @@ dependencies {
demoImplementation(project(":orx-mesh-generators")) demoImplementation(project(":orx-mesh-generators"))
demoImplementation(project(":orx-noise")) demoImplementation(project(":orx-noise"))
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoImplementation("org.openrndr:openrndr-ffmpeg:$openrndrVersion") demoImplementation(libs.openrndr.ffmpeg)
demoImplementation("org.openrndr:openrndr-filter:$openrndrVersion") demoImplementation(libs.openrndr.filter)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -598,6 +598,7 @@ class PBRMaterial : Material {
shadeStyle.parameter("textureNoise", noise128) shadeStyle.parameter("textureNoise", noise128)
} }
} }
else -> {}
} }
when (val source = texture.source) { when (val source = texture.source) {
is Triplanar -> { is Triplanar -> {
@@ -605,6 +606,7 @@ class PBRMaterial : Material {
shadeStyle.parameter("textureTriplanarScale$index", source.scale) shadeStyle.parameter("textureTriplanarScale$index", source.scale)
shadeStyle.parameter("textureTriplanarOffset$index", source.offset) shadeStyle.parameter("textureTriplanarOffset$index", source.offset)
} }
else -> {}
} }
if (texture.target is TextureTarget.Height) { if (texture.target is TextureTarget.Height) {
val target = texture.target as TextureTarget.Height val target = texture.target as TextureTarget.Height
@@ -691,6 +693,7 @@ class PBRMaterial : Material {
if (texture.target is TextureTarget.Height) { if (texture.target is TextureTarget.Height) {
when (val source = texture.source) { when (val source = texture.source) {
is TextureFromColorBuffer -> shadeStyle.parameter("texture$index", source.texture) is TextureFromColorBuffer -> shadeStyle.parameter("texture$index", source.texture)
else -> {}
} }
when (val source = texture.source) { when (val source = texture.source) {
is Triplanar -> { is Triplanar -> {
@@ -698,6 +701,7 @@ class PBRMaterial : Material {
shadeStyle.parameter("textureTriplanarScale$index", source.scale) shadeStyle.parameter("textureTriplanarScale$index", source.scale)
shadeStyle.parameter("textureTriplanarOffset$index", source.offset) shadeStyle.parameter("textureTriplanarOffset$index", source.offset)
} }
else -> {}
} }
val target = texture.target as TextureTarget.Height val target = texture.target as TextureTarget.Height
shadeStyle.parameter("textureHeightScale$index", target.scale) shadeStyle.parameter("textureHeightScale$index", target.scale)

View File

@@ -107,6 +107,7 @@ class SceneRenderer {
blur.spread = 1.0 blur.spread = 1.0
blur.apply(target.colorBuffer(0), target.colorBuffer(0)) blur.apply(target.colorBuffer(0), target.colorBuffer(0))
} }
else -> {}
} }
} }
} }

View File

@@ -1,10 +1,7 @@
package org.operndr.extras.filewatcher package org.operndr.extras.filewatcher
import com.sun.nio.file.SensitivityWatchEventModifier import com.sun.nio.file.SensitivityWatchEventModifier
import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.*
import kotlinx.coroutines.Job
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import mu.KotlinLogging import mu.KotlinLogging
import org.openrndr.Program import org.openrndr.Program
import org.openrndr.launch import org.openrndr.launch
@@ -116,6 +113,7 @@ private val watchService by lazy {
FileSystems.getDefault().newWatchService() FileSystems.getDefault().newWatchService()
} }
@OptIn(DelicateCoroutinesApi::class)
private val watchThread by lazy { private val watchThread by lazy {
thread(isDaemon = true) { thread(isDaemon = true) {
while (true) { while (true) {

View File

@@ -15,11 +15,11 @@ dependencies {
demoImplementation(project(":orx-mesh-generators")) demoImplementation(project(":orx-mesh-generators"))
demoImplementation(project(":orx-noise")) demoImplementation(project(":orx-noise"))
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoImplementation("org.openrndr:openrndr-ffmpeg:$openrndrVersion") demoImplementation(libs.openrndr.ffmpeg)
demoImplementation("org.openrndr:openrndr-filter:$openrndrVersion") demoImplementation(libs.openrndr.filter)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -12,26 +12,21 @@ sourceSets {
collectScreenshots(project, demo) { } collectScreenshots(project, demo) { }
} }
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val slf4jVersion: String by rootProject.extra
val gsonVersion: String by rootProject.extra
val kotlinVersion: String by rootProject.extra
val demoImplementation by configurations.getting {} val demoImplementation by configurations.getting {}
val demoRuntimeOnly by configurations.getting {} val demoRuntimeOnly by configurations.getting {}
dependencies { dependencies {
api(project(":orx-parameters")) api(project(":orx-parameters"))
api(project(":orx-jvm:orx-panel")) api(project(":orx-jvm:orx-panel"))
implementation("org.openrndr:openrndr-filter:$openrndrVersion") implementation(libs.openrndr.filter)
implementation("org.openrndr:openrndr-dialogs:$openrndrVersion") implementation(libs.openrndr.dialogs)
implementation("com.google.code.gson:gson:$gsonVersion") implementation(libs.gson)
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation(libs.kotlin.reflect)
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoRuntimeOnly("org.slf4j:slf4j-simple:$slf4jVersion") demoRuntimeOnly(libs.slf4j.simple)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -31,20 +31,21 @@ generateGrammarSource {
} }
dependencies { dependencies {
antlr("org.antlr:antlr4:$antlrVersion") antlr(libs.antlr)
implementation("org.antlr:antlr4-runtime:$antlrVersion") implementation(libs.antlrRuntime)
implementation(project(":orx-noise")) implementation(project(":orx-noise"))
implementation(project(":orx-easing")) implementation(project(":orx-easing"))
implementation "com.google.code.gson:gson:$gsonVersion" implementation libs.gson
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation(libs.kotlin.reflect)
demoImplementation(project(":orx-camera")) demoImplementation(project(":orx-camera"))
demoImplementation(project(":orx-jvm:orx-panel")) demoImplementation(project(":orx-jvm:orx-panel"))
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion")
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -1,13 +1,7 @@
def os = org.gradle.internal.os.OperatingSystem.current()
def openrndrOs
if (os.windows) { openrndrOs = "windows" }
else if (os.macOsX) { openrndrOs = "macos" }
else if (os.linux) { openrndrOs = "linux-x64" }
dependencies { dependencies {
implementation project(":orx-jvm:orx-kinect-v1") implementation project(":orx-jvm:orx-kinect-v1")
runtimeOnly project(":orx-jvm:orx-kinect-v1-natives-$openrndrOs") runtimeOnly project(":orx-jvm:orx-kinect-v1-natives-${gradle.ext.openrndrOS}")
runtimeOnly "org.openrndr:openrndr-gl3:$openrndrVersion" runtimeOnly libs.openrndr.gl3
runtimeOnly "org.openrndr:openrndr-gl3-natives-$openrndrOs:$openrndrVersion" runtimeOnly libs.openrndr.gl3.natives
runtimeOnly "ch.qos.logback:logback-classic:1.2.11" runtimeOnly "ch.qos.logback:logback-classic:1.2.11"
} }

View File

@@ -1,3 +1,3 @@
dependencies { dependencies {
runtimeOnly "org.bytedeco:libfreenect:$libfreenectVersion:linux-arm64" runtimeOnly(variantOf(libs.libfreenect) { classifier("linux-arm64") })
} }

View File

@@ -1,3 +1,3 @@
dependencies { dependencies {
runtimeOnly "org.bytedeco:libfreenect:$libfreenectVersion:linux-x86_64" runtimeOnly(variantOf(libs.libfreenect) { classifier("linux-x86_64") })
} }

View File

@@ -1,3 +1,3 @@
dependencies { dependencies {
runtimeOnly "org.bytedeco:libfreenect:$libfreenectVersion:macosx-x86_64" runtimeOnly(variantOf(libs.libfreenect) { classifier("macosx-x86_64") })
} }

View File

@@ -1,3 +1,3 @@
dependencies { dependencies {
runtimeOnly "org.bytedeco:libfreenect:$libfreenectVersion:windows-x86_64" runtimeOnly(variantOf(libs.libfreenect) { classifier("windows-x86_64") })
} }

View File

@@ -1,4 +1,4 @@
dependencies { dependencies {
api project(":orx-jvm:orx-kinect-common") api project(":orx-jvm:orx-kinect-common")
api "org.bytedeco:libfreenect:$libfreenectVersion" api libs.libfreenect
} }

View File

@@ -31,15 +31,17 @@ generateGrammarSource {
} }
dependencies { dependencies {
antlr("org.antlr:antlr4:$antlrVersion") antlr(libs.antlr)
implementation("org.antlr:antlr4-runtime:$antlrVersion") implementation(libs.antlrRuntime)
demoImplementation(project(":orx-camera")) demoImplementation(project(":orx-camera"))
demoImplementation(project(":orx-jvm:orx-panel")) demoImplementation(project(":orx-jvm:orx-panel"))
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion")
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -9,10 +9,6 @@ sourceSets {
} }
} }
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val slf4jVersion: String by rootProject.extra
val kotlinVersion: String by rootProject.extra
val demoImplementation by configurations.getting {} val demoImplementation by configurations.getting {}
val demoRuntimeOnly by configurations.getting {} val demoRuntimeOnly by configurations.getting {}
@@ -23,12 +19,12 @@ dependencies {
api("net.compartmental.code:minim:2.2.2") { api("net.compartmental.code:minim:2.2.2") {
exclude(group = "org.apache.maven.plugins", module = "maven-javadoc-plugin") exclude(group = "org.apache.maven.plugins", module = "maven-javadoc-plugin")
} }
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation(libs.kotlin.reflect)
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoRuntimeOnly("org.slf4j:slf4j-simple:$slf4jVersion") demoRuntimeOnly(libs.slf4j.simple)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -12,16 +12,17 @@ dependencies {
implementation project(":orx-jvm:orx-file-watcher") implementation project(":orx-jvm:orx-file-watcher")
implementation project(":orx-jvm:orx-kotlin-parser") implementation project(":orx-jvm:orx-kotlin-parser")
implementation "org.jetbrains.kotlin:kotlin-scripting-jvm:$kotlinVersion" implementation libs.kotlin.scriptingJvm
implementation "org.jetbrains.kotlin:kotlin-scripting-jvm-host:$kotlinVersion" implementation libs.kotlin.scriptingJvmHost
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion" implementation libs.kotlin.reflect
implementation "org.jetbrains.kotlin:kotlin-scripting-jsr223:$kotlinVersion" implementation libs.kotlin.scriptingJSR223
demoImplementation(project(":orx-camera")) demoImplementation(project(":orx-camera"))
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion")
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -1,5 +1,6 @@
package org.openrndr.extra.olive package org.openrndr.extra.olive
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.async import kotlinx.coroutines.async
import mu.KotlinLogging import mu.KotlinLogging
@@ -67,6 +68,7 @@ class Olive<P : Program>(val resources: Resources? = null, private var scriptMod
private var watcher: (() -> Unit)? = null private var watcher: (() -> Unit)? = null
@OptIn(DelicateCoroutinesApi::class)
override fun setup(program: Program) { override fun setup(program: Program) {
System.setProperty("idea.io.use.fallback", "true") System.setProperty("idea.io.use.fallback", "true")
System.setProperty("org.openrndr.ignoreShadeStyleErrors", "true") System.setProperty("org.openrndr.ignoreShadeStyleErrors", "true")
@@ -74,22 +76,22 @@ class Olive<P : Program>(val resources: Resources? = null, private var scriptMod
val store = mutableMapOf<Event<*>, List<(Any) -> Unit>>() val store = mutableMapOf<Event<*>, List<(Any) -> Unit>>()
val originalExtensions = program.extensions.map { it } val originalExtensions = program.extensions.map { it }
val trackedListeners = listOf<Event<*>>(program.mouse.buttonDown, val trackedListeners = listOf<Event<*>>(program.mouse.buttonDown,
program.mouse.buttonUp, program.mouse.buttonUp,
program.mouse.clicked, program.mouse.clicked,
program.mouse.dragged, program.mouse.dragged,
program.mouse.moved, program.mouse.moved,
program.mouse.scrolled, program.mouse.scrolled,
program.keyboard.keyUp, program.keyboard.keyUp,
program.keyboard.keyDown, program.keyboard.keyDown,
program.keyboard.keyRepeat, program.keyboard.keyRepeat,
program.window.drop, program.window.drop,
program.window.focused, program.window.focused,
program.window.minimized, program.window.minimized,
program.window.moved, program.window.moved,
program.window.sized, program.window.sized,
program.window.unfocused, program.window.unfocused,
program.requestAssets, program.requestAssets,
program.produceAssets program.produceAssets
) )
trackedListeners.forEach { it.saveListeners(store) } trackedListeners.forEach { it.saveListeners(store) }

View File

@@ -12,21 +12,16 @@ sourceSets {
collectScreenshots(project, demo) { } collectScreenshots(project, demo) { }
} }
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val slf4jVersion:String by rootProject.extra
val kotlinVersion:String by rootProject.extra
val gsonVersion:String by rootProject.extra
val demoImplementation by configurations.getting {} val demoImplementation by configurations.getting {}
val demoRuntimeOnly by configurations.getting {} val demoRuntimeOnly by configurations.getting {}
dependencies { dependencies {
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation(libs.kotlin.reflect)
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoImplementation("org.openrndr:openrndr-dialogs:$openrndrVersion") demoImplementation(libs.openrndr.dialogs)
demoImplementation("com.google.code.gson:gson:$gsonVersion") demoImplementation(libs.gson)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -41,6 +41,7 @@ class SequenceEditor : SequenceEditorBase("sequence-editor") {
} }
} }
@OptIn(DelicateCoroutinesApi::class)
open class SequenceEditorBase(type: String = "sequence-editor-base") : Element(ElementType(type)), DisposableElement { open class SequenceEditorBase(type: String = "sequence-editor-base") : Element(ElementType(type)), DisposableElement {
override var disposed = false override var disposed = false
@@ -57,8 +58,8 @@ open class SequenceEditorBase(type: String = "sequence-editor-base") : Element(E
private val footerHeight = 20.0 private val footerHeight = 20.0
internal class ValueChangedEvent(val source: SequenceEditorBase, internal class ValueChangedEvent(val source: SequenceEditorBase,
val oldValue: List<Double>, val oldValue: List<Double>,
val newValue: List<Double>) val newValue: List<Double>)
internal class Events { internal class Events {
val valueChanged = Event<ValueChangedEvent>("sequence-editor-base-value-changed") val valueChanged = Event<ValueChangedEvent>("sequence-editor-base-value-changed")

View File

@@ -1,8 +1,6 @@
package org.openrndr.panel.elements package org.openrndr.panel.elements
import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.*
import kotlinx.coroutines.launch
import kotlinx.coroutines.yield
import mu.KotlinLogging import mu.KotlinLogging
import org.openrndr.* import org.openrndr.*
import org.openrndr.draw.Cursor import org.openrndr.draw.Cursor
@@ -291,6 +289,7 @@ class Slider : Element(ElementType("slider")), DisposableElement {
} }
} }
@OptIn(DelicateCoroutinesApi::class)
fun Slider.bind(property: KMutableProperty0<Double>) { fun Slider.bind(property: KMutableProperty0<Double>) {
var currentValue: Double? = null var currentValue: Double? = null
@@ -323,6 +322,7 @@ fun Slider.bind(property: KMutableProperty0<Double>) {
} }
} }
@OptIn(DelicateCoroutinesApi::class)
@JvmName("bindInt") @JvmName("bindInt")
fun Slider.bind(property: KMutableProperty0<Int>) { fun Slider.bind(property: KMutableProperty0<Int>) {
var currentValue: Int? = null var currentValue: Int? = null

View File

@@ -1,13 +1,11 @@
package org.openrndr.panel.elements package org.openrndr.panel.elements
import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.*
import kotlinx.coroutines.launch
import org.openrndr.KEY_BACKSPACE import org.openrndr.KEY_BACKSPACE
import org.openrndr.color.ColorRGBa import org.openrndr.color.ColorRGBa
import org.openrndr.draw.Drawer import org.openrndr.draw.Drawer
import org.openrndr.draw.LineCap import org.openrndr.draw.LineCap
import org.openrndr.panel.style.* import org.openrndr.panel.style.*
import kotlinx.coroutines.yield
import org.openrndr.KeyModifier import org.openrndr.KeyModifier
import org.openrndr.draw.Cursor import org.openrndr.draw.Cursor
import org.openrndr.draw.writer import org.openrndr.draw.writer
@@ -138,6 +136,7 @@ class Textfield : Element(ElementType("textfield")), DisposableElement {
override var disposed: Boolean = false override var disposed: Boolean = false
} }
@OptIn(DelicateCoroutinesApi::class)
fun Textfield.bind(property: KMutableProperty0<String>) { fun Textfield.bind(property: KMutableProperty0<String>) {
GlobalScope.launch { GlobalScope.launch {
install@ while (!disposed) { install@ while (!disposed) {

View File

@@ -1,14 +1,12 @@
package org.openrndr.panel.elements package org.openrndr.panel.elements
import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.*
import kotlinx.coroutines.launch
import org.openrndr.draw.Drawer import org.openrndr.draw.Drawer
import org.openrndr.draw.FontImageMap import org.openrndr.draw.FontImageMap
import org.openrndr.draw.LineCap import org.openrndr.draw.LineCap
import org.openrndr.panel.style.* import org.openrndr.panel.style.*
import org.openrndr.shape.Rectangle import org.openrndr.shape.Rectangle
import kotlinx.coroutines.yield
import org.openrndr.draw.Writer import org.openrndr.draw.Writer
import org.openrndr.events.Event import org.openrndr.events.Event
import org.openrndr.launch import org.openrndr.launch
@@ -100,6 +98,7 @@ class Toggle : Element(ElementType("toggle")), DisposableElement {
} }
} }
@OptIn(DelicateCoroutinesApi::class)
fun Toggle.bind(property: KMutableProperty0<Boolean>) { fun Toggle.bind(property: KMutableProperty0<Boolean>) {
var currentValue = property.get() var currentValue = property.get()
value = currentValue value = currentValue

View File

@@ -48,7 +48,7 @@ class Matcher {
Combinator.LATER_SIBLING -> if (result == MatchingResult.RESTART_FROM_CLOSEST_DESCENDANT) { Combinator.LATER_SIBLING -> if (result == MatchingResult.RESTART_FROM_CLOSEST_DESCENDANT) {
return result return result
} }
Combinator.DESCENDANT -> { Combinator.DESCENDANT, null -> {
// intentionally do nothing // intentionally do nothing
} }
} }

View File

@@ -12,21 +12,17 @@ sourceSets {
collectScreenshots(project, demo) { } collectScreenshots(project, demo) { }
} }
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val slf4jVersion:String by rootProject.extra
val demoImplementation by configurations.getting {} val demoImplementation by configurations.getting {}
val demoRuntimeOnly by configurations.getting {} val demoRuntimeOnly by configurations.getting {}
dependencies { dependencies {
implementation(project(":orx-fx")) implementation(project(":orx-fx"))
implementation(project(":orx-noise")) implementation(project(":orx-noise"))
implementation("org.openrndr:openrndr-filter:$openrndrVersion") implementation(libs.openrndr.filter)
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoRuntimeOnly("org.slf4j:slf4j-simple:$slf4jVersion") demoRuntimeOnly(libs.slf4j.simple)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -130,6 +130,7 @@ internal class ConvolutionPyramid(width: Int, height: Int,
is CubemapAttachment -> it.cubemap.destroy() is CubemapAttachment -> it.cubemap.destroy()
is ArrayTextureAttachment -> it.arrayTexture.destroy() is ArrayTextureAttachment -> it.arrayTexture.destroy()
is ArrayCubemapAttachment -> it.arrayCubemap.destroy() is ArrayCubemapAttachment -> it.arrayCubemap.destroy()
else -> {}
} }
} }
it.detachColorAttachments() it.detachColorAttachments()

View File

@@ -25,8 +25,8 @@ dependencies {
implementation "com.google.zxing:javase:3.4.0" implementation "com.google.zxing:javase:3.4.0"
implementation "io.ktor:ktor-server-netty:1.3.1" implementation "io.ktor:ktor-server-netty:1.3.1"
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -1,3 +1,3 @@
dependencies { dependencies {
runtimeOnly "org.bytedeco:librealsense2:$librealsense2Version:linux-x86_64" runtimeOnly(variantOf(libs.librealsense) { classifier("linux-x86_64") })
} }

View File

@@ -1,4 +1,4 @@
dependencies { dependencies {
runtimeOnly "org.bytedeco:librealsense2:$librealsense2Version:macosx-x86_64" runtimeOnly(variantOf(libs.librealsense) { classifier("macosx-x86_64") })
} }

View File

@@ -1,4 +1,4 @@
dependencies { dependencies {
runtimeOnly "org.bytedeco:librealsense2:$librealsense2Version:windows-x86_64" runtimeOnly(variantOf(libs.librealsense) { classifier("windows-x86_64") })
} }

View File

@@ -11,13 +11,12 @@ sourceSets {
dependencies { dependencies {
api "org.bytedeco:librealsense2:$librealsense2Version" api libs.librealsense
demoImplementation(libs.openrndr.application)
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoRuntimeOnly(project(":orx-jvm:orx-realsense2-natives-${gradle.ext.openrndrOS}"))
demoRuntimeOnly(project(":orx-jvm:orx-realsense2-natives-$openrndrOS")) demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3.natives)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion")
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -8,14 +8,16 @@ sourceSets {
} }
} }
dependencies { dependencies {
implementation "com.google.code.gson:gson:$gsonVersion" implementation(libs.gson)
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly(libs.openrndr.gl3.natives)
demoRuntimeOnly(libs.openrndr.extensions)
demoImplementation(libs.openrndr.ffmpeg)
demoRuntimeOnly(libs.openrndr.ffmpeg.natives)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion")
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion")
demoRuntimeOnly("org.openrndr:openrndr-extensions:$openrndrVersion")
demoImplementation("org.openrndr:openrndr-ffmpeg:$openrndrVersion")
demoRuntimeOnly("org.openrndr:openrndr-ffmpeg-natives-$openrndrOS:$openrndrVersion")
demoImplementation(project(":orx-fx")) demoImplementation(project(":orx-fx"))
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -1,5 +1,5 @@
dependencies { dependencies {
implementation "org.openrndr:openrndr-application:$openrndrVersion" implementation libs.openrndr.application
implementation "org.openrndr:openrndr-gl3:$openrndrVersion" implementation libs.openrndr.gl3
implementation "org.openrndr:openrndr-gl3-natives-macos:$openrndrVersion" implementation libs.openrndr.gl3.natives
} }

View File

@@ -1,3 +1,3 @@
dependencies { dependencies {
runtimeOnly "org.tensorflow:tensorflow-core-api:$tensorflowVersion:linux-x86_64-gpu" runtimeOnly(variantOf(libs.tensorflow) { classifier("linux-x86_64-gpu") })
} }

View File

@@ -1,3 +1,3 @@
dependencies { dependencies {
runtimeOnly "org.tensorflow:tensorflow-core-api:$tensorflowVersion:windows-x86_64-gpu" runtimeOnly(variantOf(libs.tensorflow) { classifier("windows-x86_64-gpu") })
} }

View File

@@ -1,3 +1,3 @@
dependencies { dependencies {
runtimeOnly "org.tensorflow:tensorflow-core-api:$tensorflowVersion:linux-x86_64" runtimeOnly(variantOf(libs.tensorflow) { classifier("linux-x86_64") })
} }

View File

@@ -1,3 +1,3 @@
dependencies { dependencies {
runtimeOnly "org.tensorflow:tensorflow-core-api:$tensorflowVersion:macosx-x86_64" runtimeOnly(variantOf(libs.tensorflow) { classifier("macosx-x86_64") })
} }

View File

@@ -1,3 +1,3 @@
dependencies { dependencies {
runtimeOnly "org.tensorflow:tensorflow-core-api:$tensorflowVersion:windows-x86_64" runtimeOnly(variantOf(libs.tensorflow) { classifier("windows-x86_64") })
} }

View File

@@ -32,19 +32,20 @@ compileWrapgenKotlin {
dependencies { dependencies {
implementation "com.google.code.gson:gson:$gsonVersion" implementation libs.gson
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoRuntimeOnly(project(":orx-jvm:orx-tensorflow-natives-$openrndrOS")) demoRuntimeOnly(project(":orx-jvm:orx-tensorflow-natives-${gradle.ext.openrndrOS}"))
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion")
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly("org.openrndr:openrndr-extensions:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation("org.openrndr:openrndr-ffmpeg:$openrndrVersion") demoRuntimeOnly(libs.openrndr.extensions)
demoRuntimeOnly("org.openrndr:openrndr-ffmpeg-natives-$openrndrOS:$openrndrVersion") demoImplementation(libs.openrndr.ffmpeg)
demoRuntimeOnly(libs.openrndr.ffmpeg.natives)
demoImplementation(project(":orx-fx")) demoImplementation(project(":orx-fx"))
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
api("org.tensorflow:tensorflow-core-api:$tensorflowVersion") api(libs.tensorflow)
// -- wrapgen // -- wrapgen
wrapgenImplementation 'com.github.javaparser:javaparser-core:3.15.21' wrapgenImplementation 'com.github.javaparser:javaparser-core:3.15.21'

View File

@@ -16,9 +16,9 @@ dependencies {
implementation("com.github.ricardomatias:delaunator:$delaunatorVersion") implementation("com.github.ricardomatias:delaunator:$delaunatorVersion")
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -9,11 +9,11 @@ sourceSets {
} }
dependencies { dependencies {
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoImplementation("org.openrndr:openrndr-ffmpeg:$openrndrVersion") demoImplementation(libs.openrndr.ffmpeg)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3.natives)
implementation("org.openrndr:openrndr-ffmpeg:$openrndrVersion") implementation(libs.openrndr.ffmpeg)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -9,9 +9,9 @@ sourceSets {
} }
dependencies { dependencies {
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -1,9 +1,6 @@
package org.openrndr.extra.kdtree package org.openrndr.extra.kdtree
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.*
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import org.openrndr.math.* import org.openrndr.math.*
import java.util.* import java.util.*
import kotlin.IllegalStateException import kotlin.IllegalStateException
@@ -99,6 +96,7 @@ private fun <T> insertItem(root: KDTreeNode<T>, item: T): KDTreeNode<T> {
} }
@OptIn(DelicateCoroutinesApi::class)
fun <T> buildKDTree(items: MutableList<T>, dimensions: Int, mapper: (T, Int) -> Double): KDTreeNode<T> { fun <T> buildKDTree(items: MutableList<T>, dimensions: Int, mapper: (T, Int) -> Double): KDTreeNode<T> {
val root = KDTreeNode<T>(dimensions, mapper) val root = KDTreeNode<T>(dimensions, mapper)

View File

@@ -10,10 +10,10 @@ sourceSets {
dependencies { dependencies {
demoImplementation(project(":orx-camera")) demoImplementation(project(":orx-camera"))
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -3,16 +3,6 @@ plugins {
kotlin("plugin.serialization") kotlin("plugin.serialization")
} }
val kotlinxSerializationVersion: String by rootProject.extra
val kotestVersion: String by rootProject.extra
val junitJupiterVersion: String by rootProject.extra
val jvmTarget: String by rootProject.extra
val kotlinApiVersion: String by rootProject.extra
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val kluentVersion: String by rootProject.extra
val spekVersion: String by rootProject.extra
kotlin { kotlin {
jvm { jvm {
compilations { compilations {
@@ -21,18 +11,18 @@ kotlin {
kotlin.srcDir("src/demo") kotlin.srcDir("src/demo")
dependencies { dependencies {
implementation(project(":orx-camera")) implementation(project(":orx-camera"))
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-extensions:$openrndrVersion") implementation(libs.openrndr.extensions)
runtimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") runtimeOnly(libs.openrndr.gl3)
runtimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") runtimeOnly(libs.openrndr.gl3.natives)
implementation(compilations["main"]!!.output.allOutputs) implementation(compilations["main"]!!.output.allOutputs)
} }
} }
} }
} }
compilations.all { compilations.all {
kotlinOptions.jvmTarget = jvmTarget kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
kotlinOptions.apiVersion = kotlinApiVersion kotlinOptions.apiVersion = libs.versions.kotlinApi.get()
} }
testRuns["test"].executionTask.configure { testRuns["test"].executionTask.configure {
useJUnitPlatform() useJUnitPlatform()
@@ -49,20 +39,21 @@ kotlin {
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonMain by getting { val commonMain by getting {
dependencies { dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.core)
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-math:$openrndrVersion") implementation(libs.openrndr.math)
implementation("org.openrndr:openrndr-shape:$openrndrVersion") implementation(libs.openrndr.shape)
implementation("org.openrndr:openrndr-draw:$openrndrVersion") implementation(libs.openrndr.draw)
} }
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonTest by getting { val commonTest by getting {
dependencies { dependencies {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
implementation("io.kotest:kotest-assertions-core:$kotestVersion") implementation(libs.kotest)
} }
} }
@@ -75,11 +66,10 @@ kotlin {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation(kotlin("test-junit5")) implementation(kotlin("test-junit5"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
runtimeOnly("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion") runtimeOnly(libs.bundles.jupiter)
runtimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion") implementation(libs.spek.dsl)
implementation("org.spekframework.spek2:spek-dsl-jvm:$spekVersion") implementation(libs.kluent)
implementation("org.amshove.kluent:kluent:$kluentVersion")
} }
} }

View File

@@ -5,16 +5,6 @@ plugins {
kotlin("plugin.serialization") kotlin("plugin.serialization")
} }
val kotlinxSerializationVersion: String by rootProject.extra
val kotestVersion: String by rootProject.extra
val junitJupiterVersion: String by rootProject.extra
val jvmTarget: String by rootProject.extra
val kotlinApiVersion: String by rootProject.extra
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val kluentVersion: String by rootProject.extra
val spekVersion: String by rootProject.extra
kotlin { kotlin {
jvm { jvm {
compilations { compilations {
@@ -24,19 +14,19 @@ kotlin {
dependencies { dependencies {
implementation(project(":orx-camera")) implementation(project(":orx-camera"))
implementation(project(":orx-hash-grid")) implementation(project(":orx-hash-grid"))
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-extensions:$openrndrVersion") implementation(libs.openrndr.extensions)
runtimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") runtimeOnly(libs.openrndr.gl3)
runtimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") runtimeOnly(libs.openrndr.gl3.natives)
implementation(compilations["main"]!!.output.allOutputs) implementation(compilations["main"]!!.output.allOutputs)
} }
} }
collectScreenshots { } collectScreenshots { }
} }
} }
compilations.all { compilations.all {
kotlinOptions.jvmTarget = jvmTarget kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
kotlinOptions.apiVersion = kotlinApiVersion kotlinOptions.apiVersion = libs.versions.kotlinApi.get()
} }
testRuns["test"].executionTask.configure { testRuns["test"].executionTask.configure {
useJUnitPlatform() useJUnitPlatform()
@@ -53,21 +43,23 @@ kotlin {
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonMain by getting { val commonMain by getting {
dependencies { dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.core)
implementation("org.openrndr:openrndr-math:$openrndrVersion") implementation(libs.openrndr.math)
implementation("org.openrndr:openrndr-shape:$openrndrVersion") implementation(libs.openrndr.shape)
implementation("org.openrndr:openrndr-draw:$openrndrVersion") implementation(libs.openrndr.draw)
implementation(project(":orx-hash-grid")) implementation(project(":orx-hash-grid"))
} }
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonTest by getting { val commonTest by getting {
dependencies { dependencies {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
implementation("io.kotest:kotest-assertions-core:$kotestVersion") implementation(libs.kotest)
} }
} }
@@ -80,11 +72,10 @@ kotlin {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation(kotlin("test-junit5")) implementation(kotlin("test-junit5"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
runtimeOnly("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion") runtimeOnly(libs.bundles.jupiter)
runtimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion") implementation(libs.spek.dsl)
implementation("org.spekframework.spek2:spek-dsl-jvm:$spekVersion") implementation(libs.kluent)
implementation("org.amshove.kluent:kluent:$kluentVersion")
} }
} }

View File

@@ -1,5 +1,5 @@
dependencies { dependencies {
implementation "com.google.code.gson:gson:$gsonVersion" implementation libs.gson
implementation project(":orx-noise") implementation project(":orx-noise")
} }

View File

@@ -3,23 +3,11 @@ plugins {
kotlin("plugin.serialization") kotlin("plugin.serialization")
} }
val kotlinxSerializationVersion: String by rootProject.extra
val kotestVersion: String by rootProject.extra
val junitJupiterVersion: String by rootProject.extra
val jvmTarget: String by rootProject.extra
val kotlinApiVersion: String by rootProject.extra
val kotlinVersion: String by rootProject.extra
val kotlinLoggingVersion: String by rootProject.extra
val kluentVersion: String by rootProject.extra
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val spekVersion: String by rootProject.extra
kotlin { kotlin {
jvm { jvm {
compilations.all { compilations.all {
kotlinOptions.jvmTarget = jvmTarget kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
kotlinOptions.apiVersion = kotlinApiVersion kotlinOptions.apiVersion = libs.versions.kotlinApi.get()
} }
testRuns["test"].executionTask.configure { testRuns["test"].executionTask.configure {
useJUnitPlatform() useJUnitPlatform()
@@ -34,24 +22,27 @@ kotlin {
val shaderKotlin by creating { val shaderKotlin by creating {
this.kotlin.srcDir("$projectDir/build/generated/shaderKotlin") this.kotlin.srcDir("$projectDir/build/generated/shaderKotlin")
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonMain by getting { val commonMain by getting {
dependencies { dependencies {
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-math:$openrndrVersion") implementation(libs.openrndr.math)
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation(libs.kotlin.reflect)
implementation("io.github.microutils:kotlin-logging:$kotlinLoggingVersion") implementation(libs.kotlin.logging)
} }
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonTest by getting { val commonTest by getting {
dependencies { dependencies {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
implementation("io.kotest:kotest-assertions-core:$kotestVersion") implementation(libs.kotest)
} }
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val jvmMain by getting val jvmMain by getting
@@ -61,11 +52,10 @@ kotlin {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation(kotlin("test-junit5")) implementation(kotlin("test-junit5"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
runtimeOnly("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion") runtimeOnly(libs.bundles.jupiter)
runtimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion") implementation(libs.spek.dsl)
implementation("org.spekframework.spek2:spek-dsl-jvm:$spekVersion") implementation(libs.kluent)
implementation("org.amshove.kluent:kluent:$kluentVersion")
} }
} }

View File

@@ -5,18 +5,6 @@ plugins {
kotlin("plugin.serialization") kotlin("plugin.serialization")
} }
val kotlinxSerializationVersion: String by rootProject.extra
val kotestVersion: String by rootProject.extra
val junitJupiterVersion: String by rootProject.extra
val jvmTarget: String by rootProject.extra
val kotlinApiVersion: String by rootProject.extra
val kotlinVersion: String by rootProject.extra
val kotlinLoggingVersion: String by rootProject.extra
val kluentVersion: String by rootProject.extra
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val spekVersion: String by rootProject.extra
kotlin { kotlin {
jvm { jvm {
compilations { compilations {
@@ -26,10 +14,10 @@ kotlin {
dependencies { dependencies {
implementation(project(":orx-camera")) implementation(project(":orx-camera"))
implementation(project(":orx-noise")) implementation(project(":orx-noise"))
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-extensions:$openrndrVersion") implementation(libs.openrndr.extensions)
runtimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") runtimeOnly(libs.openrndr.gl3)
runtimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") runtimeOnly(libs.openrndr.gl3.natives)
implementation(compilations["main"]!!.output.allOutputs) implementation(compilations["main"]!!.output.allOutputs)
} }
} }
@@ -39,8 +27,8 @@ kotlin {
} }
} }
compilations.all { compilations.all {
kotlinOptions.jvmTarget = jvmTarget kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
kotlinOptions.apiVersion = kotlinApiVersion kotlinOptions.apiVersion = libs.versions.kotlinApi.get()
} }
testRuns["test"].executionTask.configure { testRuns["test"].executionTask.configure {
useJUnitPlatform() useJUnitPlatform()
@@ -57,21 +45,22 @@ kotlin {
dependencies { dependencies {
implementation(project(":orx-parameters")) implementation(project(":orx-parameters"))
implementation(project(":orx-shader-phrases")) implementation(project(":orx-shader-phrases"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.core)
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-draw:$openrndrVersion") implementation(libs.openrndr.draw)
implementation("org.openrndr:openrndr-filter:$openrndrVersion") implementation(libs.openrndr.filter)
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation(libs.kotlin.reflect)
implementation("io.github.microutils:kotlin-logging:$kotlinLoggingVersion") implementation(libs.kotlin.logging)
} }
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonTest by getting { val commonTest by getting {
dependencies { dependencies {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
implementation("io.kotest:kotest-assertions-core:$kotestVersion") implementation(libs.kotest)
} }
} }
@@ -81,11 +70,10 @@ kotlin {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation(kotlin("test-junit5")) implementation(kotlin("test-junit5"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
runtimeOnly("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion") runtimeOnly(libs.bundles.jupiter)
runtimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion") implementation(libs.spek.dsl)
implementation("org.spekframework.spek2:spek-dsl-jvm:$spekVersion") implementation(libs.kluent)
implementation("org.amshove.kluent:kluent:$kluentVersion")
} }
} }

View File

@@ -5,18 +5,6 @@ plugins {
kotlin("plugin.serialization") kotlin("plugin.serialization")
} }
val kotlinxSerializationVersion: String by rootProject.extra
val kotestVersion: String by rootProject.extra
val junitJupiterVersion: String by rootProject.extra
val jvmTarget: String by rootProject.extra
val kotlinApiVersion: String by rootProject.extra
val kotlinVersion: String by rootProject.extra
val kotlinLoggingVersion: String by rootProject.extra
val kluentVersion: String by rootProject.extra
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val spekVersion: String by rootProject.extra
kotlin { kotlin {
jvm { jvm {
compilations { compilations {
@@ -25,10 +13,10 @@ kotlin {
kotlin.srcDir("src/demo") kotlin.srcDir("src/demo")
dependencies { dependencies {
implementation(project(":orx-color")) implementation(project(":orx-color"))
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-extensions:$openrndrVersion") implementation(libs.openrndr.extensions)
runtimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") runtimeOnly(libs.openrndr.gl3)
runtimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") runtimeOnly(libs.openrndr.gl3.natives)
implementation(compilations["main"]!!.output.allOutputs) implementation(compilations["main"]!!.output.allOutputs)
} }
collectScreenshots { } collectScreenshots { }
@@ -36,8 +24,8 @@ kotlin {
} }
} }
compilations.all { compilations.all {
kotlinOptions.jvmTarget = jvmTarget kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
kotlinOptions.apiVersion = kotlinApiVersion kotlinOptions.apiVersion = libs.versions.kotlinApi.get()
} }
testRuns["test"].executionTask.configure { testRuns["test"].executionTask.configure {
useJUnitPlatform() useJUnitPlatform()
@@ -55,12 +43,12 @@ kotlin {
implementation(project(":orx-parameters")) implementation(project(":orx-parameters"))
implementation(project(":orx-shader-phrases")) implementation(project(":orx-shader-phrases"))
implementation(project(":orx-color")) implementation(project(":orx-color"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.core)
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-draw:$openrndrVersion") implementation(libs.openrndr.draw)
implementation("org.openrndr:openrndr-filter:$openrndrVersion") implementation(libs.openrndr.filter)
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation(libs.kotlin.reflect)
implementation("io.github.microutils:kotlin-logging:$kotlinLoggingVersion") implementation(libs.kotlin.logging)
} }
} }
@@ -69,8 +57,8 @@ kotlin {
dependencies { dependencies {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
implementation("io.kotest:kotest-assertions-core:$kotestVersion") implementation(libs.kotest)
} }
} }
@@ -80,11 +68,10 @@ kotlin {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation(kotlin("test-junit5")) implementation(kotlin("test-junit5"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
runtimeOnly("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion") runtimeOnly(libs.bundles.jupiter)
runtimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion") implementation(libs.spek.dsl)
implementation("org.spekframework.spek2:spek-dsl-jvm:$spekVersion") implementation(libs.kluent)
implementation("org.amshove.kluent:kluent:$kluentVersion")
} }
} }

View File

@@ -3,18 +3,6 @@ plugins {
kotlin("plugin.serialization") kotlin("plugin.serialization")
} }
val kotlinxSerializationVersion: String by rootProject.extra
val kotestVersion: String by rootProject.extra
val junitJupiterVersion: String by rootProject.extra
val jvmTarget: String by rootProject.extra
val kotlinApiVersion: String by rootProject.extra
val kotlinVersion: String by rootProject.extra
val kotlinLoggingVersion: String by rootProject.extra
val kluentVersion: String by rootProject.extra
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val spekVersion: String by rootProject.extra
val embedShaders = tasks.register<EmbedShadersTask>("embedShaders") { val embedShaders = tasks.register<EmbedShadersTask>("embedShaders") {
inputDir.set(file("$projectDir/src/shaders/glsl")) inputDir.set(file("$projectDir/src/shaders/glsl"))
outputDir.set(file("$buildDir/generated/shaderKotlin")) outputDir.set(file("$buildDir/generated/shaderKotlin"))
@@ -29,18 +17,18 @@ kotlin {
kotlin.srcDir("src/demo") kotlin.srcDir("src/demo")
dependencies { dependencies {
implementation(project(":orx-camera")) implementation(project(":orx-camera"))
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-extensions:$openrndrVersion") implementation(libs.openrndr.extensions)
runtimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") runtimeOnly(libs.openrndr.gl3)
runtimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") runtimeOnly(libs.openrndr.gl3.natives)
implementation(compilations["main"]!!.output.allOutputs) implementation(compilations["main"]!!.output.allOutputs)
} }
} }
} }
} }
compilations.all { compilations.all {
kotlinOptions.jvmTarget = jvmTarget kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
kotlinOptions.apiVersion = kotlinApiVersion kotlinOptions.apiVersion = libs.versions.kotlinApi.get()
} }
testRuns["test"].executionTask.configure { testRuns["test"].executionTask.configure {
useJUnitPlatform() useJUnitPlatform()
@@ -55,14 +43,15 @@ kotlin {
val shaderKotlin by creating { val shaderKotlin by creating {
this.kotlin.srcDir(embedShaders.outputDir) this.kotlin.srcDir(embedShaders.outputDir)
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonMain by getting { val commonMain by getting {
dependencies { dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.core)
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-draw:$openrndrVersion") implementation(libs.openrndr.draw)
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation(libs.kotlin.reflect)
implementation("io.github.microutils:kotlin-logging:$kotlinLoggingVersion") implementation(libs.kotlin.logging)
api(shaderKotlin.kotlin) api(shaderKotlin.kotlin)
} }
} }
@@ -72,10 +61,11 @@ kotlin {
dependencies { dependencies {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
implementation("io.kotest:kotest-assertions-core:$kotestVersion") implementation(libs.kotest)
} }
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val jvmMain by getting val jvmMain by getting
@@ -85,12 +75,11 @@ kotlin {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation(kotlin("test-junit5")) implementation(kotlin("test-junit5"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
runtimeOnly("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion") runtimeOnly(libs.bundles.jupiter)
runtimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion") runtimeOnly(libs.slf4j.simple)
runtimeOnly("org.slf4j:slf4j-simple:1.7.30") implementation(libs.spek.dsl)
implementation("org.spekframework.spek2:spek-dsl-jvm:$spekVersion") implementation(libs.kluent)
implementation("org.amshove.kluent:kluent:$kluentVersion")
} }
} }

View File

@@ -5,18 +5,6 @@ plugins {
kotlin("plugin.serialization") kotlin("plugin.serialization")
} }
val kotlinxSerializationVersion: String by rootProject.extra
val kotestVersion: String by rootProject.extra
val junitJupiterVersion: String by rootProject.extra
val jvmTarget: String by rootProject.extra
val kotlinApiVersion: String by rootProject.extra
val kotlinVersion: String by rootProject.extra
val kotlinLoggingVersion: String by rootProject.extra
val kluentVersion: String by rootProject.extra
val openrndrVersion: String by rootProject.extra
val openrndrOS: String by rootProject.extra
val spekVersion: String by rootProject.extra
kotlin { kotlin {
jvm { jvm {
compilations { compilations {
@@ -27,10 +15,10 @@ kotlin {
implementation(project(":orx-camera")) implementation(project(":orx-camera"))
implementation(project(":orx-color")) implementation(project(":orx-color"))
implementation(project(":orx-jvm:orx-triangulation")) implementation(project(":orx-jvm:orx-triangulation"))
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-extensions:$openrndrVersion") implementation(libs.openrndr.extensions)
runtimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") runtimeOnly(libs.openrndr.gl3)
runtimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") runtimeOnly(libs.openrndr.gl3.natives)
implementation(compilations["main"]!!.output.allOutputs) implementation(compilations["main"]!!.output.allOutputs)
} }
} }
@@ -40,8 +28,8 @@ kotlin {
} }
} }
compilations.all { compilations.all {
kotlinOptions.jvmTarget = jvmTarget kotlinOptions.jvmTarget = libs.versions.jvmTarget.get()
kotlinOptions.apiVersion = kotlinApiVersion kotlinOptions.apiVersion = libs.versions.kotlinApi.get()
} }
testRuns["test"].executionTask.configure { testRuns["test"].executionTask.configure {
useJUnitPlatform() useJUnitPlatform()
@@ -59,27 +47,29 @@ kotlin {
implementation(project(":orx-parameters")) implementation(project(":orx-parameters"))
implementation(project(":orx-shader-phrases")) implementation(project(":orx-shader-phrases"))
implementation(project(":orx-color")) implementation(project(":orx-color"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.core)
implementation("org.openrndr:openrndr-application:$openrndrVersion") implementation(libs.openrndr.application)
implementation("org.openrndr:openrndr-draw:$openrndrVersion") implementation(libs.openrndr.draw)
implementation("org.openrndr:openrndr-filter:$openrndrVersion") implementation(libs.openrndr.filter)
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion") implementation(libs.kotlin.reflect)
implementation("io.github.microutils:kotlin-logging:$kotlinLoggingVersion") implementation(libs.kotlin.logging)
} }
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val jvmMain by getting { val jvmMain by getting {
dependencies { dependencies {
implementation(project(":orx-jvm:orx-triangulation")) implementation(project(":orx-jvm:orx-triangulation"))
} }
} }
@Suppress("UNUSED_VARIABLE") @Suppress("UNUSED_VARIABLE")
val commonTest by getting { val commonTest by getting {
dependencies { dependencies {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
implementation("io.kotest:kotest-assertions-core:$kotestVersion") implementation(libs.kotest)
} }
} }
@@ -89,11 +79,10 @@ kotlin {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
implementation(kotlin("test-junit5")) implementation(kotlin("test-junit5"))
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion") implementation(libs.kotlin.serialization.json)
runtimeOnly("org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion") runtimeOnly(libs.bundles.jupiter)
runtimeOnly("org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion") implementation(libs.spek.dsl)
implementation("org.spekframework.spek2:spek-dsl-jvm:$spekVersion") implementation(libs.kluent)
implementation("org.amshove.kluent:kluent:$kluentVersion")
} }
} }

View File

@@ -11,10 +11,10 @@ sourceSets {
dependencies { dependencies {
implementation project(":orx-noise") implementation project(":orx-noise")
implementation project(":orx-fx") implementation project(":orx-fx")
implementation("org.openrndr:openrndr-filter:$openrndrVersion") implementation(libs.openrndr.filter)
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -12,9 +12,9 @@ dependencies {
implementation project(":orx-parameters") implementation project(":orx-parameters")
demoImplementation(project(":orx-camera")) demoImplementation(project(":orx-camera"))
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -9,9 +9,9 @@ sourceSets {
} }
dependencies { dependencies {
demoImplementation("org.openrndr:openrndr-application:$openrndrVersion") demoImplementation(libs.openrndr.application)
demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoImplementation(libs.openrndr.extensions)
demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3)
demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") demoRuntimeOnly(libs.openrndr.gl3.natives)
demoImplementation(sourceSets.getByName("main").output) demoImplementation(sourceSets.getByName("main").output)
} }

View File

@@ -1,5 +1,89 @@
rootProject.name = 'orx' rootProject.name = 'orx'
switch (org.gradle.internal.os.OperatingSystem.current()) {
case org.gradle.internal.os.OperatingSystem.WINDOWS:
gradle.ext.openrndrOS = "windows"
break
case org.gradle.internal.os.OperatingSystem.LINUX:
gradle.ext.openrndrOS = "linux-x64"
break
case org.gradle.internal.os.OperatingSystem.MAC_OS:
gradle.ext.openrndrOS = "macos"
break
}
dependencyResolutionManagement {
versionCatalogs {
libs {
version('kotlinApi', '1.6')
version('kotlinLanguage', '1.6')
version('kotlin', '1.6.20')
version('jvmTarget', '1.8')
version('kotlinxCoroutines', '1.6.0')
version('kotlinLogging', '2.1.21')
version('kotlinxSerialization', '1.3.2')
version('spek', '2.0.15')
version('boofcv', '0.39')
version('kluent', '1.68')
version('kotest', '5.2.1')
version('junitJupiter', '5.8.2')
version('slf4j', '1.7.36')
version('openrndr', ((rootProject.properties.getOrDefault('OPENRNDR.version', System.getenv("OPENRNDR_VERSION"))) ?.replace('v','')) ?: '0.5.1-SNAPSHOT')
version('libfreenect', '0.5.7-1.5.7')
version('librealsense', '2.50.0-1.5.7')
version('gson', '2.9.0')
version('antlr', '4.9.3')
version('tensorflow', '0.4.0')
library('openrndr-application', 'org.openrndr', 'openrndr-application').versionRef('openrndr')
library('openrndr-extensions', 'org.openrndr', 'openrndr-extensions').versionRef('openrndr')
library('openrndr-math', 'org.openrndr', 'openrndr-math').versionRef('openrndr')
library('openrndr-shape', 'org.openrndr', 'openrndr-shape').versionRef('openrndr')
library('openrndr-draw', 'org.openrndr', 'openrndr-draw').versionRef('openrndr')
library('openrndr-event', 'org.openrndr', 'openrndr-event').versionRef('openrndr')
library('openrndr-filter', 'org.openrndr', 'openrndr-filter').versionRef('openrndr')
library('openrndr-dialogs', 'org.openrndr', 'openrndr-dialogs').versionRef('openrndr')
library('openrndr-ffmpeg', 'org.openrndr', 'openrndr-ffmpeg').versionRef('openrndr')
library('openrndr-ffmpeg-natives', 'org.openrndr', "openrndr-ffmpeg-natives-${gradle.ext.openrndrOS}").versionRef('openrndr')
library('openrndr-svg', 'org.openrndr', 'openrndr-svg').versionRef('openrndr')
library('openrndr-gl3', 'org.openrndr', 'openrndr-gl3').versionRef('openrndr')
library('openrndr-gl3-natives', 'org.openrndr', "openrndr-gl3-natives-${gradle.ext.openrndrOS}").versionRef('openrndr')
library('tensorflow', 'org.tensorflow' ,'tensorflow-core-api').versionRef('tensorflow')
library('boofcv', 'org.boofcv' ,'boofcv-core').versionRef('boofcv')
library('libfreenect', 'org.bytedeco' ,'libfreenect').versionRef('libfreenect')
library('librealsense', 'org.bytedeco' ,'librealsense2').versionRef('librealsense')
library('kotlin-logging', 'io.github.microutils' ,'kotlin-logging').versionRef('kotlinLogging')
library('kotlin-coroutines', 'org.jetbrains.kotlinx', 'kotlinx-coroutines-core').versionRef('kotlinxCoroutines')
library('kotlin-serialization-json', 'org.jetbrains.kotlinx', 'kotlinx-serialization-json').versionRef('kotlinxSerialization')
library('kotlin-serialization-core', 'org.jetbrains.kotlinx', 'kotlinx-serialization-core').versionRef('kotlinxSerialization')
library('kotlin-stdlib', 'org.jetbrains.kotlin', 'kotlin-stdlib').versionRef('kotlin')
library('kotlin-test', 'org.jetbrains.kotlin', 'kotlin-test').versionRef('kotlin')
library('kotlin-reflect', 'org.jetbrains.kotlin', 'kotlin-reflect').versionRef('kotlin')
library('kotlin-gradlePlugin', 'org.jetbrains.kotlin', 'kotlin-gradle-plugin').versionRef('kotlin')
library('kotlin-scriptingJvm', 'org.jetbrains.kotlin', 'kotlin-scripting-jvm').versionRef('kotlin')
library('kotlin-scriptingJvmHost', 'org.jetbrains.kotlin', 'kotlin-scripting-jvm-host').versionRef('kotlin')
library('kotlin-scriptingJSR223', 'org.jetbrains.kotlin', 'kotlin-scripting-jsr223').versionRef('kotlin')
library('spek-dsl', 'org.spekframework.spek2', 'spek-dsl-jvm').versionRef('spek')
library('spek-junit5', 'org.spekframework.spek2', 'spek-runner-junit5').versionRef('spek')
library('jupiter-api', 'org.junit.jupiter', 'junit-jupiter-api').versionRef('junitJupiter')
library('jupiter-engine', 'org.junit.jupiter', 'junit-jupiter-engine').versionRef('junitJupiter')
bundle('jupiter', ['jupiter-api', 'jupiter-engine'])
library('kotest', 'io.kotest', 'kotest-assertions-core').versionRef('kotest')
library('kluent', 'org.amshove.kluent', 'kluent').versionRef('kluent')
library('slf4j-simple', 'org.slf4j', 'slf4j-simple').versionRef('slf4j')
library('gson', 'com.google.code.gson', 'gson').versionRef('gson')
library('antlr', 'org.antlr', 'antlr4').versionRef('antlr')
library('antlrRuntime', 'org.antlr', 'antlr4-runtime').versionRef('antlr')
}
}
}
include 'openrndr-demos', include 'openrndr-demos',
'orx-jvm:orx-boofcv', 'orx-jvm:orx-boofcv',
'orx-camera', 'orx-camera',