Skip to content

Commit efd03db

Browse files
committed
Fixed gradle runner issues
1 parent 5409912 commit efd03db

File tree

3 files changed

+18
-20
lines changed

3 files changed

+18
-20
lines changed

app/src/processing/app/gradle/Debugger.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import kotlin.time.TimeSource
1010

1111
class Debugger {
1212
companion object {
13+
// TODO: Stop if build has failed
1314
suspend fun connect(port: Int?): VirtualMachine? {
1415
try {
1516
Messages.log("Attaching to VM $port")

java/gradle/src/main/kotlin/DependenciesTask.kt

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.processing.java.gradle
22

33
import org.gradle.api.DefaultTask
4+
import org.gradle.api.GradleException
45
import org.gradle.api.file.RegularFileProperty
56
import org.gradle.api.tasks.InputFile
67
import org.gradle.api.tasks.TaskAction
@@ -57,26 +58,22 @@ abstract class DependenciesTask: DefaultTask() {
5758
// TODO: Add only if user is compiling for P2D or P3D
5859
// Add JOGL and Gluegen dependencies
5960
project.dependencies.add("runtimeOnly", "org.jogamp.jogl:jogl-all-main:2.5.0")
60-
project.dependencies.add("runtimeOnly", "org.jogamp.gluegen:gluegen-rt-main:2.5.0")
61+
project.dependencies.add("runtimeOnly", "org.jogamp.gluegen:gluegen-rt:2.5.0")
6162

62-
// TODO: Only add the native dependencies for the platform the user is building for
63-
// MacOS specific native dependencies
64-
project.dependencies.add("runtimeOnly", "org.jogamp.jogl:jogl-all:2.5.0:natives-macosx-universal")
65-
project.dependencies.add("runtimeOnly", "org.jogamp.gluegen:gluegen-rt:2.5.0:natives-macosx-universal")
63+
val os = System.getProperty("os.name").lowercase()
64+
val arch = System.getProperty("os.arch").lowercase()
6665

67-
// TODO: Solve windows specific issue
68-
// Windows specific native dependencies
69-
project.dependencies.add("runtimeOnly", "org.jogamp.jogl:jogl-all:2.5.0:natives-windows-amd64")
70-
project.dependencies.add("runtimeOnly", "org.jogamp.gluegen:gluegen-rt:2.5.0:natives-windows-amd64")
71-
72-
// Linux specific native dependencies
73-
project.dependencies.add("runtimeOnly", "org.jogamp.jogl:jogl-all:2.5.0:natives-linux-amd64")
74-
project.dependencies.add("runtimeOnly", "org.jogamp.gluegen:gluegen-rt:2.5.0:natives-linux-amd64")
66+
val variant = when {
67+
os.contains("mac") -> "macosx-universal"
68+
os.contains("win") && arch.contains("64") -> "windows-amd64"
69+
os.contains("linux") && arch.contains("aarch64") -> "linux-aarch64"
70+
os.contains("linux") && arch.contains("arm") -> "linux-arm"
71+
os.contains("linux") && arch.contains("amd64") -> "linux-amd64"
72+
else -> throw GradleException("Unsupported OS/architecture: $os / $arch")
73+
}
7574

76-
// NativeWindow dependencies for all platforms
77-
project.dependencies.add("implementation", "org.jogamp.jogl:nativewindow:2.5.0")
78-
project.dependencies.add("runtimeOnly", "org.jogamp.jogl:nativewindow:2.5.0:natives-macosx-universal")
79-
project.dependencies.add("runtimeOnly", "org.jogamp.jogl:nativewindow:2.5.0:natives-windows-amd64")
80-
project.dependencies.add("runtimeOnly", "org.jogamp.jogl:nativewindow:2.5.0:natives-linux-amd64")
75+
project.dependencies.add("runtimeOnly", "org.jogamp.gluegen:gluegen-rt:2.5.0:natives-$variant")
76+
project.dependencies.add("runtimeOnly", "org.jogamp.jogl:nativewindow:2.5.0:natives-$variant")
77+
project.dependencies.add("runtimeOnly", "org.jogamp.jogl:newt:2.5.0:natives-$variant")
8178
}
8279
}

java/gradle/src/main/kotlin/ProcessingPlugin.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ class ProcessingPlugin @Inject constructor(private val objectFactory: ObjectFact
6767
extension.extensions.getByType(DesktopExtension::class.java).application { application ->
6868
// Set the class to be executed initially
6969
application.mainClass = sketchName
70-
application.nativeDistributions.modules("java.management")
70+
application.nativeDistributions.modules("java.management","jdk.jdwp.agent")
7171
if(debugPort != null) {
72-
application.jvmArgs("-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=$debugPort")
72+
application.jvmArgs("-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=$debugPort")
7373
}
7474
}
7575
}

0 commit comments

Comments
 (0)