Java 3D: Use Maven to build, and publish Maven artifacts

Posted by ctrueden on
URL: https://forum.jogamp.org/Java-3D-Use-Maven-to-build-and-publish-Maven-artifacts-tp4035555.html

Hi everyone,

At Sven's request, I am posting here about the recent work I did to Mavenize the Java 3D 1.6 codebase.

Mavenizing the codebase

The relevant issue on GitHub is hharrison/java3d-core#14: an issue about publishing Maven artifacts to Maven Central, but there is a related-but-separate issue of whether to Mavenize the Java 3D build system.

I personally believe we should do so, so I did it:

In order to complete the Mavenization, it was necessary to break the circular dependency between java3d-core and java3d-utils (see hharrison/java3d-core#17). PRs were filed for that work:

And I filed a PR for the Mavenization of vecmath:

These patches are all still awaiting review from Harvey.

The SciJava fork

Because it has been 8 months since I did the Mavenization of the Java 3D components, and there did not seem to be forward progress upstream, I (temporarily!) forked the components to my project's SciJava organization on GitHub:

I also published unofficial builds to Maven Central. I marked these clearly as unofficial according to Maven best practice, by changing the groupId and adding a version suffix.

I want to be clear that it was not my intent to create a permanent fork of Java 3D—I would much rather contribute changes upstream. But the JOGL version of Java 3D has been around for years now and I thought the community would benefit from a way to depend on it using industry standard tools, even unofficially for the time being.

To those responsible for maintaining these components: I greatly appreciate all your time and effort. Just let me know what I can do to help move things forward.

Regards,
Curtis