Since those branches are made to match a given geoapi version we could
include it in the version number :
* master : "1.0-SNAPSHOT"
* geoapi-3.1: "GEOAPI-3.1-SNAPSHOT"
* geoapi-4.0: "GEOAPI-4.X-SNAPSHOT"
It would make it obvious and avoid conflicts with any futur geoapi versions
branches.
Johann
On 10/05/2019 11:06, Martin Desruisseaux wrote:
Hello all
Apache SIS currently has 3 branches, but only one of them is released.
For understanding the purpose of those 3 branches, we need to remind the
status of GeoAPI:
* GeoAPI 3.0.1 is the latest release published by OGC.
* GeoAPI 3.1 is in development, not yet released by OGC, and aimed to
be fully backward compatible with GeoAPI 3.0.1.
* GeoAPI 4.0 is in development, not yet released by OGC, and contains
two kinds of incompatible changes:
o Incompatible changes in ISO/OGC standards (e.g. some classes
renamed, or some information reorganized in a different class
hierarchy).
o Incompatible changes if we want to leverage evolution of Java
language (e.g. use of java.time in replacement of
java.util.Date, or use of java.util.Optional).
The 3 branches of Apache SIS reflect those 3 three versions of GeoAPI:
* Apache SIS "master" branch implements GeoAPI 3.0.1 interfaces. This
is the only branch used for making Apache SIS releases. The next
planed release is Apache SIS 1.0.
* Apache SIS "geoapi-3.1" branch implements GeoAPI 3.1 interfaces.
This is a branch for developers, not to be released before OGC
publishes GeoAPI 3.1. When ready for a release, the version number
would be "Apache SIS 1.something" where "something" is currently
unknown.
* Apache SIS "geoapi-4.0" branch implements GeoAPI 4.0 interfaces.
This is a branch for developers, not to be released before OGC
publishes GeoAPI 4.0 (but snapshots and milestones are deployed on a
Maven repository outside Apache for use by Geotk - a sandbox for
future SIS features). When ready for a release, the version number
would be "Apache SIS 2.0".
The pom.xml files currently declare the following version numbers for
each branch:
* master: "1.0-SNAPSHOT"
* geoapi-3.1: "dev-1.0-SNAPSHOT"
* geoapi-4.0: "dev-1.0-SNAPSHOT" (same as geoapi-3.1).
I propose to change as below. Those changes would apply to versions
declared in pom.xml files only; the branch names would stay unchanged.
* master: "1.0-SNAPSHOT" (unchanged)
* geoapi-3.1: "1.future-SNAPSHOT"
* geoapi-4.0: "2.0-SNAPSHOT"
Though?
Martin