sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1813747 [1/13] - in /sis/branches/JDK9: ./ application/ application/sis-console/ application/sis-console/src/main/artifact/ application/sis-console/src/main/artifact/lib/ application/sis-console/src/main/artifact/lib/darwin/ application/si...
Date Mon, 30 Oct 2017 10:25:10 GMT
Author: desruisseaux
Date: Mon Oct 30 10:25:08 2017
New Revision: 1813747

URL: http://svn.apache.org/viewvc?rev=1813747&view=rev
Log:
Merge from JDK8 branch.

Added:
    sis/branches/JDK9/application/sis-console/src/main/artifact/lib/darwin/
      - copied from r1813745, sis/branches/JDK8/application/sis-console/src/main/artifact/lib/darwin/
    sis/branches/JDK9/application/sis-console/src/main/artifact/lib/linux/
      - copied from r1813745, sis/branches/JDK8/application/sis-console/src/main/artifact/lib/linux/
    sis/branches/JDK9/application/sis-console/src/main/artifact/lib/windows/
      - copied from r1813745, sis/branches/JDK8/application/sis-console/src/main/artifact/lib/windows/
    sis/branches/JDK9/application/sis-javafx/src/main/java/org/apache/sis/gui/Resources.java
      - copied unchanged from r1813745, sis/branches/JDK8/application/sis-javafx/src/main/java/org/apache/sis/gui/Resources.java
    sis/branches/JDK9/application/sis-javafx/src/main/java/org/apache/sis/gui/Resources.properties
      - copied unchanged from r1813745, sis/branches/JDK8/application/sis-javafx/src/main/java/org/apache/sis/gui/Resources.properties
    sis/branches/JDK9/application/sis-javafx/src/main/java/org/apache/sis/gui/Resources_fr.properties
      - copied unchanged from r1813745, sis/branches/JDK8/application/sis-javafx/src/main/java/org/apache/sis/gui/Resources_fr.properties
    sis/branches/JDK9/application/sis-javafx/src/main/java/org/apache/sis/gui/crs/
      - copied from r1813745, sis/branches/JDK8/application/sis-javafx/src/main/java/org/apache/sis/gui/crs/
    sis/branches/JDK9/application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/
      - copied from r1813745, sis/branches/JDK8/application/sis-javafx/src/main/java/org/apache/sis/gui/dataset/
    sis/branches/JDK9/application/sis-javafx/src/main/java/org/apache/sis/internal/
      - copied from r1813745, sis/branches/JDK8/application/sis-javafx/src/main/java/org/apache/sis/internal/
    sis/branches/JDK9/application/sis-javafx/src/main/resources/
      - copied from r1813745, sis/branches/JDK8/application/sis-javafx/src/main/resources/
    sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/internal/feature/GeometryWrapper.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-feature/src/main/java/org/apache/sis/internal/feature/GeometryWrapper.java
    sis/branches/JDK9/core/sis-feature/src/test/java/org/apache/sis/feature/builder/AssociationRoleBuilderTest.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-feature/src/test/java/org/apache/sis/feature/builder/AssociationRoleBuilderTest.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/EllipsoidalHeightCombiner.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/EllipsoidalHeightCombiner.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxy.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/EPSGFactoryProxy.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Fallback.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Fallback.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/LazySet.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/LazySet.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftMethod.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/DatumShiftMethod.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MapProjection3D.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MapProjection3D.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/LazySynchronizedIterator.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/LazySynchronizedIterator.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CompoundCRSBuilder.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CompoundCRSBuilder.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/AbridgedMolodenskyTransform2D.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/AbridgedMolodenskyTransform2D.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/geometry/ArrayEnvelopeTest.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/geometry/ArrayEnvelopeTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/internal/metadata/EllipsoidalHeightCombinerTest.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/metadata/EllipsoidalHeightCombinerTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/CoordinateOperationsTest.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/CoordinateOperationsTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/LazySetTest.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/LazySetTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/TestFactorySource.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/TestFactorySource.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/AbridgedMolodenskyTransformTest.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/AbridgedMolodenskyTransformTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/test/integration/CoordinateReferenceSystemTest.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-referencing/src/test/java/org/apache/sis/test/integration/CoordinateReferenceSystemTest.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/NameValue.java
      - copied unchanged from r1813745, sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/NameValue.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/jdk9/
      - copied from r1813745, sis/branches/JDK8/core/sis-utility/src/main/java/org/apache/sis/internal/jdk9/
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/
      - copied from r1813745, sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/folder/
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/io/RewindableLineReader.java
      - copied unchanged from r1813745, sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/io/RewindableLineReader.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/wkt/StoreFormat.java
      - copied unchanged from r1813745, sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/wkt/StoreFormat.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/storage/Query.java
      - copied unchanged from r1813745, sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/storage/Query.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/storage/UnsupportedQueryException.java
      - copied unchanged from r1813745, sis/branches/JDK8/storage/sis-storage/src/main/java/org/apache/sis/storage/UnsupportedQueryException.java
    sis/branches/JDK9/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/folder/
      - copied from r1813745, sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/folder/
    sis/branches/JDK9/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/io/RewindableLineReaderTest.java
      - copied unchanged from r1813745, sis/branches/JDK8/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/io/RewindableLineReaderTest.java
    sis/branches/JDK9/storage/sis-storage/src/test/resources/org/apache/sis/internal/
      - copied from r1813745, sis/branches/JDK8/storage/sis-storage/src/test/resources/org/apache/sis/internal/
Removed:
    sis/branches/JDK9/application/sis-javafx/src/main/java/org/apache/sis/gui/ClientApplication.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gml/CodeType.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/util/Fallback.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/util/LazySet.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/util/LazySynchronizedIterator.java
    sis/branches/JDK9/core/sis-utility/src/test/java/org/apache/sis/internal/util/LazySetTest.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/AbstractDataSet.java
