You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sis.apache.org by Martin Desruisseaux <ma...@geomatys.com> on 2017/04/09 16:55:18 UTC

Should we provide a standalone JSR-363 implementation?

Hello all

As a side effect of Apache SIS 0.8 development, we provided a JSR-363
(Unit of Measurement API) implementation in the sis-utility module. That
module is about 900 kb large, and I suspect that some peoples may be
interested in the JSR-363 implementation alone without all the remaining
stuff in sis-utility module and without GeoAPI dependency. I'm thinking
about providing that in a separated Maven artifact, which could be named
sis-uom. That artifact would have the following properties:

  * Would be separated from the main Apache SIS project, with its own
    version number.
  * Would contain a copy of the minimal amount of Apache SIS classes
    needed to implement JSR-363.
  * Some geospatial-specific stuff like EPSG codes would be omitted.
  * The main Apache SIS project would NOT depends on that sis-uom
    module, because the version in the main SIS project would have some
    extra more like EPSG codes.

I'm tempted to keep the same package name (org.apache.sis.measure) for
the classes in the sis-uom module, with a promise to keep sis-utility
100% binary compatible with sis-utility module. In other words, sis-uom
would not be an independent module, but a profile of sis-utility. This
is the same idea than "compact1", "compact2", etc. profiles of the
standard JDK.

If a project got both the sis-utility module and the sis-uom profile on
the classpath (e.g. through transitive dependencies), then the sis-uom
profile would be simply excluded since sis-utility module would contain
all the sis-uom public API and more. The intend is to simplify
interoperability between Apache SIS and non-geospatial project that
would use sis-uom (if any) since we would still have only one unit
framework.

Any though?

    Martin



Re: Should we provide a standalone JSR-363 implementation?

Posted by Martin Desruisseaux <ma...@geomatys.com>.
Thanks Chris. I created a JSR-37-363 "branch".

    https://svn.apache.org/repos/asf/sis/branches/JSR-363/

I put it in the "branches" directory for now. It may be more appropriate
to put it in a "profiles" directory instead, but I'm not sure it is
worth to create such directory only for JSR-363.

This initial commit does not yet contain the copy of SIS classes; it
uses a temporary dependency to sis-utility in the meantime. The
interesting part is the execution of JSR-363 TCK tests.

    Martin


Le 09/04/2017 � 18:57, Chris Mattmann a �crit :
> Sounds good to me, +1 Martin. Makes sense.
>
> Cheers,
> Chris


Re: Should we provide a standalone JSR-363 implementation?

Posted by Chris Mattmann <ma...@apache.org>.
Sounds good to me, +1 Martin. Makes sense.

Cheers,
Chris




On 4/9/17, 9:55 AM, "Martin Desruisseaux" <ma...@geomatys.com> wrote:

    Hello all
    
    As a side effect of Apache SIS 0.8 development, we provided a JSR-363
    (Unit of Measurement API) implementation in the sis-utility module. That
    module is about 900 kb large, and I suspect that some peoples may be
    interested in the JSR-363 implementation alone without all the remaining
    stuff in sis-utility module and without GeoAPI dependency. I'm thinking
    about providing that in a separated Maven artifact, which could be named
    sis-uom. That artifact would have the following properties:
    
      * Would be separated from the main Apache SIS project, with its own
        version number.
      * Would contain a copy of the minimal amount of Apache SIS classes
        needed to implement JSR-363.
      * Some geospatial-specific stuff like EPSG codes would be omitted.
      * The main Apache SIS project would NOT depends on that sis-uom
        module, because the version in the main SIS project would have some
        extra more like EPSG codes.
    
    I'm tempted to keep the same package name (org.apache.sis.measure) for
    the classes in the sis-uom module, with a promise to keep sis-utility
    100% binary compatible with sis-utility module. In other words, sis-uom
    would not be an independent module, but a profile of sis-utility. This
    is the same idea than "compact1", "compact2", etc. profiles of the
    standard JDK.
    
    If a project got both the sis-utility module and the sis-uom profile on
    the classpath (e.g. through transitive dependencies), then the sis-uom
    profile would be simply excluded since sis-utility module would contain
    all the sis-uom public API and more. The intend is to simplify
    interoperability between Apache SIS and non-geospatial project that
    would use sis-uom (if any) since we would still have only one unit
    framework.
    
    Any though?
    
        Martin