Skip to content
Martin Desruisseaux edited this page Feb 18, 2023 · 6 revisions

PROJ-JNI development notes

This page contains notes about PROJ-JNI development.

Branches

The project contains 3 branches:

  • main is where developments happen. The Java classes implement GeoAPI 3.0.2 interfaces. For compilation, see Install. For running, see Example.
  • geoapi-4.0 is a port of main to a milestone of GeoAPI 4.0 interfaces. Since GeoAPI 4 is not yet released, this branch is not ready for release neither.
  • gh-pages contains the Javadoc and installation instructions.

Tests

The project contains a few JUnit tests on its own. Those tests are executed as part of the Maven build. More tests are available in separated project. See GIGS tests for more details.

Release management

For performing a release:

  • Replace 2.1-SNAPSHOT by the actual version number (3 occurrences).
  • Run mvn clean install javadoc:javadoc.
  • Verify main/target/site/apidocs/index.html in a browser.
  • If successful, commit, tag as 2.1 and push. Otherwise abort.
  • Move main/target/site/apidocs/* to the gh-pages branch (replace all previous content) and push.
  • Change again the version numbers that were replaced in the first step: set to 2.2-SNAPSHOT.
  • Test with mvn clean install javadoc:javadoc. If successful, commit and push.
  • Close the milestone on GitHub and create a new one for next release.
  • Create a release from the tag on GitHub.
  • Edit this wiki page: replace occurrences of 2.2 by 2.3 then occurrences of 2.1 by 2.2.
  • Make an announcement on GitHub discussions.
Clone this wiki locally