Modified:
    sis/branches/JDK9/   (props changed)
    sis/branches/JDK9/application/pom.xml
    sis/branches/JDK9/application/sis-console/pom.xml
    sis/branches/JDK9/application/sis-console/src/main/artifact/README
    sis/branches/JDK9/application/sis-console/src/main/artifact/lib/README
    sis/branches/JDK9/application/sis-console/src/main/java/org/apache/sis/console/ResourcesDownloader.java
    sis/branches/JDK9/application/sis-console/src/test/java/org/apache/sis/console/MetadataCommandTest.java
    sis/branches/JDK9/application/sis-javafx/pom.xml
    sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Assembler.java
    sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/BundleCreator.java
    sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Filenames.java
    sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/JarCollector.java
    sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/PackInput.java
    sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/PackOutput.java
    sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Packer.java
    sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/package-info.java
    sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/unopkg/UnoPkg.java
    sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java
    sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultFeatureType.java
    sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/FeatureFormat.java
    sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/NamedFeatureType.java
    sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/builder/FeatureTypeBuilder.java
    sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/internal/feature/ESRI.java
    sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/internal/feature/Geometries.java
    sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/internal/feature/JTS.java
    sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/internal/feature/Java2D.java
    sis/branches/JDK9/core/sis-feature/src/test/java/org/apache/sis/feature/FeatureFormatTest.java
    sis/branches/JDK9/core/sis-feature/src/test/java/org/apache/sis/feature/builder/FeatureTypeBuilderTest.java
    sis/branches/JDK9/core/sis-feature/src/test/java/org/apache/sis/test/suite/FeatureTestSuite.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/jaxb/metadata/direct/GO_ScopedName.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/AxisDirections.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/NameMeaning.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/ReferencingServices.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/internal/metadata/sql/Initializer.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Convention.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/GeodeticObjectParser.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/Symbols.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/io/wkt/package-info.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/DefaultIdentifier.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/ImmutableIdentifier.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/Citations.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/citation/DefaultResponsibleParty.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultBoundingPolygon.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultExtent.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultGeographicBoundingBox.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultTemporalExtent.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/DefaultVerticalExtent.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/extent/Extents.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/iso/spatial/DefaultGCP.java
    sis/branches/JDK9/core/sis-metadata/src/main/java/org/apache/sis/metadata/sql/MetadataSource.java
    sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/internal/metadata/NameMeaningTest.java
    sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/internal/metadata/sql/TestDatabase.java
    sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/citation/CitationsTest.java
    sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/extent/DefaultExtentTest.java
    sis/branches/JDK9/core/sis-metadata/src/test/java/org/apache/sis/metadata/iso/extent/ExtentsTest.java
    sis/branches/JDK9/core/sis-referencing-by-identifiers/src/main/java/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/geometry/AbstractEnvelope.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/geometry/ArrayEnvelope.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelope2D.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/geometry/Envelopes.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/geometry/GeneralEnvelope.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/geometry/Shapes2D.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/jaxb/referencing/Code.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/CoordinateOperations.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/GeodeticObjectBuilder.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ReferencingUtilities.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Resources.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Resources.properties
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/Resources_fr.properties
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/ServicesForMetadata.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/j2d/AffineMatrix.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Affine.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/AlbersEqualArea.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/GeocentricAffine.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/MapProjection.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/internal/referencing/provider/Providers.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionDescriptor.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/parameter/MapProjectionParameters.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/parameter/ParameterBuilder.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/AuthorityFactories.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/Builder.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/CRS.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/EPSGFactoryFallback.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/IdentifiedObjects.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/NamedIdentifier.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/crs/DefaultCompoundCRS.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/cs/AxesConvention.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/AbstractDatum.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/datum/DefaultPrimeMeridian.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/AuthorityFactoryProxy.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticAuthorityFactory.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/GeodeticObjectFactory.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/MultiAuthoritiesFactory.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGFactory.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGInstaller.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/InstallationScriptProvider.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/package-info.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractCoordinateOperation.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/AbstractSingleOperation.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CRSPair.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationFinder.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/CoordinateOperationRegistry.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactory.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/MathTransformContext.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/package-info.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/AlbersEqualArea.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/CylindricalEqualArea.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/EqualAreaProjection.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ObliqueStereographic.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/PolarStereographic.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/projection/ProjectionException.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/AbstractMathTransform.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/DefaultMathTransformFactory.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MolodenskyTransform.java
    sis/branches/JDK9/core/sis-referencing/src/main/java/org/apache/sis/referencing/operation/transform/MolodenskyTransform2D.java
    sis/branches/JDK9/core/sis-referencing/src/main/resources/META-INF/services/org.opengis.referencing.crs.CRSAuthorityFactory
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/geometry/AbstractEnvelopeTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/geometry/CoordinateFormatTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/geometry/EnvelopesTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/geometry/GeneralEnvelopeTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/geometry/ImmutableEnvelopeTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/geometry/Shapes2DTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/geometry/TransformTestCase.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/ReferencingUtilitiesTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/ServicesForMetadataTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/DatumShiftTestCase.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/internal/referencing/provider/ProvidersTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/AuthorityFactoriesTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/CRSTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/crs/DefaultCompoundCRSTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/CodesTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/cs/HardCodedCS.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/AuthorityFactoryMock.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/CommonAuthorityFactoryTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/GIGS2001.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/GIGS2002.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/GIGS2003.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/GIGS2004.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/GIGS2005.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/GIGS2006.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/GIGS2007.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/GIGS2008.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/GIGS2009.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/MultiAuthoritiesFactoryTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/sql/EPSGFactoryTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/sql/EPSGInstallerTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/factory/sql/epsg/package.html
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/CoordinateOperationFinderTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/CoordinateOperationRegistryTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/DefaultCoordinateOperationFactoryTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/HardCodedConversions.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/projection/AlbersEqualAreaTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/referencing/operation/transform/MathTransformTestCase.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/test/ReferencingAssert.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/test/integration/ConsistencyTest.java
    sis/branches/JDK9/core/sis-referencing/src/test/java/org/apache/sis/test/suite/ReferencingTestSuite.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/PrimitiveTypeProperties.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/jaxb/gco/NameAdapter.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/system/DataDirectory.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/system/DefaultFactories.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/system/OS.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/system/Supervisor.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/util/Citations.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/util/CollectionsExt.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/util/Constants.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/internal/util/DefinitionURI.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/math/Fraction.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/measure/UnitFormat.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/measure/Units.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/setup/About.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/setup/InstallationResources.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/setup/OptionKey.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/util/ArraysExt.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/util/CharSequences.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/util/Exceptions.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/util/collection/IntegerList.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/util/collection/RangeSet.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/util/iso/DefaultLocalName.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/util/iso/TypeNames.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/util/iso/package-info.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/util/logging/Logging.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/util/logging/QuietLogRecord.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/util/logging/WarningListeners.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/xml/NilReason.java
    sis/branches/JDK9/core/sis-utility/src/main/java/org/apache/sis/xml/Pooled.java
    sis/branches/JDK9/core/sis-utility/src/test/java/org/apache/sis/internal/converter/PathConverterTest.java
    sis/branches/JDK9/core/sis-utility/src/test/java/org/apache/sis/internal/util/CitationsTest.java
    sis/branches/JDK9/core/sis-utility/src/test/java/org/apache/sis/internal/util/DefinitionURITest.java
    sis/branches/JDK9/core/sis-utility/src/test/java/org/apache/sis/measure/RangeTest.java
    sis/branches/JDK9/core/sis-utility/src/test/java/org/apache/sis/measure/UnitsTest.java
    sis/branches/JDK9/core/sis-utility/src/test/java/org/apache/sis/test/Assert.java
    sis/branches/JDK9/core/sis-utility/src/test/java/org/apache/sis/test/Assume.java
    sis/branches/JDK9/core/sis-utility/src/test/java/org/apache/sis/test/suite/UtilityTestSuite.java
    sis/branches/JDK9/core/sis-utility/src/test/java/org/apache/sis/util/collection/IntegerListTest.java
    sis/branches/JDK9/core/sis-utility/src/test/java/org/apache/sis/xml/OGCNamespacePrefixMapperTest.java
    sis/branches/JDK9/ide-project/NetBeans/build.xml
    sis/branches/JDK9/ide-project/NetBeans/nbproject/project.properties
    sis/branches/JDK9/ide-project/NetBeans/nbproject/project.xml
    sis/branches/JDK9/pom.xml
    sis/branches/JDK9/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/earthobservation/LandsatReader.java
    sis/branches/JDK9/storage/sis-earth-observation/src/main/java/org/apache/sis/storage/earthobservation/LandsatStore.java
    sis/branches/JDK9/storage/sis-earth-observation/src/test/java/org/apache/sis/storage/earthobservation/LandsatReaderTest.java
    sis/branches/JDK9/storage/sis-gdal/src/main/java/org/apache/sis/storage/gdal/Proj4.java
    sis/branches/JDK9/storage/sis-gdal/src/main/java/org/apache/sis/storage/gdal/Proj4Factory.java
    sis/branches/JDK9/storage/sis-gdal/src/test/java/org/apache/sis/storage/gdal/PJTest.java
    sis/branches/JDK9/storage/sis-geotiff/src/main/java/org/apache/sis/storage/geotiff/GeoTiffStore.java
    sis/branches/JDK9/storage/sis-geotiff/src/test/java/org/apache/sis/storage/geotiff/CRSBuilderTest.java
    sis/branches/JDK9/storage/sis-netcdf/pom.xml
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Axis.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/DataType.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Decoder.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/DiscreteSampling.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/GridGeometry.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/NamedElement.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Resources.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Resources.properties
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Resources_fr.properties
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/Variable.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/ChannelDecoder.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/Dimension.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/FeaturesInfo.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/GridGeometryInfo.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/VariableInfo.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/impl/package-info.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/package-info.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar/DecoderWrapper.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar/FeaturesWrapper.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar/GridGeometryWrapper.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar/LogAdapter.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar/VariableWrapper.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/internal/netcdf/ucar/package-info.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/AttributeNames.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/MetadataReader.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/NetcdfStore.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/NetcdfStoreProvider.java
    sis/branches/JDK9/storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/package-info.java
    sis/branches/JDK9/storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/DataTypeTest.java
    sis/branches/JDK9/storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/DecoderTest.java
    sis/branches/JDK9/storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/TestCase.java
    sis/branches/JDK9/storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/VariableTest.java
    sis/branches/JDK9/storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/impl/ChannelDecoderTest.java
    sis/branches/JDK9/storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/impl/GridGeometryInfoTest.java
    sis/branches/JDK9/storage/sis-netcdf/src/test/java/org/apache/sis/internal/netcdf/impl/VariableInfoTest.java
    sis/branches/JDK9/storage/sis-netcdf/src/test/java/org/apache/sis/storage/netcdf/ConformanceTest.java
    sis/branches/JDK9/storage/sis-netcdf/src/test/java/org/apache/sis/storage/netcdf/MetadataReaderTest.java
    sis/branches/JDK9/storage/sis-netcdf/src/test/java/org/apache/sis/storage/netcdf/NetcdfStoreProviderTest.java
    sis/branches/JDK9/storage/sis-netcdf/src/test/java/org/apache/sis/storage/netcdf/NetcdfStoreTest.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/AbstractFeatureSet.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/AbstractResource.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/MetadataBuilder.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/Resources.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/Resources.properties
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/Resources_fr.properties
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/StoreTypeDetector.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/URIDataStore.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/csv/Store.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/io/ChannelData.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/io/ChannelDataInput.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/io/ChannelFactory.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/io/IOUtilities.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/io/InputStreamAdapter.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/io/Markable.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/internal/storage/wkt/Store.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/storage/Aggregate.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStore.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStoreProvider.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/storage/DataStoreRegistry.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/storage/FeatureSet.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/storage/IllegalOpenParameterException.java
    sis/branches/JDK9/storage/sis-storage/src/main/java/org/apache/sis/storage/StorageConnector.java
    sis/branches/JDK9/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/io/ChannelDataInputTest.java
    sis/branches/JDK9/storage/sis-storage/src/test/java/org/apache/sis/internal/storage/io/IOUtilitiesTest.java
    sis/branches/JDK9/storage/sis-storage/src/test/java/org/apache/sis/storage/StorageConnectorTest.java
    sis/branches/JDK9/storage/sis-storage/src/test/java/org/apache/sis/test/suite/StorageTestSuite.java
    sis/branches/JDK9/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/gpx/Person.java
    sis/branches/JDK9/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/gpx/Store.java
    sis/branches/JDK9/storage/sis-xmlstore/src/main/java/org/apache/sis/internal/storage/xml/stream/StaxDataStore.java

