Feature variants (#376)

Migrate from buildSrc to build-logic. Setup feature variants.
This commit is contained in:
Edwin Jakobs
2025-09-17 01:03:02 -07:00
committed by GitHub
parent 2979963d3f
commit b7ba6f6daa
100 changed files with 424 additions and 326 deletions

View File

@@ -1,3 +1,3 @@
plugins {
org.openrndr.extra.convention.dokka
id("org.openrndr.extra.convention.dokka")
}

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
`java-gradle-plugin`
}

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {
api(project(":orx-depth-camera"))

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {
@@ -9,6 +9,6 @@ dependencies {
implementation(project(":orx-jvm:orx-depth-camera-calibrator"))
implementation(project(":orx-fx"))
implementation(project(":orx-jvm:orx-gui"))
runtimeOnly(project(":orx-jvm:orx-kinect-v1-${(gradle as ExtensionAware).extra["openrndrClassifier"]}"))
runtimeOnly(libs.openrndr.gl3.core)
runtimeOnly(project(":orx-jvm:orx-kinect-v1"))
runtimeOnly(openrndr.gl3)
}

View File

@@ -1,6 +0,0 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
}
dependencies {
runtimeOnly(variantOf(libs.libfreenect) { classifier("linux-arm64") })
}

View File

@@ -1,6 +0,0 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
}
dependencies {
runtimeOnly(variantOf(libs.libfreenect) { classifier("linux-x86_64") })
}

View File

@@ -1,6 +0,0 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
}
dependencies {
runtimeOnly(variantOf(libs.libfreenect) { classifier("macosx-x86_64") })
}

View File

@@ -1,6 +0,0 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
}
dependencies {
runtimeOnly(variantOf(libs.libfreenect) { classifier("windows-x86_64") })
}

View File

@@ -1,7 +1,28 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
}
plugins {
id("org.openrndr.extra.convention.kotlin-jvm")
id("org.openrndr.extra.convention.variant")
}
variants {
val nativeLibs = listOf(libs.libfreenect, sharedLibs.javacpp)
val platforms = listOf(
Triple(OperatingSystemFamily.WINDOWS, MachineArchitecture.X86_64, "windows-x86_64"),
Triple(OperatingSystemFamily.MACOS, MachineArchitecture.X86_64, "macosx-x86_64"),
Triple(OperatingSystemFamily.LINUX, MachineArchitecture.X86_64, "linux-x86_64"),
Triple(OperatingSystemFamily.LINUX, MachineArchitecture.ARM64, "linux-arm64"),
)
for ((os, arch, classifier) in platforms) {
platform(os, arch) {
dependencies {
nativeLibs.forEach {
runtimeOnly(it.get().withClassifier(classifier))
}
}
}
}
}
dependencies {
implementation(openrndr.application)
implementation(openrndr.math)

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
antlr
}

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
tasks.test {

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
tasks.test {

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {

View File

@@ -1,6 +0,0 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
}
dependencies {
runtimeOnly(variantOf(libs.librealsense) { classifier("linux-x86_64") })
}

View File

@@ -1,6 +0,0 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
}
dependencies {
runtimeOnly(variantOf(libs.librealsense) { classifier("macosx-x86_64") })
}

View File

@@ -1,6 +0,0 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
}
dependencies {
runtimeOnly(variantOf(libs.librealsense) { classifier("windows-x86_64") })
}

View File

@@ -1,11 +1,31 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
id("org.openrndr.extra.convention.variant")
}
variants {
val nativeLibs = listOf(libs.librealsense, sharedLibs.javacpp)
val platforms = listOf(
Triple(OperatingSystemFamily.WINDOWS, MachineArchitecture.X86_64, "windows-x86_64"),
Triple(OperatingSystemFamily.MACOS, MachineArchitecture.X86_64, "macosx-x86_64"),
Triple(OperatingSystemFamily.LINUX, MachineArchitecture.X86_64, "linux-x86_64"),
Triple(OperatingSystemFamily.LINUX, MachineArchitecture.ARM64, "linux-arm64"),
)
for ((os, arch, classifier) in platforms) {
platform(os, arch) {
dependencies {
nativeLibs.forEach {
runtimeOnly(it.get().withClassifier(classifier))
}
}
}
}
}
dependencies {
implementation(openrndr.application)
implementation(openrndr.math)
api(libs.librealsense)
demoRuntimeOnly(project(":orx-jvm:orx-realsense2-${(gradle as ExtensionAware).extra["openrndrClassifier"]}"))
demoRuntimeOnly(project(":orx-jvm:orx-realsense2"))
demoImplementation(project(":orx-color"))
}

View File

@@ -1,8 +1,8 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {
implementation(openrndr.application)
implementation(libs.openrndr.gl3.core)
implementation(openrndr.gl3)
}

View File

@@ -1,5 +1,5 @@
plugins {
org.openrndr.extra.convention.`kotlin-jvm`
id("org.openrndr.extra.convention.kotlin-jvm")
}
dependencies {