Login  Register

Re: Release 2.6.0 ...

Posted by elect on May 06, 2025; 11:58am
URL: https://forum.jogamp.org/Release-2-6-0-tp4042889p4043753.html

Hello,

recently I've been working on publishing properly the natives with Gradle and I'd like to fix that for the upstream libraries I come in contact with, Jogamp included

using a properly configured Jogamp publication, Gradle users could just write

        implementation("org.jogamp.gluegen:gluegen-rt:2.6.0")
        implementation("org.jogamp.jogl:jogl-all:2.6.0")


and then Gradle will automatically fetch the corresponding native for the underlying system and add them to the runtime configurations

in my case on Ubuntu:

> Task :checkClasspath
=== COMPILE ===
gluegen-rt-2.6.0.jar
jogl-all-2.6.0.jar
=== RUNTIME ===
gluegen-rt-2.6.0.jar
gluegen-rt-2.6.0-linux-amd64.jar
jogl-all-2.6.0.jar
jogl-all-2.6.0-linux-amd64.jar


The idea would be to inject the Gradle in the publication process, by adding the generated metadata into the publication.

You can take a look at the Scijava POM here, where the .module file is the metadata file I'm talking about

When the Gradle clients parse the xml pom and finds, at the begin, this line

do_not_remove: published-with-gradle-metadata

like here, then it will ignore the pom and consume directly only the metadata file, which is a richer format and can express these kinds of relations

if interested, I can provide a PR