Propchange: sis/branches/JDK9/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Oct 30 10:25:08 2017
@@ -1,4 +1,4 @@
 /sis/branches/Android:1430670-1480699
 /sis/branches/JDK6:1394913-1508480
-/sis/branches/JDK8:1773327-1807623
+/sis/branches/JDK8:1773327-1813745
 /sis/trunk:1394364-1508466,1519089-1519674

Modified: sis/branches/JDK9/application/pom.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/application/pom.xml?rev=1813747&r1=1813746&r2=1813747&view=diff
==============================================================================
--- sis/branches/JDK9/application/pom.xml (original)
+++ sis/branches/JDK9/application/pom.xml Mon Oct 30 10:25:08 2017
@@ -76,6 +76,7 @@
         <executions>
           <execution>
             <goals>
+              <goal>compile-resources</goal>
               <goal>collect-jars</goal>
             </goals>
           </execution>

Modified: sis/branches/JDK9/application/sis-console/pom.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/application/sis-console/pom.xml?rev=1813747&r1=1813746&r2=1813747&view=diff
==============================================================================
--- sis/branches/JDK9/application/sis-console/pom.xml (original)
+++ sis/branches/JDK9/application/sis-console/pom.xml Mon Oct 30 10:25:08 2017
@@ -100,6 +100,29 @@ Console application.
     </plugins>
   </build>
 
+  <!-- Create the binary distribution file, including PACK200 bundle. -->
+  <profiles>
+    <profile>
+      <id>apache-release</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.sis.core</groupId>
+            <artifactId>sis-build-helper</artifactId>
+            <version>${sis.plugin.version}</version>
+            <executions>
+              <execution>
+                <goals>
+                  <goal>dist</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+
 
   <!-- ===========================================================
            Dependencies
@@ -129,10 +152,16 @@ Console application.
       <version>${project.version}</version>
       <scope>runtime</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.sis.storage</groupId>
+      <artifactId>sis-gdal</artifactId>
+      <version>${project.version}</version>
+      <scope>runtime</scope>
+    </dependency>
 
     <!-- Test dependencies -->
     <dependency>
-      <!-- For UCAR NetCDF -->
+      <!-- For UCAR netCDF -->
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-jdk14</artifactId>
       <scope>test</scope>

Modified: sis/branches/JDK9/application/sis-console/src/main/artifact/README
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/application/sis-console/src/main/artifact/README?rev=1813747&r1=1813746&r2=1813747&view=diff
==============================================================================
--- sis/branches/JDK9/application/sis-console/src/main/artifact/README [UTF-8] (original)
+++ sis/branches/JDK9/application/sis-console/src/main/artifact/README [UTF-8] Mon Oct 30 10:25:08 2017
@@ -44,7 +44,7 @@ encoding to UTF-8:
     export SIS_OPTS="--encoding UTF-8"
 
 Optional dependencies can be added to the 'lib' folder. For example adding the
-UCAR NetCDF library in the 'lib' folder will cause Apache SIS to decode a
+UCAR netCDF library in the 'lib' folder will cause Apache SIS to decode a
 wider range of file formats like NcML files.
 
 

Modified: sis/branches/JDK9/application/sis-console/src/main/artifact/lib/README
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/application/sis-console/src/main/artifact/lib/README?rev=1813747&r1=1813746&r2=1813747&view=diff
==============================================================================
--- sis/branches/JDK9/application/sis-console/src/main/artifact/lib/README [UTF-8] (original)
+++ sis/branches/JDK9/application/sis-console/src/main/artifact/lib/README [UTF-8] Mon Oct 30 10:25:08 2017
@@ -1,4 +1,12 @@
 This directory contains the sis.jar file together with optional dependencies.
 Recognized optional dependencies are:
 
-  - UCAR NetCDF library
+  - Derby database
+  - UCAR netCDF library
+  - ESRI Geometry API
+  - Java Topology Suite
+
+The "linux", "darwin" and "windows" sub-directories contain bridges to Proj.4
+and other libraries through Java Native Interfaces (JNI). They do not contain
+the actual libraries however; Apache SIS uses the libraries installed on host
+computer by packages manager, if any. Those libraries are optional.

Modified: sis/branches/JDK9/application/sis-console/src/main/java/org/apache/sis/console/ResourcesDownloader.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/application/sis-console/src/main/java/org/apache/sis/console/ResourcesDownloader.java?rev=1813747&r1=1813746&r2=1813747&view=diff
==============================================================================
--- sis/branches/JDK9/application/sis-console/src/main/java/org/apache/sis/console/ResourcesDownloader.java [UTF-8] (original)
+++ sis/branches/JDK9/application/sis-console/src/main/java/org/apache/sis/console/ResourcesDownloader.java [UTF-8] Mon Oct 30 10:25:08 2017
@@ -35,7 +35,7 @@ import java.sql.Connection;
 import org.apache.sis.internal.system.DataDirectory;
 import org.apache.sis.util.resources.Errors;
 import org.apache.sis.internal.util.X364;
-import org.apache.sis.internal.util.Fallback;
+import org.apache.sis.internal.referencing.Fallback;
 import org.apache.sis.setup.InstallationResources;
 
 import static org.apache.sis.internal.util.Constants.EPSG;
@@ -51,7 +51,7 @@ import static org.apache.sis.internal.ut
  * </ul>
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.7
+ * @version 0.8
  * @since   0.7
  * @module
  */
@@ -60,7 +60,7 @@ public class ResourcesDownloader extends
     /**
      * Where to download the EPSG scripts after user has approved the terms of use.
      */
-    private static final String DOWNLOAD_URL = "http://repo1.maven.org/maven2/org/apache/sis/non-free/sis-epsg/0.7/sis-epsg-0.7.jar";
+    private static final String DOWNLOAD_URL = "http://repo1.maven.org/maven2/org/apache/sis/non-free/sis-epsg/0.8/sis-epsg-0.8.jar";
 
     /**
      * Estimation of the EPSG database size after installation, in mega-bytes.
@@ -264,6 +264,26 @@ public class ResourcesDownloader extends
     }
 
     /**
+     * Returns an installation resource for the given authority.
+     * If that question has not already been asked, this method asks to the user if (s)he accepts
+     * EPSG terms of use. If (s)he refuses, an {@link AccessDeniedException} will be thrown.
+     *
+     * @param  authority  one of the values returned by {@link #getAuthorities()}.
+     * @param  index      index of the resource to get, from 0 inclusive to
+     *         <code>{@linkplain #getResourceNames(String) getResourceNames}(authority).length</code> exclusive.
+     * @return the resource as an URL or any other type, at implementation choice.
+     * @throws IllegalArgumentException if the given {@code authority} argument is not one of the expected values.
+     * @throws IndexOutOfBoundsException if the given {@code resource} argument is out of bounds.
+     * @throws IOException if an error occurred while fetching the resource.
+     *
+     * @since 0.8
+     */
+    @Override
+    public Object getResource(final String authority, final int index) throws IOException {
+        return provider(authority, true).getResource(authority, index);
+    }
+
+    /**
      * Returns a reader for the installation script at the given index.
      * This method is invoked by {@link org.apache.sis.referencing.factory.sql.EPSGFactory#install(Connection)}
      * for getting the SQL scripts to execute during EPSG dataset installation.
@@ -277,6 +297,7 @@ public class ResourcesDownloader extends
      * @return a reader for the installation script content.
      * @throws IllegalArgumentException if the given {@code authority} argument is not one of the expected values.
      * @throws IndexOutOfBoundsException if the given {@code resource} argument is out of bounds.
+     * @throws FileNotFoundException if the SQL script of the given name has not been found.
      * @throws IOException if an error occurred while creating the reader.
      */
     @Override

Modified: sis/branches/JDK9/application/sis-console/src/test/java/org/apache/sis/console/MetadataCommandTest.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/application/sis-console/src/test/java/org/apache/sis/console/MetadataCommandTest.java?rev=1813747&r1=1813746&r2=1813747&view=diff
==============================================================================
--- sis/branches/JDK9/application/sis-console/src/test/java/org/apache/sis/console/MetadataCommandTest.java [UTF-8] (original)
+++ sis/branches/JDK9/application/sis-console/src/test/java/org/apache/sis/console/MetadataCommandTest.java [UTF-8] Mon Oct 30 10:25:08 2017
@@ -37,7 +37,7 @@ import static org.junit.Assert.*;
 @DependsOn(CommandRunnerTest.class)
 public final strictfp class MetadataCommandTest extends TestCase {
     /**
-     * Tests the sub-command on a NetCDF file.
+     * Tests the sub-command on a netCDF file.
      *
      * @throws Exception if an error occurred while creating the command.
      */
@@ -51,7 +51,7 @@ public final strictfp class MetadataComm
     }
 
     /**
-     * Verifies the NetCDF metadata. The given string can be either a text format or XML format.
+     * Verifies the netCDF metadata. The given string can be either a text format or XML format.
      * This method will check only for some keyword - this is not an extensive check of the result.
      */
     private static void verifyNetCDF(final String expectedHeader, final String result) {

Modified: sis/branches/JDK9/application/sis-javafx/pom.xml
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/application/sis-javafx/pom.xml?rev=1813747&r1=1813746&r2=1813747&view=diff
==============================================================================
--- sis/branches/JDK9/application/sis-javafx/pom.xml (original)
+++ sis/branches/JDK9/application/sis-javafx/pom.xml Mon Oct 30 10:25:08 2017
@@ -51,7 +51,12 @@ Client application for JavaFX.
        =========================================================== -->
   <developers>
     <developer>
-      <name>Roshan Lakmal</name>
+      <name>Johann Sorel</name>
+      <id>jsorel</id>
+      <email>johann.sorel@geomatys.com</email>
+      <organization>Geomatys</organization>
+      <organizationUrl>http://www.geomatys.com</organizationUrl>
+      <timezone>+1</timezone>
       <roles>
         <role>developer</role>
       </roles>
@@ -88,6 +93,11 @@ Client application for JavaFX.
       <artifactId>sis-metadata</artifactId>
       <version>${project.version}</version>
     </dependency>
+    <dependency>
+      <groupId>org.webjars</groupId>
+      <artifactId>material-design-icons</artifactId>
+      <version>3.0.1</version>
+    </dependency>
   </dependencies>
 
 </project>

Modified: sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Assembler.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Assembler.java?rev=1813747&r1=1813746&r2=1813747&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Assembler.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Assembler.java [UTF-8] Mon Oct 30 10:25:08 2017
@@ -21,11 +21,14 @@ import java.io.IOException;
 import java.io.FilenameFilter;
 import java.io.FileInputStream;
 import java.io.FilterOutputStream;
+import java.util.LinkedHashMap;
+import java.util.Map;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.project.MavenProject;
 import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
 import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
@@ -36,24 +39,23 @@ import static org.apache.sis.internal.ma
 /**
  * Creates a ZIP files containing the content of the <code>application/sis-console/src/main/artifact</code>
  * directory together with the Pack200 file created by <code>BundleCreator</code>.
- * This mojo can be invoked from the command line as below:
+ * This MOJO can be invoked from the command line in the {@code sis-console} module as below:
  *
- * <blockquote><code>mvn org.apache.sis.core:sis-build-helper:dist --non-recursive</code></blockquote>
- *
- * Do not forget the <code>--non-recursive</code> option, otherwise the Mojo will be executed many time.
+ * <blockquote><code>mvn package org.apache.sis.core:sis-build-helper:dist</code></blockquote>
  *
  * <p><b>Current limitation:</b>
  * The current implementation uses some hard-coded paths and filenames.
- * See the <cite>Distribution file and Pack200 bundle</cite> section in the <code>src/site/apt/index.apt</code>
- * file for more information.</p>
+ * See the <cite>Distribution file and Pack200 bundle</cite> section in
+ * <a href="http://sis.apache.org/build.html">Build from source</a> page
+ * for more information.</p>
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.7
+ * @version 0.8
  * @since   0.4
  * @module
  */
-@Mojo(name = "dist", defaultPhase = LifecyclePhase.INSTALL)
-public class Assembler extends AbstractMojo implements FilenameFilter {
+@Mojo(name = "dist", defaultPhase = LifecyclePhase.INSTALL, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME)
+public final class Assembler extends AbstractMojo implements FilenameFilter {
     /**
      * Project information (name, version, URL).
      */
@@ -61,6 +63,13 @@ public class Assembler extends AbstractM
     private MavenProject project;
 
     /**
+     * Base directory of the module to compile.
+     * Artifact content is expected in the {@code "src/main/artifact"} subdirectory.
+     */
+    @Parameter(property="basedir", required=true, readonly=true)
+    private String baseDirectory;
+
+    /**
      * The root directory (without the "<code>target/binaries</code>" sub-directory) where JARs
      * are to be copied. It should be the directory of the root <code>pom.xml</code>.
      */
@@ -80,13 +89,14 @@ public class Assembler extends AbstractM
      */
     @Override
     public void execute() throws MojoExecutionException {
-        final File sourceDirectory = new File(rootDirectory, ARTIFACT_PATH);
+        final File sourceDirectory = new File(baseDirectory, ARTIFACT_PATH);
         if (!sourceDirectory.isDirectory()) {
             throw new MojoExecutionException("Directory not found: " + sourceDirectory);
         }
         final File targetDirectory = new File(rootDirectory, TARGET_DIRECTORY);
         final String version = project.getVersion();
         final String artifactBase = FINALNAME_PREFIX + version;
+        final Map<String,byte[]> nativeFiles = new LinkedHashMap<>();
         try {
             final File targetFile = new File(distributionDirectory(targetDirectory), artifactBase + ".zip");
             try (ZipArchiveOutputStream zip = new ZipArchiveOutputStream(targetFile)) {
@@ -97,20 +107,28 @@ public class Assembler extends AbstractM
                  * have been zipped.  Now generate the Pack200 file and zip it directly (without creating
                  * a temporary "sis.pack.gz" file).
                  */
-                final Packer packer = new Packer(project.getName(), version, targetDirectory);
-                final ZipArchiveEntry entry = new ZipArchiveEntry(
-                        artifactBase + '/' + LIB_DIRECTORY + '/' + FATJAR_FILE + PACK_EXTENSION);
+                final Packer packer = new Packer(project.getName(), version, BundleCreator.files(project), targetDirectory, nativeFiles);
+                ZipArchiveEntry entry = new ZipArchiveEntry(artifactBase + '/' + LIB_DIRECTORY + '/' + FATJAR_FILE + PACK_EXTENSION);
                 entry.setMethod(ZipArchiveEntry.STORED);
                 zip.putArchiveEntry(entry);
                 packer.preparePack200(FATJAR_FILE + ".jar").pack(new FilterOutputStream(zip) {
-                    /*
-                     * Closes the archive entry, not the ZIP file.
-                     */
-                    @Override
-                    public void close() throws IOException {
+                    /** Closes the archive entry, not the ZIP file. */
+                    @Override public void close() throws IOException {
                         zip.closeArchiveEntry();
                     }
                 });
+                /*
+                 * At this point we finished creating all entries in the ZIP file, except native resources.
+                 * Copy them now.
+                 */
+                for (final Map.Entry<String,byte[]> nf : nativeFiles.entrySet()) {
+                    entry = new ZipArchiveEntry(artifactBase + '/' + LIB_DIRECTORY + '/' + nf.getKey());
+                    entry.setUnixMode(0555);        // Readable and executable for all, but not writable.
+                    zip.putArchiveEntry(entry);
+                    zip.write(nf.getValue());
+                    zip.closeArchiveEntry();
+                    nf.setValue(null);
+                }
             }
         } catch (IOException e) {
             throw new MojoExecutionException(e.getLocalizedMessage(), e);
@@ -136,6 +154,7 @@ public class Assembler extends AbstractM
         out.putArchiveEntry(entry);
         if (!entry.isDirectory()) {
             try (FileInputStream in = new FileInputStream(file)) {
+                // TODO: use InputStream.transferTo(OutputStream) with JDK9.
                 int n;
                 while ((n = in.read(buffer)) >= 0) {
                     out.write(buffer, 0, n);
@@ -159,6 +178,6 @@ public class Assembler extends AbstractM
      */
     @Override
     public boolean accept(final File directory, final String filename) {
-        return !filename.isEmpty() && filename.charAt(0) != '.';
+        return !filename.isEmpty() && filename.charAt(0) != '.' && !filename.equals(CONTENT_FILE);
     }
 }

Modified: sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/BundleCreator.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/BundleCreator.java?rev=1813747&r1=1813746&r2=1813747&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/BundleCreator.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/BundleCreator.java [UTF-8] Mon Oct 30 10:25:08 2017
@@ -18,11 +18,15 @@ package org.apache.sis.internal.maven;
 
 import java.io.File;
 import java.io.IOException;
+import java.util.LinkedHashSet;
+import java.util.Set;
+import org.apache.maven.artifact.Artifact;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.project.MavenProject;
 
 import static org.apache.sis.internal.maven.Filenames.*;
@@ -38,16 +42,17 @@ import static org.apache.sis.internal.ma
  *
  * <p><b>Current limitation:</b>
  * The current implementation uses some hard-coded paths and filenames.
- * See the <cite>Distribution file and Pack200 bundle</cite> section in the <code>src/site/apt/index.apt</code>
- * file for more information.</p>
+ * See the <cite>Distribution file and Pack200 bundle</cite> section in
+ * <a href="http://sis.apache.org/build.html">Build from source</a> page
+ * for more information.</p>
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.7
+ * @version 0.8
  * @since   0.3
  * @module
  */
-@Mojo(name = "pack", defaultPhase = LifecyclePhase.INSTALL)
-public class BundleCreator extends AbstractMojo {
+@Mojo(name = "pack", defaultPhase = LifecyclePhase.INSTALL, requiresDependencyResolution = ResolutionScope.COMPILE)
+public final class BundleCreator extends AbstractMojo {
     /**
      * Project information (name, version, URL).
      */
@@ -80,10 +85,30 @@ public class BundleCreator extends Abstr
         }
         final String version = project.getVersion();
         try {
-            final Packer packer = new Packer(project.getName(), version, targetDirectory);
+            final Packer packer = new Packer(project.getName(), version, files(project), targetDirectory, null);
             packer.preparePack200(FINALNAME_PREFIX + version + ".jar").pack();
         } catch (IOException e) {
             throw new MojoExecutionException(e.getLocalizedMessage(), e);
         }
     }
+
+    /**
+     * Returns all files to include for the given Maven project.
+     */
+    static Set<File> files(final MavenProject project) throws MojoExecutionException {
+        final Set<File> files = new LinkedHashSet<>();
+        files.add(project.getArtifact().getFile());
+        for (final Artifact dep : project.getArtifacts()) {
+            final String scope = dep.getScope();
+            if (Artifact.SCOPE_COMPILE.equalsIgnoreCase(scope) ||
+                Artifact.SCOPE_RUNTIME.equalsIgnoreCase(scope))
+            {
+                files.add(dep.getFile());
+            }
+        }
+        if (files.remove(null)) {
+            throw new MojoExecutionException("Invocation of this MOJO shall be done together with a \"package\" Maven phase.");
+        }
+        return files;
+    }
 }

Modified: sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Filenames.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Filenames.java?rev=1813747&r1=1813746&r2=1813747&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Filenames.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Filenames.java [UTF-8] Mon Oct 30 10:25:08 2017
@@ -48,7 +48,8 @@ final class Filenames {
 
     /**
      * The name of the file inside {@value #BINARIES_DIRECTORY} where to list SIS JAR files and their
-     * dependencies on platforms that do not support hard links.
+     * dependencies on platforms that do not support hard links. Also the file to ignore when copying
+     * entries in a ZIP file.
      */
     static final String CONTENT_FILE = "content.txt";
 
@@ -59,9 +60,9 @@ final class Filenames {
     static final String DISTRIBUTION_DIRECTORY = "distribution";
 
     /**
-     * The path to the directory (relative to the project root) to zip for creating the distribution ZIP file.
+     * The path to the directory (relative to the project directory) to zip for creating the distribution ZIP file.
      */
-    static final String ARTIFACT_PATH = "application/sis-console/src/main/artifact";
+    static final String ARTIFACT_PATH = "src/main/artifact";
 
     /**
      * The name of the sub-directory inside {@value #ARTIFACT_PATH} where the Pack200 file will be located.

Modified: sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/JarCollector.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/JarCollector.java?rev=1813747&r1=1813746&r2=1813747&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/JarCollector.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/JarCollector.java [UTF-8] Mon Oct 30 10:25:08 2017
@@ -262,10 +262,10 @@ public final class JarCollector extends
 
     /**
      * Loads the {@value #CONTENT_FILE} from the given directory, if it exists.
-     * Otherwise returns an empty but modifiable set. This method is invoked only on
+     * Otherwise returns an empty but modifiable set. This method is invoked on
      * platforms that do not support hard links.
      */
-    static Set<String> loadDependencyList(final File dependenciesFile) throws IOException {
+    private static Set<String> loadDependencyList(final File dependenciesFile) throws IOException {
         final Set<String> dependencies = new LinkedHashSet<>();
         if (dependenciesFile.exists()) {
             try (BufferedReader in = new BufferedReader(new FileReader(dependenciesFile))) {

Modified: sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/PackInput.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/PackInput.java?rev=1813747&r1=1813746&r2=1813747&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/PackInput.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/PackInput.java [UTF-8] Mon Oct 30 10:25:08 2017
@@ -16,6 +16,7 @@
  */
 package org.apache.sis.internal.maven;
 
+import java.util.Map;
 import java.util.Enumeration;
 import java.util.jar.*;
 import java.io.File;
@@ -29,7 +30,7 @@ import java.io.InputStream;
  * Those files will be open in read-only mode.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.3
+ * @version 0.8
  * @since   0.3
  * @module
  */
@@ -51,6 +52,12 @@ final class PackInput implements Closeab
     static final String SERVICES = META_INF + "services/";
 
     /**
+     * The prefix of native resources in JAR files. All those resources will be excluded from
+     * the PACK200 file and stored in {@link #nativeFiles} instead (unless the map is null).
+     */
+    private static final String NATIVE = "native/";
+
+    /**
      * The attribute name in {@code MANIFEST.MF} files for splash screen.
      */
     static final Attributes.Name SPLASH_SCREEN = new Attributes.Name("SplashScreen-Image");
@@ -63,12 +70,19 @@ final class PackInput implements Closeab
     /**
      * The main class obtained from the manifest, or {@code null} if none.
      */
-    public final String mainClass;
+    final String mainClass;
 
     /**
      * The splash screen image obtained from the manifest, or {@code null} if none.
      */
-    public final String splashScreen;
+    final String splashScreen;
+
+    /**
+     * The map where to store native files found during iteration over the JAR entries.
+     * Keys are filename without the {@value #NATIVE} prefix. Values are the actual data.
+     * If null, then no native files filtering is done.
+     */
+    private final Map<String,byte[]> nativeFiles;
 
     /**
      * An enumeration over the entries. We are going to iterate only once.
@@ -83,10 +97,12 @@ final class PackInput implements Closeab
     /**
      * Opens the given JAR file in read-only mode.
      *
-     * @param  file  the file to open.
+     * @param  file        the file to open.
+     * @param  nativeFiles if non-null, where to store native files found during iteration over the JAR entries.
      * @throws IOException if the file can't be open.
      */
-    PackInput(final File file) throws IOException {
+    PackInput(final File file, final Map<String,byte[]> nativeFiles) throws IOException {
+        this.nativeFiles = nativeFiles;
         this.file = new JarFile(file);
         final Manifest manifest = this.file.getManifest();
         if (manifest != null) {
@@ -106,7 +122,7 @@ final class PackInput implements Closeab
      *
      * @return the next entry, or {@code null} if the iteration is finished.
      */
-    JarEntry nextEntry() {
+    JarEntry nextEntry() throws IOException {
         if (entries == null) {
             entries = file.entries();
         }
@@ -118,6 +134,14 @@ final class PackInput implements Closeab
                     continue;
                 }
             }
+            if (nativeFiles != null && name.startsWith(NATIVE)) {
+                if (!entry.isDirectory()) {
+                    if (nativeFiles.put(name.substring(NATIVE.length()), load()) != null) {
+                        throw new IOException("Duplicated entry: " + name);
+                    }
+                }
+                continue;
+            }
             entry.setMethod(JarEntry.DEFLATED);
             entry.setCompressedSize(-1);                    // Change in method has changed the compression size.
             return entry;
@@ -138,6 +162,26 @@ final class PackInput implements Closeab
     }
 
     /**
+     * Loads in memory the content of current JAR entry.
+     * This method should be invoked only for entries of reasonable size.
+     */
+    private byte[] load() throws IOException {
+        final long size = entry.getSize();
+        if (size <= 0 || size > Integer.MAX_VALUE) {
+            throw new IOException("Unsupported size for \"" + entry.getName() + "\": " + size);
+        }
+        final byte[] content = new byte[(int) size];
+        final int actual;
+        try (InputStream in = getInputStream()) {
+            actual = in.read(content);
+        }
+        if (actual != size) {
+            throw new IOException("Expected " + size + " bytes in \"" + entry.getName() + "\" but found " + actual);
+        }
+        return content;
+    }
+
+    /**
      * Returns the input stream for the current entry.
      *
      * @param entry The entry for which to get an input stream.

Modified: sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/PackOutput.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/PackOutput.java?rev=1813747&r1=1813746&r2=1813747&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/PackOutput.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/PackOutput.java [UTF-8] Mon Oct 30 10:25:08 2017
@@ -215,7 +215,7 @@ final class PackOutput implements Closea
         final byte[] buffer = new byte[64 * 1024];
         for (final Iterator<Map.Entry<File,PackInput>> it = inputJARs.entrySet().iterator(); it.hasNext();) {
             final Map.Entry<File,PackInput> inputJAR = it.next();
-            it.remove(); // Needs to be removed before the inner loop below.
+            it.remove();                                  // Needs to be removed before the inner loop below.
             try (PackInput input = inputJAR.getValue()) {
                 for (JarEntry entry; (entry = input.nextEntry()) != null;) {
                     final String name = entry.getName();
@@ -253,7 +253,7 @@ final class PackOutput implements Closea
      * @param  buffer  temporary buffer to reuse at each method call.
      * @throws IOException if an error occurred during the copy.
      */
-    void copy(final InputStream in, final byte[] buffer) throws IOException {
+    private void copy(final InputStream in, final byte[] buffer) throws IOException {
         int n;
         while ((n = in.read(buffer)) >= 0) {
             outputStream.write(buffer, 0, n);

Modified: sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Packer.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Packer.java?rev=1813747&r1=1813746&r2=1813747&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Packer.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/Packer.java [UTF-8] Mon Oct 30 10:25:08 2017
@@ -18,11 +18,8 @@ package org.apache.sis.internal.maven;
 
 import java.util.Map;
 import java.util.Set;
-import java.util.Arrays;
 import java.util.LinkedHashMap;
 import java.io.File;
-import java.io.FilenameFilter;
-import java.io.FileNotFoundException;
 import java.io.IOException;
 
 import static org.apache.sis.internal.maven.Filenames.*;
@@ -34,55 +31,51 @@ import static org.apache.sis.internal.ma
  * or listed in the {@code target/binaries/content.txt} file.
  *
  * @author  Martin Desruisseaux (Geomatys)
- * @version 0.4
+ * @version 0.8
  * @since   0.3
  * @module
  */
-final class Packer implements FilenameFilter {
+final class Packer {
     /**
      * The project name and version to declare in the manifest file, or {@code null} if none.
      */
     private final String projectName, version;
 
     /**
+     * JAR files of the main project together with its dependencies.
+     */
+    private final Set<File> files;
+
+    /**
      * The Maven target directory. Shall contain the {@code "binaries"} sub-directory,
      * which shall contain all JAR files collected by {@code sis-build-helper} plugin.
      */
     private final File targetDirectory;
 
     /**
-     * The directory of input JAR files. Shall be {@code "target/binaries"}.
+     * The map where to store native files found during iteration over the JAR entries.
+     * Keys are filename without the {@value #NATIVE} prefix. Values are the actual data.
+     * If null, then no native files filtering is done.
      */
-    private final File binariesDirectory;
+    private final Map<String,byte[]> nativeFiles;
 
     /**
      * Creates a packer.
      *
      * @param  projectName      the project name to declare in the manifest file, or {@code null} if none.
      * @param  version          the project version to declare in the manifest file, or {@code null} if none.
+     * @param  files            the JAR files of the main project together with its dependencies.
      * @param  targetDirectory  the Maven target directory.
-     * @throws FileNotFoundException if the {@code target/binaries} directory is not found.
+     * @param  nativeFiles      if non-null, where to store native files found during iteration over the JAR entries.
      */
-    Packer(final String projectName, final String version, final File targetDirectory) throws FileNotFoundException {
-        this.projectName = projectName;
-        this.version     = version;
+    Packer(final String projectName, final String version, final Set<File> files, final File targetDirectory,
+            final Map<String,byte[]> nativeFiles)
+    {
+        this.projectName     = projectName;
+        this.version         = version;
+        this.files           = files;
         this.targetDirectory = targetDirectory;
-        this.binariesDirectory = new File(targetDirectory, BINARIES_DIRECTORY);
-        if (!binariesDirectory.isDirectory()) {
-            throw new FileNotFoundException("Directory not found: " + binariesDirectory);
-        }
-    }
-
-    /**
-     * Filter the input JAR files. This is for internal usage by {@link #createOutputJAR(String)} only.
-     *
-     * @param  directory  the directory (ignored).
-     * @param  name       the filename.
-     * @return {@code true} if the given filename ends with {@code ".jar"}.
-     */
-    @Override
-    public boolean accept(final File directory, final String name) {
-        return name.endsWith(".jar");
+        this.nativeFiles     = nativeFiles;
     }
 
     /**
@@ -90,18 +83,12 @@ final class Packer implements FilenameFi
      * All input JAR files are opened by this method. They will need to be closed by {@link PackInput#close()}.
      */
     private Map<File,PackInput> getInputJARs() throws IOException {
-        final Set<String> filenames = JarCollector.loadDependencyList(new File(binariesDirectory, CONTENT_FILE));
-        filenames.addAll(Arrays.asList(binariesDirectory.list(this)));
-        final Map<File,PackInput> inputJARs = new LinkedHashMap<>(filenames.size() * 4/3);
-        for (final String filename : filenames) {
-            File file = new File(filename);
-            if (!file.isAbsolute()) {
-                file = new File(binariesDirectory, filename);
-            }
+        final Map<File,PackInput> inputJARs = new LinkedHashMap<>(files.size() * 4/3);
+        for (final File file : files) {
             if (!file.isFile() || !file.canRead()) {
                 throw new IllegalArgumentException("Not a file or can not read: " + file);
             }
-            if (inputJARs.put(file, new PackInput(file)) != null) {
+            if (inputJARs.put(file, new PackInput(file, nativeFiles)) != null) {
                 throw new IllegalArgumentException("Duplicated JAR: " + file);
             }
         }

Modified: sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/package-info.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/package-info.java?rev=1813747&r1=1813746&r2=1813747&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/package-info.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/maven/package-info.java [UTF-8] Mon Oct 30 10:25:08 2017
@@ -21,7 +21,7 @@
  * for building Apache SIS. See the Maven-generated module description for more information.
  *
  * @author  Martin Desruisseaux (IRD, Geomatys)
- * @version 0.3
+ * @version 0.8
  * @since   0.3
  * @module
  */

Modified: sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/unopkg/UnoPkg.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/unopkg/UnoPkg.java?rev=1813747&r1=1813746&r2=1813747&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/unopkg/UnoPkg.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-build-helper/src/main/java/org/apache/sis/internal/unopkg/UnoPkg.java [UTF-8] Mon Oct 30 10:25:08 2017
@@ -31,6 +31,7 @@ import org.apache.maven.artifact.Artifac
 import org.apache.maven.plugins.annotations.LifecyclePhase;
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.annotations.ResolutionScope;
 
 import static java.util.jar.Pack200.Packer;
 
@@ -43,7 +44,7 @@ import static java.util.jar.Pack200.Pack
  * @since   0.8
  * @module
  */
-@Mojo(name = "unopkg", defaultPhase = LifecyclePhase.PACKAGE)
+@Mojo(name = "unopkg", defaultPhase = LifecyclePhase.PACKAGE, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME)
 public final class UnoPkg extends AbstractMojo implements FilenameFilter {
     /**
      * The subdirectory (relative to {@link #baseDirectory}) where the UNO files are expected.
@@ -62,7 +63,7 @@ public final class UnoPkg extends Abstra
 
     /**
      * Base directory of the module to compile.
-     * The UNO files are expect in the {@code "src/main/unopkg"} subdirectory.
+     * The UNO files are expected in the {@code "src/main/unopkg"} subdirectory.
      * The plugin will look for the {@code META-INF/manifest.xml} and {@code *.rdb} files in that directory.
      */
     @Parameter(property="basedir", required=true, readonly=true)
@@ -184,6 +185,8 @@ public final class UnoPkg extends Abstra
             }
             /*
              * Copies the dependencies, optionally in a single PACK200 entry.
+             * We discard most debug information because stack traces are not
+             * easy to get from an application running in OpenOffice anyway.
              */
             Pack200.Packer packer = null;
             if (Boolean.parseBoolean(pack200)) {
@@ -199,11 +202,10 @@ public final class UnoPkg extends Abstra
                 p.put(Packer.DEFLATE_HINT,      Packer.TRUE);       // transmitting a single request to use "compress" mode.
                 p.put(Packer.UNKNOWN_ATTRIBUTE, Packer.ERROR);      // throw an error if an attribute is unrecognized.
             }
-            for (final Artifact artifact : project.getDependencyArtifacts()) {
+            for (final Artifact artifact : project.getArtifacts()) {
                 final String scope = artifact.getScope();
-                if (scope != null &&  // Maven 2.0.6 bug?
-                   (scope.equalsIgnoreCase(Artifact.SCOPE_COMPILE) ||
-                    scope.equalsIgnoreCase(Artifact.SCOPE_RUNTIME)))
+                if (Artifact.SCOPE_COMPILE.equalsIgnoreCase(scope) ||
+                    Artifact.SCOPE_RUNTIME.equalsIgnoreCase(scope))
                 {
                     final File file = artifact.getFile();
                     String name = file.getName();
@@ -211,7 +213,7 @@ public final class UnoPkg extends Abstra
                         name = prefix + name;
                     }
                     if (packer != null && name.endsWith(".jar")) {
-                        name = name.substring(0, name.length()-3) + "pack";
+                        name = name.substring(0, name.length() - 3) + "pack";
                         try (JarFile jar = new FilteredJarFile(file)) {
                             out.putNextEntry(new ZipEntry(name));
                             packer.pack(jar, out);

Modified: sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java
URL: http://svn.apache.org/viewvc/sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java?rev=1813747&r1=1813746&r2=1813747&view=diff
==============================================================================
--- sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java [UTF-8] (original)
+++ sis/branches/JDK9/core/sis-feature/src/main/java/org/apache/sis/feature/DefaultAssociationRole.java [UTF-8] Mon Oct 30 10:25:08 2017
@@ -19,6 +19,7 @@ package org.apache.sis.feature;
 import java.util.Map;
 import java.util.List;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.IdentityHashMap;
 import org.opengis.util.GenericName;
 import org.opengis.util.InternationalString;
@@ -216,10 +217,14 @@ public class DefaultAssociationRole exte
      * to feature <var>B</var> which has an association back to <var>A</var>. It may also be <var>A</var>
      * having an association to itself, <i>etc.</i>
      *
-     * @param  creating  the feature type in process of being constructed.
+     * @param  creating    the feature type in process of being constructed.
+     * @param  properties  {@code creating.getProperties(false)} given as a direct reference to the internal field,
+     *         without invoking {@code getProperties(…)}. We do that because {@code resolve(…)} is invoked while the
+     *         given {@code DefaultFeatureType} is under creation. Since {@code getProperties(…)} can be overridden,
+     *         invoking that method on {@code creating} may cause a failure with user code.
      * @return {@code true} if this association references a resolved feature type after this method call.
      */
-    final boolean resolve(final DefaultFeatureType creating) {
+    final boolean resolve(final DefaultFeatureType creating, final Collection<PropertyType> properties) {
         final FeatureType type = valueType;
         if (type instanceof NamedFeatureType) {
             FeatureType resolved = ((NamedFeatureType) type).resolved;
@@ -234,7 +239,7 @@ public class DefaultAssociationRole exte
                      * the 'creating' feature itself. This is a little bit unusual, but not illegal.
                      */
                     final List<FeatureType> deferred = new ArrayList<>();
-                    resolved = search(creating, name, deferred);
+                    resolved = search(creating, properties, name, deferred);
                     if (resolved == null) {
                         /*
                          * Did not found the desired FeatureType in the 'creating' instance.
@@ -261,19 +266,25 @@ public class DefaultAssociationRole exte
      * <p>Current implementation does not check that there is no duplicated names.
      * See {@link #deepSearch(List, GenericName)} for a rational.</p>
      *
-     * @param  feature   the feature in which to search.
-     * @param  name      the name of the feature to search.
-     * @param  deferred  where to store {@code FeatureType}s to be eventually used for a deep search.
+     * @param  feature     the feature in which to search.
+     * @param  properties  {@code feature.getProperties(false)}, or {@code null} for letting this method performing the call.
+     * @param  name        the name of the feature to search.
+     * @param  deferred    where to store {@code FeatureType}s to be eventually used for a deep search.
      * @return the feature of the given name, or {@code null} if none.
      */
     @SuppressWarnings("null")
-    private static FeatureType search(final FeatureType feature, final GenericName name, final List<FeatureType> deferred) {
+    private static FeatureType search(final FeatureType feature, Collection<? extends PropertyType> properties,
+            final GenericName name, final List<FeatureType> deferred)
+    {
         /*
          * Search only in associations declared in the given feature, not in inherited associations.
          * The inherited associations will be checked in a separated loop below if we did not found
          * the request feature type in explicitly declared associations.
          */
-        for (final PropertyType property : feature.getProperties(false)) {
+        if (properties == null) {
+            properties = feature.getProperties(false);
+        }
+        for (final PropertyType property : properties) {
             if (property instanceof FeatureAssociationRole) {
                 final FeatureType valueType;
                 if (property instanceof DefaultAssociationRole) {
@@ -300,7 +311,7 @@ public class DefaultAssociationRole exte
             if (name.equals(type.getName())) {
                 return type;
             }
-            type = search(type, name, deferred);
+            type = search(type, null, name, deferred);
             if (type != null) {
                 return type;
             }
@@ -309,7 +320,7 @@ public class DefaultAssociationRole exte
     }
 
     /**
-     * Potentially invoked after {@link #search(FeatureType, GenericName, List)} for searching
+     * Potentially invoked after {@link #search(FeatureType, Collection, GenericName, List)} for searching
      * in associations of associations.
      *
      * <p>Current implementation does not check that there is no duplicated names. Even if we did so,
@@ -317,7 +328,7 @@ public class DefaultAssociationRole exte
      * later. We rather put a warning in {@link #DefaultAssociationRole(Map, GenericName, int, int)}
      * javadoc.</p>
      *
-     * @param  deferred  the feature types collected by {@link #search(FeatureType, GenericName, List)}.
+     * @param  deferred  the feature types collected by {@link #search(FeatureType, Collection, GenericName, List)}.
      * @param  name      the name of the feature to search.
      * @return the feature of the given name, or {@code null} if none.
      */
@@ -327,7 +338,7 @@ public class DefaultAssociationRole exte
             FeatureType valueType = deferred.get(i++);
             if (done.put(valueType, Boolean.TRUE) == null) {
                 deferred.subList(0, i).clear();                 // Discard previous value for making more room.
-                valueType = search(valueType, name, deferred);
+                valueType = search(valueType, null, name, deferred);
                 if (valueType != null) {
                     return valueType;
                 }



Mime
View raw message