New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update documentation and modularize the Java bindings #969

Merged
merged 5 commits into from May 4, 2018

Conversation

Projects
None yet
2 participants
@desruisseaux
Contributor

desruisseaux commented May 2, 2018

The 3 first commits are changes in the documentation only or in the use of a #define instruction without any API or functional change. The last commit moves all Java classes in an org.osgeo.proj sub-directory with no change in the content of those files. This move is for leveraging a new Java feature, which supports modularization since Java 9. By moving the classes in an org.osgeo.proj directory, we are creating a new Java module named "org.osgeo.proj". This module name is consistent with the package name proposed in #903 (module name and package name are two different things, but for a small project like those JNI wrappers they should be the same).

This merge request does not yet apply any API change. In particular the package name still have its old name (org.proj4). Package names will be addressed later.

desruisseaux added some commits May 2, 2018

Replacement of "Proj.4 library" by "Proj library" and other documenta…
…tion update or formatting.

There is no code change in this commit, except the addition of @Native annotation on a constant.
@kbevers

This comment has been minimized.

Member

kbevers commented May 2, 2018

Looks good to me. Since you are now touching the documentation it would be good if you could use the correct spelling of the library: PROJ (and not Proj). I am trying to keep it consistent in all of the documentation.

Am I correct in saying there is no breaking changes for users with this PR?

@desruisseaux

This comment has been minimized.

Contributor

desruisseaux commented May 2, 2018

No problem (I didn't noticed that the PROJ was all upper-case). Do I update this merge request or do we wait for the next round?

There is no breaking change for users with this pull request, except that it requires Java 9 (current Java release is 10). If support for older Java versions is required, it would be possible at the cost of a more complex build.xml file.

@kbevers

This comment has been minimized.

Member

kbevers commented May 2, 2018

Do I update this merge request or do we wait for the next round?

Just change it now

There is no breaking change for users with this pull request, except that it requires Java 9 (current Java release is 10). If support for older Java versions is required, it would be possible at the cost of a more complex build.xml file.

I think we're good as it is now then. I was mainly asking since we should not make breaking changes in minor version releases. PROJ 6 is scheduled for release early next year so that is a good opportunity to introduce breaking changes.

desruisseaux added some commits May 2, 2018

Modularize the Proj Java package:
- Move the jniwrap/org/ directory into the jniwrap/org.osgeo.proj/ sub-directory ("org.osgeo.proj" is the module).
- Add a module-info.java description.
- Update the Makefile.am files for referencing the files in their new location.

There is no API change at this stage; all moved classes are still the same that previous version.

@desruisseaux desruisseaux force-pushed the Geomatys:master branch from a08b85a to 61d5248 May 2, 2018

@desruisseaux

This comment has been minimized.

Contributor

desruisseaux commented May 2, 2018

Done. Travis build passed, waiting for AppVeyor.

@kbevers kbevers merged commit 8dcdf56 into OSGeo:master May 4, 2018

3 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
coverage/coveralls Coverage remained the same at 77.514%
Details

@kbevers kbevers added this to the 5.1.0 milestone May 7, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment