[sis] branch geoapi-4.0 updated (24b12731b9 -> 0c022f2f1f)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git from 24b12731b9 Add GPG signing for endorsed and optional modules. Incubator modules are not signed because not intended to be released. new 7e10eef9d5 Fixes to the build plugin based on release experience. new 0c022f2f1f Define Maven repositories for snapshots and release deployments. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../org/apache/sis/buildtools/gradle/BuildHelper.java | 1 + .../org/apache/sis/buildtools/gradle/Conventions.java | 5 + .../apache/sis/buildtools/gradle/ModularJavadoc.java| 1 + .../apache/sis/buildtools/gradle/ModularSources.java| 7 +-- endorsed/build.gradle.kts | 17 + incubator/build.gradle.kts | 17 + optional/build.gradle.kts | 17 + settings.gradle.kts | 1 + 8 files changed, 60 insertions(+), 6 deletions(-)
[sis] 02/02: Define Maven repositories for snapshots and release deployments.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 0c022f2f1f71fc4fdac2d0e1a63d57cc9490a157 Author: Martin Desruisseaux AuthorDate: Fri Sep 15 15:25:06 2023 +0200 Define Maven repositories for snapshots and release deployments. --- endorsed/build.gradle.kts | 17 + incubator/build.gradle.kts | 17 + optional/build.gradle.kts | 17 + settings.gradle.kts| 1 + 4 files changed, 52 insertions(+) diff --git a/endorsed/build.gradle.kts b/endorsed/build.gradle.kts index c4806ce7ed..abf77b66cc 100644 --- a/endorsed/build.gradle.kts +++ b/endorsed/build.gradle.kts @@ -444,6 +444,23 @@ publishing { } } } +/* Following block is currently repeated in all sub-projects. */ +repositories { +maven { +name = "Apache" +url = uri(if (version.toString().endsWith("SNAPSHOT")) + "https://repository.apache.org/content/repositories/snapshots; else + "https://repository.apache.org/service/local/staging/deploy/maven2;) +credentials { +val asfNexusUsername = providers.gradleProperty("asfNexusUsername") +val asfNexusPassword = providers.gradleProperty("asfNexusPassword") +if (asfNexusUsername.isPresent() && asfNexusPassword.isPresent()) { +username = asfNexusUsername.get() +password = asfNexusPassword.get() +} +} +} +} } signing { diff --git a/incubator/build.gradle.kts b/incubator/build.gradle.kts index e2e76b96bd..b2a0c48eb0 100644 --- a/incubator/build.gradle.kts +++ b/incubator/build.gradle.kts @@ -151,4 +151,21 @@ publishing { } } } +/* Following block is currently repeated in all sub-projects. */ +repositories { +maven { +name = "Apache" +url = uri(if (version.toString().endsWith("SNAPSHOT")) + "https://repository.apache.org/content/repositories/snapshots; else + "https://repository.apache.org/service/local/staging/deploy/maven2;) +credentials { +val asfNexusUsername = providers.gradleProperty("asfNexusUsername") +val asfNexusPassword = providers.gradleProperty("asfNexusPassword") +if (asfNexusUsername.isPresent() && asfNexusPassword.isPresent()) { +username = asfNexusUsername.get() +password = asfNexusPassword.get() +} +} +} +} } diff --git a/optional/build.gradle.kts b/optional/build.gradle.kts index a96990dfa5..a819cfed16 100644 --- a/optional/build.gradle.kts +++ b/optional/build.gradle.kts @@ -175,6 +175,23 @@ publishing { } } } +/* Following block is currently repeated in all sub-projects. */ +repositories { +maven { +name = "Apache" +url = uri(if (version.toString().endsWith("SNAPSHOT")) + "https://repository.apache.org/content/repositories/snapshots; else + "https://repository.apache.org/service/local/staging/deploy/maven2;) +credentials { +val asfNexusUsername = providers.gradleProperty("asfNexusUsername") +val asfNexusPassword = providers.gradleProperty("asfNexusPassword") +if (asfNexusUsername.isPresent() && asfNexusPassword.isPresent()) { +username = asfNexusUsername.get() +password = asfNexusPassword.get() +} +} +} +} } signing { diff --git a/settings.gradle.kts b/settings.gradle.kts index 6f5cf90996..c938ca4576 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -41,6 +41,7 @@ dependencyResolutionManagement { mavenCentral() mavenLocal()// For GeoAPI SNAPSHOT only, which are built locally. maven { +name = "UCAR" url = uri("https://artifacts.unidata.ucar.edu/repository/unidata-releases;) content { includeGroup("edu.ucar")// Restrict usage to those dependencies.
[sis] 01/02: Fixes to the build plugin based on release experience.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 7e10eef9d532c0ea8b9b08858ea6aff30acca36a Author: Martin Desruisseaux AuthorDate: Thu Oct 5 21:17:07 2023 +0200 Fixes to the build plugin based on release experience. --- .../main/org/apache/sis/buildtools/gradle/BuildHelper.java | 1 + .../main/org/apache/sis/buildtools/gradle/Conventions.java | 5 + .../main/org/apache/sis/buildtools/gradle/ModularJavadoc.java | 1 + .../main/org/apache/sis/buildtools/gradle/ModularSources.java | 7 +-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java index 0408b27a8f..7dd86924e3 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java @@ -162,6 +162,7 @@ public final class BuildHelper implements Plugin { tasks.withType(Jar.class).forEach((task) -> { task.getInputs().dir(Conventions.SOURCE_DIRECTORY); task.getOutputs().dir(Conventions.fileRelativeToBuild(project, Conventions.LIBS_DIRECTORY)); +task.getOutputs().dir(Conventions.fileRelativeToBuild(project, Conventions.DOCS_DIRECTORY)); task.setActions(List.of((t) -> {// Replace the default action by our own. ModularJAR.execute(BuildHelper.this, (Jar) t); })); diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java index c50dbefa95..471f16d67c 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java @@ -80,6 +80,11 @@ abstract class Conventions { */ static final String LIBS_DIRECTORY = "libs"; +/** + * The sub-directory inside "{@value #BUILD_DIRECTORY}" for the Javadoc and sources ZIP files. + */ +static final String DOCS_DIRECTORY = "docs"; + /** * The sub-directory inside "{@value #BUILD_DIRECTORY}" for the ZIP or OXT files (assemblies). * Also the sibling directory of "{@value #MAIN_DIRECTORY}" and "{@value #TEST_DIRECTORY}" diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJavadoc.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJavadoc.java index 63e917813a..1e89ccf257 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJavadoc.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJavadoc.java @@ -70,6 +70,7 @@ final class ModularJavadoc extends Conventions { options.links( "https://docs.oracle.com/en/java/javase/11/docs/api;, "http://www.geoapi.org/snapshot/javadoc;, +"https://openjfx.io/javadoc/21/;, "http://unitsofmeasurement.github.io/unit-api/site/apidocs;); /* * Taglet defined in this `buildSrc` sub-project. diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java index 9525b4f796..d330d6a9e5 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java @@ -31,11 +31,6 @@ import org.gradle.api.Task; * @author Martin Desruisseaux (Geomatys) */ final class ModularSources extends ZipWriter.JDK { -/** - * The directory where the ZIP files will be written. - */ -private static final String OUTPUT_DIRECTORY = "docs"; - /** * The Java system property to set to {@code true} for enabling Javadoc generation. */ @@ -136,7 +131,7 @@ final class ModularSources extends ZipWriter.JDK { } else { sources = sourcesDir(project, module); } -final var target = Conventions.fileRelativeToBuild(project, OUTPUT_DIRECTORY); +final var target = Conventions.fileRelativeToBuild(project, Conventions.DOCS_DIRECTORY); target.mkdir(); final File file = new File(target, module + '-' + (javadoc ? "javadoc" : "sources") + ".jar"); try (ZipOutputStream out = new ZipOutputStream(new FileOutputStream(file))) {
svn commit: r1912760 - in /sis/data/non-free: ./ sis-embedded-data/ sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/ sis-embedded-data/src/test/java/org/apache/sis/resources/embedded
Author: desruisseaux Date: Thu Oct 5 23:21:19 2023 New Revision: 1912760 URL: http://svn.apache.org/viewvc?rev=1912760=rev Log: Upgrade to Apache SIS 1.4. Removed: sis/data/non-free/sis-embedded-data/src/test/java/org/apache/sis/resources/embedded/EmbeddedDataTestSuite.java sis/data/non-free/sis-epsg/src/test/java/org/apache/sis/referencing/factory/sql/epsg/EpsgTestSuite.java Modified: sis/data/non-free/pom.xml sis/data/non-free/sis-embedded-data/pom.xml sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/EmbeddedResources.java sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/Generator.java sis/data/non-free/sis-embedded-data/src/test/java/org/apache/sis/resources/embedded/EmbeddedResourcesTest.java sis/data/non-free/sis-epsg/pom.xml sis/data/non-free/sis-epsg/src/main/java/org/apache/sis/referencing/factory/sql/epsg/ScriptProvider.java sis/data/non-free/sis-epsg/src/test/java/org/apache/sis/referencing/factory/sql/epsg/ScriptProviderTest.java Modified: sis/data/non-free/pom.xml URL: http://svn.apache.org/viewvc/sis/data/non-free/pom.xml?rev=1912760=1912759=1912760=diff == --- sis/data/non-free/pom.xml (original) +++ sis/data/non-free/pom.xml Thu Oct 5 23:21:19 2023 @@ -27,7 +27,7 @@ org.apache.sis parent -1.3 +1.4 @@ -95,12 +95,7 @@ The "non-free" modules contain data that org.opengis geoapi-conformance - - - org.apache.sis.core - sis-utility - ${project.version} - test-jar + 3.0.2 test Modified: sis/data/non-free/sis-embedded-data/pom.xml URL: http://svn.apache.org/viewvc/sis/data/non-free/sis-embedded-data/pom.xml?rev=1912760=1912759=1912760=diff == --- sis/data/non-free/sis-embedded-data/pom.xml (original) +++ sis/data/non-free/sis-embedded-data/pom.xml Thu Oct 5 23:21:19 2023 @@ -27,7 +27,7 @@ org.apache.sis non-free -1.3 +1.4 @@ -84,6 +84,13 @@ Provides non-free data, including the EP org.apache.derby derby + 10.15.2.0 + compile + + + org.apache.derby + derbytools + 10.15.2.0 compile Modified: sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/EmbeddedResources.java URL: http://svn.apache.org/viewvc/sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/EmbeddedResources.java?rev=1912760=1912759=1912760=diff == --- sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/EmbeddedResources.java [UTF-8] (original) +++ sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/EmbeddedResources.java [UTF-8] Thu Oct 5 23:21:19 2023 @@ -24,8 +24,8 @@ import java.io.InputStreamReader; import java.io.IOException; import javax.sql.DataSource; import org.apache.derby.jdbc.EmbeddedDataSource; -import org.apache.sis.internal.util.MetadataServices; -import org.apache.sis.internal.metadata.sql.Initializer; +import org.apache.sis.util.internal.MetadataServices; +import org.apache.sis.metadata.sql.util.Initializer; import org.apache.sis.setup.InstallationResources; import org.apache.sis.util.resources.Errors; Modified: sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/Generator.java URL: http://svn.apache.org/viewvc/sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/Generator.java?rev=1912760=1912759=1912760=diff == --- sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/Generator.java [UTF-8] (original) +++ sis/data/non-free/sis-embedded-data/src/main/java/org/apache/sis/resources/embedded/Generator.java [UTF-8] Thu Oct 5 23:21:19 2023 @@ -37,10 +37,10 @@ import java.sql.SQLException; import org.opengis.util.FactoryException; import org.opengis.referencing.crs.GeographicCRS; import org.apache.derby.jdbc.EmbeddedDataSource; -import org.apache.sis.internal.metadata.sql.Initializer; -import org.apache.sis.internal.metadata.sql.LocalDataSource; -import org.apache.sis.internal.system.Shutdown; -import org.apache.sis.internal.util.Constants; +import org.apache.sis.metadata.sql.util.Initializer; +import org.apache.sis.metadata.sql.util.LocalDataSource; +import org.apache.sis.system.Shutdown; +import org.apache.sis.util.internal.Constants; import org.apache.sis.metadata.MetadataStandard; import org.apache.sis.metadata.sql.MetadataSource; import org.apache.sis.metadata.sql.MetadataStoreException; Modified: sis/data/non-free/sis-embedded-data/src/test/java/
[sis-site] branch main updated: Partial update of release management notes, with more instruction about publishing.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis-site.git The following commit(s) were added to refs/heads/main by this push: new e173b3eb Partial update of release management notes, with more instruction about publishing. e173b3eb is described below commit e173b3ebe551eb99faeae83fce8232546226ce03 Author: Martin Desruisseaux AuthorDate: Thu Oct 5 21:56:17 2023 +0200 Partial update of release management notes, with more instruction about publishing. --- content/release-management.md | 173 -- 1 file changed, 117 insertions(+), 56 deletions(-) diff --git a/content/release-management.md b/content/release-management.md index fefc147a..0e261a64 100644 --- a/content/release-management.md +++ b/content/release-management.md @@ -161,6 +161,18 @@ Then, the signed public key shall be appended to the `KEYS` file on the [SIS sou then copied to the [SIS distribution directory][dist]. +## Gradle configuration + +Edit the `~/.gradle/gradle.properties` file, making sure that the following properties are present: + +{{< highlight text >}} +org.gradle.java.home= +signing.gnupg.keyName= +asfNexusUsername= +asfNexusPassword= +{{< / highlight >}} + + # Configure{#configure} For all instructions in this page, `$OLD_VERSION` and `$NEW_VERSION` stand for the version @@ -292,7 +304,7 @@ git commit --message "Release notes for Apache SIS $NEW_VERSION." {{< / highlight >}} -# Create release branch{#branch} +# Create release artifacts{#create-artifacts} Execute the following commands. It is okay to checkout the branch in a separated directory if desired. @@ -340,48 +352,123 @@ gradle test git commit --message="Set version number to $NEW_VERSION." {{< / highlight >}} + +## Initialize the distribution directory{#dist} + +Create the directory for the new version and release candidate within the distribution directory. +The `$RELEASE_CANDIDATE` variable shall be the number of current release attempt. + +{{< highlight bash >}} +cd ../release/distribution +svn update +mkdir -p $NEW_VERSION/RC$RELEASE_CANDIDATE +svn add $NEW_VERSION +cd $NEW_VERSION/RC$RELEASE_CANDIDATE +export DIST_DIR=`pwd` +{{< / highlight >}} + +Copy the `HEADER.html` file from the previous release. +Update the file content if necessary. + +{{< highlight bash >}} +svn copy https://dist.apache.org/repos/dist/release/sis/$OLD_VERSION/HEADER.html . +{{< / highlight >}} + + ## Generate Javadoc{#javadoc} -Execute the following commands. The first one (`gradle javadoc`) will fail. -This is a known problem with the current build. -Open `javadoc.options` file as below (`gedit` can be replaced by another editor), -and move all `-classpath` content to `--module-path`. -Then launch Javadoc from the command-line: +Execute `gradle javadoc`. That command will fail. This is a known problem with the current Gradle build configuration. +But it should have created a `javadoc.options` file that we will patch as below (`gedit` can be replaced by another editor): {{< highlight bash >}} -gradle javadoc +cd $SIS_RC_DIR +gradle javadoc # Fail. See workaround below. gedit endorsed/build/tmp/javadoc/javadoc.options +{{< / highlight >}} + +Apply the following changes: + +* Move all `-classpath` content to `--module-path`. +* Add the value of `$PATH_TO_FX` environment variable to the module-path. +* Delete all Java source files listed after the options, everything until the end of file. +* Add the following line in-place of deleted lines (omit the `org.opengis.geoapi` module if not desired): + +{{< highlight text >}} +--module org.opengis.geoapi,org.apache.sis.util,org.apache.sis.metadata,org.apache.sis.referencing,org.apache.sis.referencing.gazetteer,org.apache.sis.feature,org.apache.sis.storage,org.apache.sis.storage.sql,org.apache.sis.storage.xml,org.apache.sis.storage.netcdf,org.apache.sis.storage.geotiff,org.apache.sis.storage.earthobservation,org.apache.sis.cloud.aws,org.apache.sis.portrayal,org.apache.sis.profile.france,org.apache.sis.profile.japan,org.apache.sis.openoffice,org.apache.sis.conso [...] +{{< / highlight >}} + +The following commands temporarily create links to optional modules for inclusion in the Javadoc. +The GeoAPI interfaces may also be copied if they should be bundled with the Javadoc. +Then the Javadoc command is launched manually. + +{{< highlight bash >}} +cd endorsed/src +ln -s ../../optional/src/org.apache.sis.gui +cd - + +# Replace "../../GeoAPI/3.0.2" by the path to a GeoAPI 3.0.2 checkout, or omit those lines. +mkdir endorsed/src/org.opengis.geoapi +cp -r ../../GeoAPI/3.0.2/geoapi/src/main/java endorsed/src/org.opengis.geoapi/main +cp -r ../../GeoAPI/3.0.2/geoapi/src/pending/java/org
[sis] 03/03: Fix more Javadoc errors.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis.git commit 2ce512f85a6e66adb8645e1641e15e5c15191863 Author: Martin Desruisseaux AuthorDate: Thu Oct 5 15:43:08 2023 +0200 Fix more Javadoc errors. --- .../main/org/apache/sis/feature/AbstractFeature.java | 2 +- .../apache/sis/xml/bind/metadata/code/MD_CharacterSetCode.java | 2 +- .../main/org/apache/sis/referencing/IdentifiedObjects.java | 2 +- .../apache/sis/referencing/factory/GeodeticObjectFactory.java| 2 +- .../main/org/apache/sis/storage/FeatureQuery.java| 9 + 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java index 033cc8d924..fc502bf8ec 100644 --- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java +++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java @@ -437,7 +437,7 @@ public abstract class AbstractFeature implements Serializable { * but the {@linkplain FeatureOperations#link link} and * {@linkplain FeatureOperations#compound compound} operations (for instances) do. * Whether an operation is writable or not depends on whether the computed {@link Property} - * supports {@link Attribute#setValue(Object)} or {@link FeatureAssociation#setValue(Feature)}. + * supports {@link AbstractAttribute#setValue(Object)} or {@link AbstractAssociation#setValue(Feature)}. * * @param name the name of the operation to execute. The caller is responsible to ensure that the *property type for that name is an instance of {@link AbstractOperation}. diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_CharacterSetCode.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_CharacterSetCode.java index ff2fbfbfc0..9a7f67e7e3 100644 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_CharacterSetCode.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_CharacterSetCode.java @@ -109,7 +109,7 @@ public final class MD_CharacterSetCode extends XmlAdapter{@link AbstractIdentifiedObject#getDomains()} * {@value org.opengis.referencing.IdentifiedObject#REMARKS_KEY} * {@link IdentifiedObject#getRemarks()} - * {@value org.opengis.referencing.ReferenceSystem#SCOPE_KEY + * {@value org.opengis.referencing.ReferenceSystem#SCOPE_KEY} * {@link DefaultObjectDomain#getScope()} * {@value org.opengis.referencing.ReferenceSystem#DOMAIN_OF_VALIDITY_KEY} * {@link DefaultObjectDomain#getDomainOfValidity()} diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticObjectFactory.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticObjectFactory.java index d979184f3f..30b647a50c 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticObjectFactory.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticObjectFactory.java @@ -139,7 +139,7 @@ import org.apache.sis.xml.XML; * * {@value org.opengis.referencing.ReferenceSystem#SCOPE_KEY} * {@link String} or {@link InternationalString} - * {@link DefaultObjectDomain#getScope()} + * {@link org.apache.sis.referencing.DefaultObjectDomain#getScope()} * * {@value org.opengis.referencing.datum.Datum#ANCHOR_POINT_KEY} * {@link InternationalString} or {@link String} diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java index 9a5b59763b..1353ab3c74 100644 --- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java +++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java @@ -52,6 +52,7 @@ import org.apache.sis.util.resources.Vocabulary; import org.apache.sis.feature.AbstractFeature; import org.apache.sis.feature.DefaultFeatureType; import org.apache.sis.feature.DefaultAttributeType; +import org.apache.sis.feature.AbstractAttribute; import org.apache.sis.filter.Filter; import org.apache.sis.filter.Expression; import org.apache.sis.pending.geoapi.filter.Literal; @@ -434,7 +435,7 @@ public class FeatureQuery extends Query implements Cloneable, Serializable { /** * Whether a property evaluated by a query is computed on the fly or stored. * By default, an expression is evaluated only once for each feature instance
[sis] branch main updated (00e6806277 -> 2ce512f85a)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/sis.git from 00e6806277 Replace a link to GeoAPI-snapshot by a link to GeoAPI 3.0. new d214faa29b Fix some Javadoc warnings specific to the main branch. add c847947bde Fix some Javadoc warnings. add 17c3f73eca Generate sources JAR and Javadoc JAR together with the Maven artifacts. add 24b12731b9 Add GPG signing for endorsed and optional modules. Incubator modules are not signed because not intended to be released. add 2730c89d63 Merge branch 'geoapi-4.0' into geoapi-3.1 new 161c52e539 Merge branch 'geoapi-3.1' new 2ce512f85a Fix more Javadoc errors. The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../apache/sis/buildtools/gradle/BuildHelper.java | 1 + .../apache/sis/buildtools/gradle/Dependency.java | 2 +- .../apache/sis/buildtools/gradle/ModularJAR.java | 9 +- .../sis/buildtools/gradle/ModularSources.java | 147 + .../apache/sis/buildtools/gradle/ZipWriter.java| 2 +- endorsed/build.gradle.kts | 109 --- .../org/apache/sis/feature/AbstractFeature.java| 6 +- .../sis/feature/internal/FeatureExpression.java| 6 +- .../main/org/apache/sis/filter/Filter.java | 2 + .../org/apache/sis/filter/sqlmm/OneGeometry.java | 2 + .../org/apache/sis/filter/sqlmm/ST_Transform.java | 2 + .../org/apache/sis/filter/sqlmm/TwoGeometries.java | 2 + .../main/org/apache/sis/util/iso/Types.java| 5 +- .../main/org/apache/sis/xml/TransformedEvent.java | 2 +- .../bind/metadata/code/MD_CharacterSetCode.java| 2 +- .../bind/metadata/replace/QualityParameter.java| 8 +- .../bind/metadata/replace/ServiceParameter.java| 2 +- .../sis/referencing/AbstractIdentifiedObject.java | 4 +- .../apache/sis/referencing/IdentifiedObjects.java | 2 +- .../referencing/factory/GeodeticObjectFactory.java | 6 +- .../org/apache/sis/storage/sql/feature/Table.java | 2 +- .../org/apache/sis/storage/gpx/WritableStore.java | 1 - .../main/org/apache/sis/storage/FeatureQuery.java | 15 ++- .../org/apache/sis/storage/StorageConnector.java | 2 + .../org/apache/sis/storage/WritableFeatureSet.java | 1 - .../apache/sis/storage/base/MetadataBuilder.java | 2 +- .../org/apache/sis/converter/NumberConverter.java | 2 + .../org/apache/sis/converter/ObjectToString.java | 4 + .../org/apache/sis/converter/StringConverter.java | 4 + .../sis/util/collection/WeakValueHashMap.java | 2 +- .../apache/sis/util/internal/MetadataServices.java | 2 - .../apache/sis/util/internal/PropertyFormat.java | 2 +- incubator/build.gradle.kts | 10 +- optional/build.gradle.kts | 13 +- .../org/apache/sis/gui/map/ValuesFormatter.java| 2 +- 35 files changed, 323 insertions(+), 62 deletions(-) create mode 100644 buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java
[sis] 02/03: Merge branch 'geoapi-3.1'
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis.git commit 161c52e539145524ccc81992879d9241e0438dd8 Merge: d214faa29b 2730c89d63 Author: Martin Desruisseaux AuthorDate: Thu Oct 5 15:41:28 2023 +0200 Merge branch 'geoapi-3.1' .../apache/sis/buildtools/gradle/BuildHelper.java | 1 + .../apache/sis/buildtools/gradle/Dependency.java | 2 +- .../apache/sis/buildtools/gradle/ModularJAR.java | 9 +- .../sis/buildtools/gradle/ModularSources.java | 147 + .../apache/sis/buildtools/gradle/ZipWriter.java| 2 +- endorsed/build.gradle.kts | 109 --- .../org/apache/sis/filter/sqlmm/OneGeometry.java | 2 + .../org/apache/sis/filter/sqlmm/ST_Transform.java | 2 + .../org/apache/sis/filter/sqlmm/TwoGeometries.java | 2 + .../main/org/apache/sis/util/iso/Types.java| 5 +- .../bind/metadata/replace/QualityParameter.java| 6 +- .../sis/referencing/AbstractIdentifiedObject.java | 4 +- .../referencing/factory/GeodeticObjectFactory.java | 4 +- .../org/apache/sis/storage/gpx/WritableStore.java | 1 - .../org/apache/sis/storage/StorageConnector.java | 2 + .../org/apache/sis/storage/WritableFeatureSet.java | 1 - .../org/apache/sis/converter/NumberConverter.java | 2 + .../org/apache/sis/converter/ObjectToString.java | 4 + .../org/apache/sis/converter/StringConverter.java | 4 + .../sis/util/collection/WeakValueHashMap.java | 2 +- .../apache/sis/util/internal/MetadataServices.java | 2 - incubator/build.gradle.kts | 10 +- optional/build.gradle.kts | 13 +- .../org/apache/sis/gui/map/ValuesFormatter.java| 2 +- 24 files changed, 298 insertions(+), 40 deletions(-) diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/QualityParameter.java index c74f3dfd1d,def4612fa5..336458e1ba --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/QualityParameter.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/QualityParameter.java @@@ -94,11 -97,10 +94,9 @@@ public final class QualityParameter ext /** * Description of the data quality parameter. - * - * @see #getDescription() */ @XmlElement -@SuppressWarnings("serial") // Most Apache SIS implementations are serializable. -public Description description; +public DefaultMeasureDescription description; /** * Value type of the data quality parameter (shall be one of the data types defined in ISO/TS 19103:2005). @@@ -204,6 -229,11 +202,8 @@@ * Otherwise the given class is used as if it was already a component type (i.e. a singleton item). * * - * This method is used for mapping {@link Class} to ({@link ValueStructure}, {@link TypeName}) pair. - * The other member of the pair is given by {@link ValueStructure#valueOf(Class)}. - * + * @todo {@code Coverage} case needs to be added. It would be handle like {@link Matrix}. + * * @param valueClass the type of values for which to infer a {@link TypeName} instance. * @return a type name for components of the given type. */ diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticObjectFactory.java index ad235c995f,95c4401371..d979184f3f --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticObjectFactory.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/GeodeticObjectFactory.java @@@ -129,9 -129,9 +129,9 @@@ import org.apache.sis.xml.XML * {@link Identifier} (optionally as array) * {@link AbstractIdentifiedObject#getIdentifiers()} * - * {@value org.opengis.referencing.IdentifiedObject#DOMAINS_KEY} - * {@link org.opengis.referencing.ObjectDomain} (optionally as array) + * "domains" + * {@link org.apache.sis.referencing.DefaultObjectDomain} (optionally as array) - * {@link #getDomains()} + * {@link AbstractIdentifiedObject#getDomains()} * * {@value org.opengis.referencing.ReferenceSystem#DOMAIN_OF_VALIDITY_KEY} * {@link Extent} diff --cc endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/WritableFeatureSet.java index 247a31c171,06ce25d8d4..ee46e96473 --- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/WritableFeatureSet.java +++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/WritableFeatureSet.java @@@ -81,10 -81,9 +81,9 @@@ public interface WritableFeatureSet ext * Removes all feature instances from this {@code FeatureSet} which matches the given predicate. * * @param
[sis] 01/03: Fix some Javadoc warnings specific to the main branch.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis.git commit d214faa29b785586ab2835cefc4f693c19b99cd9 Author: Martin Desruisseaux AuthorDate: Tue Oct 3 23:46:44 2023 +0200 Fix some Javadoc warnings specific to the main branch. --- .../main/org/apache/sis/feature/AbstractFeature.java | 4 ++-- .../org/apache/sis/feature/internal/FeatureExpression.java | 6 +++--- .../main/org/apache/sis/filter/Filter.java | 2 ++ .../main/org/apache/sis/xml/TransformedEvent.java | 2 +- .../sis/xml/bind/metadata/replace/QualityParameter.java| 2 +- .../sis/xml/bind/metadata/replace/ServiceParameter.java| 2 +- .../main/org/apache/sis/storage/sql/feature/Table.java | 2 +- .../main/org/apache/sis/storage/FeatureQuery.java | 14 +++--- .../main/org/apache/sis/storage/base/MetadataBuilder.java | 2 +- .../main/org/apache/sis/util/internal/PropertyFormat.java | 2 +- 10 files changed, 20 insertions(+), 18 deletions(-) diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java index 6def733227..033cc8d924 100644 --- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java +++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/AbstractFeature.java @@ -54,8 +54,8 @@ import org.apache.sis.feature.internal.Resources; * * * Operations - * Properties that are instances of {@link Operation} are usually not stored in {@code Feature} instances. - * Instead, the {@link Operation#apply Operation.apply(…)} method is invoked every times that the property + * Properties that are instances of {@code Operation} are usually not stored in {@code Feature} instances. + * Instead, the {@link AbstractOperation#apply Operation.apply(…)} method is invoked every times that the property * value is requested. {@code AbstractFeature} does not cache operation results. * Those results are usually read-only, but may be writable under the conditions documented in * {@link #setOperationValue(String, Object)}. diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/FeatureExpression.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/FeatureExpression.java index cc2b87f3f6..05bd7e153e 100644 --- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/FeatureExpression.java +++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/FeatureExpression.java @@ -73,9 +73,9 @@ public interface FeatureExpression extends Expression { /** * Provides the expected type of values produced by this expression when a feature of the given - * type is evaluated. The resulting type shall describe a "static" property, i.e. it can be an - * {@link AttributeType} or a {@link org.opengis.feature.FeatureAssociationRole} - * but not an {@link org.opengis.feature.Operation}. + * type is evaluated. The resulting type shall describe a "static" property, i.e. it can be a + * {@link org.apache.sis.feature.DefaultAttributeType} or a {@link org.apache.sis.feature.DefaultAssociationRole} + * but not an {@link org.apache.sis.feature.AbstractOperation}. * * If this method returns an instance of {@link AttributeTypeBuilder}, then its parameterized * type should be the same {@code } than this {@code FeatureExpression}. diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/Filter.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/Filter.java index 8676107bf7..0e11130b4f 100644 --- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/Filter.java +++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/Filter.java @@ -32,6 +32,8 @@ import java.util.function.Predicate; * instead of {@code org.apache.sis.filter}. * * + * @paramthe type of resources (e.g. {@link org.apache.sis.feature.AbstractFeature}) to filter. + * * @since 1.1 */ public interface Filter extends Predicate { diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/TransformedEvent.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/TransformedEvent.java index f906873041..e86698e2c0 100644 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/TransformedEvent.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/TransformedEvent.java @@ -126,7 +126,7 @@ abstract class TransformedEvent implements XMLEvent { /** * Wrapper over a namespace emitted during the reading or writing of an XML document. * This wrapper is used for changing the namespace URI. The wrapped {@link #event} - * should b
[sis] 01/01: Merge branch 'geoapi-4.0' into geoapi-3.1
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-3.1 in repository https://gitbox.apache.org/repos/asf/sis.git commit 2730c89d637c575eb52f75fa51b067a47fa40355 Merge: fba1ecf3f7 24b12731b9 Author: Martin Desruisseaux AuthorDate: Thu Oct 5 15:33:25 2023 +0200 Merge branch 'geoapi-4.0' into geoapi-3.1 .../apache/sis/buildtools/gradle/BuildHelper.java | 1 + .../apache/sis/buildtools/gradle/Dependency.java | 2 +- .../apache/sis/buildtools/gradle/ModularJAR.java | 9 +- .../sis/buildtools/gradle/ModularSources.java | 147 + .../apache/sis/buildtools/gradle/ZipWriter.java| 2 +- endorsed/build.gradle.kts | 109 --- .../org/apache/sis/filter/sqlmm/OneGeometry.java | 2 + .../org/apache/sis/filter/sqlmm/ST_Transform.java | 2 + .../org/apache/sis/filter/sqlmm/TwoGeometries.java | 2 + .../main/org/apache/sis/util/iso/Types.java| 5 +- .../bind/metadata/replace/QualityParameter.java| 6 +- .../sis/referencing/AbstractIdentifiedObject.java | 4 +- .../referencing/factory/GeodeticObjectFactory.java | 4 +- .../org/apache/sis/storage/gpx/WritableStore.java | 1 - .../org/apache/sis/storage/StorageConnector.java | 2 + .../org/apache/sis/storage/WritableFeatureSet.java | 1 - .../org/apache/sis/converter/NumberConverter.java | 2 + .../org/apache/sis/converter/ObjectToString.java | 4 + .../org/apache/sis/converter/StringConverter.java | 4 + .../sis/util/collection/WeakValueHashMap.java | 2 +- .../apache/sis/util/internal/MetadataServices.java | 2 - incubator/build.gradle.kts | 15 ++- optional/build.gradle.kts | 13 +- .../org/apache/sis/gui/map/ValuesFormatter.java| 2 +- 24 files changed, 302 insertions(+), 41 deletions(-)
[sis] branch geoapi-3.1 updated (fba1ecf3f7 -> 2730c89d63)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-3.1 in repository https://gitbox.apache.org/repos/asf/sis.git from fba1ecf3f7 Merge branch 'geoapi-4.0' into geoapi-3.1 add c847947bde Fix some Javadoc warnings. add 17c3f73eca Generate sources JAR and Javadoc JAR together with the Maven artifacts. add 24b12731b9 Add GPG signing for endorsed and optional modules. Incubator modules are not signed because not intended to be released. new 2730c89d63 Merge branch 'geoapi-4.0' into geoapi-3.1 The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../apache/sis/buildtools/gradle/BuildHelper.java | 1 + .../apache/sis/buildtools/gradle/Dependency.java | 2 +- .../apache/sis/buildtools/gradle/ModularJAR.java | 9 +- .../sis/buildtools/gradle/ModularSources.java | 147 + .../apache/sis/buildtools/gradle/ZipWriter.java| 2 +- endorsed/build.gradle.kts | 109 --- .../org/apache/sis/filter/sqlmm/OneGeometry.java | 2 + .../org/apache/sis/filter/sqlmm/ST_Transform.java | 2 + .../org/apache/sis/filter/sqlmm/TwoGeometries.java | 2 + .../main/org/apache/sis/util/iso/Types.java| 5 +- .../bind/metadata/replace/QualityParameter.java| 6 +- .../sis/referencing/AbstractIdentifiedObject.java | 4 +- .../referencing/factory/GeodeticObjectFactory.java | 4 +- .../org/apache/sis/storage/gpx/WritableStore.java | 1 - .../org/apache/sis/storage/StorageConnector.java | 2 + .../org/apache/sis/storage/WritableFeatureSet.java | 1 - .../org/apache/sis/converter/NumberConverter.java | 2 + .../org/apache/sis/converter/ObjectToString.java | 4 + .../org/apache/sis/converter/StringConverter.java | 4 + .../sis/util/collection/WeakValueHashMap.java | 2 +- .../apache/sis/util/internal/MetadataServices.java | 2 - incubator/build.gradle.kts | 15 ++- optional/build.gradle.kts | 13 +- .../org/apache/sis/gui/map/ValuesFormatter.java| 2 +- 24 files changed, 302 insertions(+), 41 deletions(-) create mode 100644 buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java
[sis] branch geoapi-4.0 updated: Add GPG signing for endorsed and optional modules. Incubator modules are not signed because not intended to be released.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git The following commit(s) were added to refs/heads/geoapi-4.0 by this push: new 24b12731b9 Add GPG signing for endorsed and optional modules. Incubator modules are not signed because not intended to be released. 24b12731b9 is described below commit 24b12731b9b7b84d0dd5ee78931049b2ae33c9f5 Author: Martin Desruisseaux AuthorDate: Thu Oct 5 15:32:24 2023 +0200 Add GPG signing for endorsed and optional modules. Incubator modules are not signed because not intended to be released. --- .../sis/buildtools/gradle/ModularSources.java | 11 +- endorsed/build.gradle.kts | 24 ++ optional/build.gradle.kts | 8 3 files changed, 38 insertions(+), 5 deletions(-) diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java index b07e0cc9ca..9525b4f796 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java @@ -39,7 +39,7 @@ final class ModularSources extends ZipWriter.JDK { /** * The Java system property to set to {@code true} for enabling Javadoc generation. */ -private static final String CREATE_JAVADOC_PROPERTY = "org.apache.sis.create-javadoc"; +private static final String RELEASE_VERSION_PROPERTY = "org.apache.sis.releaseVersion"; /** * Creates a helper instance. @@ -101,13 +101,14 @@ final class ModularSources extends ZipWriter.JDK { } /* * For performance reason, we actually generate the Javadoc only of the - * "org.apache.sis.create-javadoc" system property is set to `true`. + * "org.apache.sis.releaseVersion" system property is set to a non-null value. * Otherwise the Javadoc files will be empty. */ -if (Boolean.getBoolean(CREATE_JAVADOC_PROPERTY)) { +final String version = System.getProperty(RELEASE_VERSION_PROPERTY); +if (version != null) { final var pb = new ProcessBuilder("javadoc", "-locale", "en", -"-doctitle","Apache SIS API", +"-doctitle","Apache SIS " + version + " API", "-tag", "category:X:Category:", "-tag", "todo:a:TODO:", "-nonavbar", "-noindex", "-nodeprecatedlist", "-notree", "-nohelp", @@ -129,7 +130,7 @@ final class ModularSources extends ZipWriter.JDK { "For performance reason, Javadoc generation is disabled by default.\n" + "For generating Javadoc, set the following system property:\n" + "\n" + -"" + CREATE_JAVADOC_PROPERTY + "=true\n" + +"" + RELEASE_VERSION_PROPERTY + "=\n" + "\n"); } } else { diff --git a/endorsed/build.gradle.kts b/endorsed/build.gradle.kts index b8671e60c3..c4806ce7ed 100644 --- a/endorsed/build.gradle.kts +++ b/endorsed/build.gradle.kts @@ -42,6 +42,7 @@ version = "2.0-SNAPSHOT" plugins { `java-library` `maven-publish` +signing id("org.apache.sis.buildtools") } @@ -444,3 +445,26 @@ publishing { } } } + +signing { +useGpgCmd() +if (System.getProperty("org.apache.sis.releaseVersion") != null) { +sign(publishing.publications["util"]) +sign(publishing.publications["metadata"]) +sign(publishing.publications["referencing"]) +sign(publishing.publications["referencing.gazetteer"]) +sign(publishing.publications["feature"]) +sign(publishing.publications["portrayal"]) +sign(publishing.publications["storage"]) +sign(publishing.publications["storage.sql"]) +sign(publishing.publications["storage.xml"]) +sign(publishing.publications["storage.netcdf"]) +sign(publishing.publications["storage.geotiff"]) +sign(publishing.publications["storage.earthobserva
[sis] branch geoapi-4.0 updated: Generate sources JAR and Javadoc JAR together with the Maven artifacts.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git The following commit(s) were added to refs/heads/geoapi-4.0 by this push: new 17c3f73eca Generate sources JAR and Javadoc JAR together with the Maven artifacts. 17c3f73eca is described below commit 17c3f73eca02c394d0897b18176d82ee0d5487cc Author: Martin Desruisseaux AuthorDate: Wed Oct 4 18:10:23 2023 +0200 Generate sources JAR and Javadoc JAR together with the Maven artifacts. --- .../apache/sis/buildtools/gradle/BuildHelper.java | 1 + .../apache/sis/buildtools/gradle/Dependency.java | 2 +- .../apache/sis/buildtools/gradle/ModularJAR.java | 9 +- .../sis/buildtools/gradle/ModularSources.java | 146 + .../apache/sis/buildtools/gradle/ZipWriter.java| 2 +- endorsed/build.gradle.kts | 85 +--- incubator/build.gradle.kts | 15 ++- optional/build.gradle.kts | 5 +- 8 files changed, 240 insertions(+), 25 deletions(-) diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java index 729fa33f0e..0408b27a8f 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java @@ -160,6 +160,7 @@ public final class BuildHelper implements Plugin { }); }); tasks.withType(Jar.class).forEach((task) -> { +task.getInputs().dir(Conventions.SOURCE_DIRECTORY); task.getOutputs().dir(Conventions.fileRelativeToBuild(project, Conventions.LIBS_DIRECTORY)); task.setActions(List.of((t) -> {// Replace the default action by our own. ModularJAR.execute(BuildHelper.this, (Jar) t); diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Dependency.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Dependency.java index f05b607943..c4b4ef9f4a 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Dependency.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Dependency.java @@ -151,7 +151,7 @@ public final class Dependency { } } } -return null; +return name.replace('-', '.'); } /** diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java index 72f4be0535..ba1e3b96b3 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java @@ -81,7 +81,7 @@ final class ModularJAR extends ZipWriter.JDK { * Invoked when the {@code jar} task is executed. * * @param context the extension which is invoking this task. - * @param task the {@link Javadoc} task to configure. + * @param task the {@link Jar} task to configure. */ static void execute(final BuildHelper context, final Jar task) { final Project project= task.getProject(); @@ -106,9 +106,14 @@ final class ModularJAR extends ZipWriter.JDK { } } try { -write(project, module, new File(target, module.getName() + ".jar"), filteredAttributes); +final String name = module.getName(); +write(project, module, new File(target, name + ".jar"), filteredAttributes); +ModularSources.write(task, name, false); +ModularSources.write(task, name, true); } catch (IOException e) { throw new UncheckedIOException(e); +} catch (InterruptedException e) { +throw new RuntimeException(e); } filteredAttributes.clear(); } diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java new file mode 100644 index 00..b07e0cc9ca --- /dev/null +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularSources.java @@ -0,0 +1,146 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + *
[sis] branch geoapi-4.0 updated: Fix some Javadoc warnings.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git The following commit(s) were added to refs/heads/geoapi-4.0 by this push: new c847947bde Fix some Javadoc warnings. c847947bde is described below commit c847947bde095bc7b55544bb6d5d611b7cba4890 Author: Martin Desruisseaux AuthorDate: Tue Oct 3 23:45:15 2023 +0200 Fix some Javadoc warnings. --- .../main/org/apache/sis/filter/sqlmm/OneGeometry.java | 2 ++ .../main/org/apache/sis/filter/sqlmm/ST_Transform.java | 2 ++ .../main/org/apache/sis/filter/sqlmm/TwoGeometries.java | 2 ++ .../org.apache.sis.metadata/main/org/apache/sis/util/iso/Types.java | 5 ++--- .../org/apache/sis/xml/bind/metadata/replace/QualityParameter.java | 6 +++--- .../main/org/apache/sis/referencing/AbstractIdentifiedObject.java | 4 ++-- .../org/apache/sis/referencing/factory/GeodeticObjectFactory.java | 4 ++-- .../main/org/apache/sis/storage/gpx/WritableStore.java | 1 - .../main/org/apache/sis/storage/StorageConnector.java | 2 ++ .../main/org/apache/sis/storage/WritableFeatureSet.java | 1 - .../main/org/apache/sis/converter/NumberConverter.java | 2 ++ .../main/org/apache/sis/converter/ObjectToString.java | 4 .../main/org/apache/sis/converter/StringConverter.java | 4 .../main/org/apache/sis/util/collection/WeakValueHashMap.java | 2 +- .../main/org/apache/sis/util/internal/MetadataServices.java | 2 -- .../main/org/apache/sis/gui/map/ValuesFormatter.java| 2 +- 16 files changed, 29 insertions(+), 16 deletions(-) diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/OneGeometry.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/OneGeometry.java index a64c216bd0..5d26727042 100644 --- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/OneGeometry.java +++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/OneGeometry.java @@ -103,6 +103,8 @@ class OneGeometry extends SpatialFunction { /** * SQLMM spatial functions taking a single geometry operand with one argument. + * + * @paramthe type of resources (e.g. {@code Feature}) used as inputs. */ static final class WithArgument extends OneGeometry { /** For cross-version compatibility. */ diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/ST_Transform.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/ST_Transform.java index b53f00f620..15ea2201be 100644 --- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/ST_Transform.java +++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/ST_Transform.java @@ -58,6 +58,8 @@ import org.opengis.filter.InvalidFilterValueException; * * @author Johann Sorel (Geomatys) * @author Martin Desruisseaux (Geomatys) + * + * @paramthe type of resources (e.g. {@code Feature}) used as inputs. */ final class ST_Transform extends FunctionWithSRID { /** diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/TwoGeometries.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/TwoGeometries.java index e205ee0e52..1d856296b5 100644 --- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/TwoGeometries.java +++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/TwoGeometries.java @@ -148,6 +148,8 @@ class TwoGeometries extends SpatialFunction { /** * SQLMM spatial functions taking a single geometry operand with one argument. + * + * @paramthe type of resources (e.g. {@code Feature}) used as inputs. */ static final class WithArgument extends TwoGeometries { /** For cross-version compatibility. */ diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/Types.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/Types.java index 236c62eed4..0d19f3ef5d 100644 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/Types.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/util/iso/Types.java @@ -403,9 +403,8 @@ public final class Types extends Static { /** * The {@link InternationalString} returned by the {@code Types.getCodeTitle(…)} method. - * The code below is a duplicated - in a different way - of {@code CodeListUID(CodeList)} - * constructor ({@link org.apache.sis.xml.bind.metadata.code package}). This duplication exists - * because {@code CodeListUID} constructor stores more information in an opportunist way. + * The code below is a duplicated - in a different way - of {@code CodeListUID(CodeList
[sis] 02/02: Replace a link to GeoAPI-snapshot by a link to GeoAPI 3.0.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis.git commit 00e6806277c6a20a43e3d319f91b678d8f88d5dc Author: Martin Desruisseaux AuthorDate: Tue Oct 3 16:12:57 2023 +0200 Replace a link to GeoAPI-snapshot by a link to GeoAPI 3.0. --- .../main/org/apache/sis/buildtools/gradle/ModularJavadoc.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJavadoc.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJavadoc.java index 63e917813a..6d2f01949d 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJavadoc.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJavadoc.java @@ -69,7 +69,7 @@ final class ModularJavadoc extends Conventions { "todo:a:\"TODO:\""); options.links( "https://docs.oracle.com/en/java/javase/11/docs/api;, -"http://www.geoapi.org/snapshot/javadoc;, +"http://www.geoapi.org/3.0/javadoc;, "http://unitsofmeasurement.github.io/unit-api/site/apidocs;); /* * Taglet defined in this `buildSrc` sub-project.
[sis] 01/02: Merge branch 'geoapi-3.1'
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis.git commit 3c3d94aa98c6e15bb65c448c03f506e0a5c375ca Merge: 0c2f9effc0 fba1ecf3f7 Author: Martin Desruisseaux AuthorDate: Tue Oct 3 17:52:18 2023 +0200 Merge branch 'geoapi-3.1' NOTICE | 10 +- README.md | 9 + .../buildtools/coding/VerifyVersionInJavadoc.java | 293 + .../apache/sis/buildtools/gradle/BuildHelper.java | 1 + .../apache/sis/buildtools/gradle/ZipWriter.java| 7 +- endorsed/README.md | 15 ++ endorsed/build.gradle.kts | 2 + .../org.apache.sis.console/main/module-info.java | 18 +- .../apache/sis/metadata/sql/MetadataSource.java| 2 +- .../apache/sis/metadata/sql/util/Initializer.java | 6 +- .../sis/metadata/sql/util/LocalDataSource.java | 2 +- .../src/org.apache.sis.openoffice/bundle/README.md | 2 +- .../referencing/factory/FactoryDataException.java | 5 +- .../factory/MissingFactoryResourceException.java | 1 + .../sis/referencing/factory/sql/EPSGFactory.java | 4 +- .../sis/referencing/factory/sql/EPSG_README.md | 2 +- .../sis/referencing/factory/sql/package-info.java | 2 +- .../operation/provider/DatumShiftGridLoader.java | 3 +- .../sis/referencing/factory/sql/epsg/README.md | 4 +- .../sis/referencing/report/HTMLGenerator.java | 2 +- .../src/org.apache.sis.util/main/module-info.java | 2 +- .../main/org/apache/sis/setup/Configuration.java | 2 +- .../apache/sis/setup/InstallationResources.java| 4 +- .../apache/sis/setup/OptionalInstallations.java| 4 +- incubator/README.md| 10 + optional/README.md | 29 ++ optional/build.gradle.kts | 5 + optional/src/org.apache.sis.gui/bundle/README | 7 +- optional/src/org.apache.sis.gui/bundle/lib/README | 1 + .../src/org.apache.sis.gui/main/module-info.java | 26 +- 30 files changed, 433 insertions(+), 47 deletions(-) diff --cc NOTICE index e8e93764f9,ff3ba0a520..da26da730b --- a/NOTICE +++ b/NOTICE @@@ -5,9 -5,9 +5,9 @@@ This product includes software develope The Apache Software Foundation (https://www.apache.org/). The Javadoc contains documentation from the Open Geospatial Consortium (OGC®) - specifications (https://www.ogc.org/standards/), also known as OpenGIS. + specifications (https://www.ogc.org/standards/), also known as OpenGIS®. -Apache SIS depends on GeoAPI published by OGC under Apache 2.0 license. +Apache SIS depends on GeoAPI published by OGC under BSD-style license. https://www.ogc.org/about-ogc/policies/software-licenses/ Apache SIS depends on JSR-385 (API only) published under BSD license. diff --cc endorsed/src/org.apache.sis.openoffice/bundle/README.md index 39993eeb62,e21a6980b6..ebdcfa6a12 --- a/endorsed/src/org.apache.sis.openoffice/bundle/README.md +++ b/endorsed/src/org.apache.sis.openoffice/bundle/README.md @@@ -83,7 -83,7 +83,7 @@@ Launch ``` cd target - unopkg add apache-sis-1.1-SNAPSHOT.oxt --log-file log.txt -unopkg add apache-sis-1.x-SNAPSHOT.oxt --log-file log.txt ++unopkg add apache-sis-1.4-SNAPSHOT.oxt --log-file log.txt scalc -env:RTL_LOGFILE=log.txt ``` diff --cc endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/sql/epsg/README.md index 73d583a49e,6a90fc4e0b..f7945afcd7 --- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/sql/epsg/README.md +++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/sql/epsg/README.md @@@ -98,7 -98,7 +98,7 @@@ cd _ mvn clean install export CLASSPATH=~/.m2/repository/org/apache/derby/derby/10.14.2.0/derby-10.14.2.0.jar export CLASSPATH=$PWD/core/sis-metadata/target/test-classes:$CLASSPATH - export CLASSPATH=$PWD/target/binaries/sis-referencing-2.0-SNAPSHOT.jar:$CLASSPATH -export CLASSPATH=$PWD/target/binaries/sis-referencing-1.x-SNAPSHOT.jar:$CLASSPATH ++export CLASSPATH=$PWD/target/binaries/sis-referencing-1.4-SNAPSHOT.jar:$CLASSPATH export CLASSPATH=$PWD/core/sis-metadata/target/test-classes:$CLASSPATH export CLASSPATH=$PWD/core/sis-referencing/target/test-classes:$CLASSPATH cd http://svn.apache.org/repos/asf/sis/data/non-free/> diff --cc endorsed/src/org.apache.sis.util/main/module-info.java index 227645d78a,34ebd8ec24..982cf73679 --- a/endorsed/src/org.apache.sis.util/main/module-info.java +++ b/endorsed/src/org.apache.sis.util/main/module-info.java @@@ -34,11 -34,11 +34,11 @@@ * @since 0.3 */ module org.apache.sis.util { - requires java.sql; requires java.management; + requires transitive java.sql; requires transitive java.logging; requires transitive java.meas
[sis] branch main updated (0c2f9effc0 -> 00e6806277)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/sis.git from 0c2f9effc0 Merge branch 'geoapi-3.1' add 41a79147f4 Add the tools used in previous commit for cleaning `@since` and `@version` javadoc tags. add 32d7c5d57a When the "gr3df97a.txt" datum shift grid file is not found, the exception should be `MissingFactoryResourceException` instead of `FactoryDataException`. add f81541ca43 Replace some Maven artifact names by JPMS names in documentation. add a95aaf3c96 Update the NOTICE file. add f75f7ee3a5 Add or edit `README.md` files. add 0a1d7bd6c3 Replace a NullPointerException by a more explicit message about the failure cause. add b91d66b6e9 Adjust dependency declarations. add 0a25115dc9 Set version number and the EPSG geodetic dataset URL to expected values after release. Fix erroneous SIS version number. add fba1ecf3f7 Merge branch 'geoapi-4.0' into geoapi-3.1 new 3c3d94aa98 Merge branch 'geoapi-3.1' new 00e6806277 Replace a link to GeoAPI-snapshot by a link to GeoAPI 3.0. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: NOTICE | 10 +- README.md | 9 + .../buildtools/coding/VerifyVersionInJavadoc.java | 293 + .../apache/sis/buildtools/gradle/BuildHelper.java | 1 + .../sis/buildtools/gradle/ModularJavadoc.java | 2 +- .../apache/sis/buildtools/gradle/ZipWriter.java| 7 +- endorsed/README.md | 15 ++ endorsed/build.gradle.kts | 2 + .../org.apache.sis.console/main/module-info.java | 18 +- .../apache/sis/metadata/sql/MetadataSource.java| 2 +- .../apache/sis/metadata/sql/util/Initializer.java | 6 +- .../sis/metadata/sql/util/LocalDataSource.java | 2 +- .../src/org.apache.sis.openoffice/bundle/README.md | 2 +- .../referencing/factory/FactoryDataException.java | 5 +- .../factory/MissingFactoryResourceException.java | 1 + .../sis/referencing/factory/sql/EPSGFactory.java | 4 +- .../sis/referencing/factory/sql/EPSG_README.md | 2 +- .../sis/referencing/factory/sql/package-info.java | 2 +- .../operation/provider/DatumShiftGridLoader.java | 3 +- .../sis/referencing/factory/sql/epsg/README.md | 4 +- .../sis/referencing/report/HTMLGenerator.java | 2 +- .../src/org.apache.sis.util/main/module-info.java | 2 +- .../main/org/apache/sis/setup/Configuration.java | 2 +- .../apache/sis/setup/InstallationResources.java| 4 +- .../apache/sis/setup/OptionalInstallations.java| 4 +- incubator/README.md| 10 + optional/README.md | 29 ++ optional/build.gradle.kts | 5 + optional/src/org.apache.sis.gui/bundle/README | 7 +- optional/src/org.apache.sis.gui/bundle/lib/README | 1 + .../src/org.apache.sis.gui/main/module-info.java | 26 +- 31 files changed, 434 insertions(+), 48 deletions(-) create mode 100644 buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/coding/VerifyVersionInJavadoc.java create mode 100644 endorsed/README.md create mode 100644 incubator/README.md create mode 100644 optional/README.md
[sis] branch geoapi-3.1 updated (18a06d459c -> fba1ecf3f7)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-3.1 in repository https://gitbox.apache.org/repos/asf/sis.git from 18a06d459c Merge branch 'geoapi-4.0' into geoapi-3.1 add 41a79147f4 Add the tools used in previous commit for cleaning `@since` and `@version` javadoc tags. add 32d7c5d57a When the "gr3df97a.txt" datum shift grid file is not found, the exception should be `MissingFactoryResourceException` instead of `FactoryDataException`. add f81541ca43 Replace some Maven artifact names by JPMS names in documentation. add a95aaf3c96 Update the NOTICE file. add f75f7ee3a5 Add or edit `README.md` files. add 0a1d7bd6c3 Replace a NullPointerException by a more explicit message about the failure cause. add b91d66b6e9 Adjust dependency declarations. add 0a25115dc9 Set version number and the EPSG geodetic dataset URL to expected values after release. Fix erroneous SIS version number. new fba1ecf3f7 Merge branch 'geoapi-4.0' into geoapi-3.1 The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: NOTICE | 10 +- README.md | 9 + .../buildtools/coding/VerifyVersionInJavadoc.java | 293 + .../apache/sis/buildtools/gradle/BuildHelper.java | 1 + .../apache/sis/buildtools/gradle/ZipWriter.java| 7 +- endorsed/README.md | 15 ++ endorsed/build.gradle.kts | 2 + .../org.apache.sis.console/main/module-info.java | 18 +- .../apache/sis/metadata/sql/MetadataSource.java| 2 +- .../apache/sis/metadata/sql/util/Initializer.java | 6 +- .../sis/metadata/sql/util/LocalDataSource.java | 2 +- .../src/org.apache.sis.openoffice/bundle/README.md | 2 +- .../referencing/factory/FactoryDataException.java | 5 +- .../factory/MissingFactoryResourceException.java | 1 + .../sis/referencing/factory/sql/EPSGFactory.java | 4 +- .../sis/referencing/factory/sql/EPSG_README.md | 2 +- .../sis/referencing/factory/sql/package-info.java | 2 +- .../operation/provider/DatumShiftGridLoader.java | 3 +- .../sis/referencing/factory/sql/epsg/README.md | 4 +- .../sis/referencing/report/HTMLGenerator.java | 2 +- .../src/org.apache.sis.util/main/module-info.java | 2 +- .../main/org/apache/sis/setup/Configuration.java | 2 +- .../apache/sis/setup/InstallationResources.java| 4 +- .../apache/sis/setup/OptionalInstallations.java| 4 +- incubator/README.md| 10 + optional/README.md | 29 ++ optional/build.gradle.kts | 5 + optional/src/org.apache.sis.gui/bundle/README | 7 +- optional/src/org.apache.sis.gui/bundle/lib/README | 1 + .../src/org.apache.sis.gui/main/module-info.java | 26 +- 30 files changed, 433 insertions(+), 47 deletions(-) create mode 100644 buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/coding/VerifyVersionInJavadoc.java create mode 100644 endorsed/README.md create mode 100644 incubator/README.md create mode 100644 optional/README.md
[sis] 01/01: Merge branch 'geoapi-4.0' into geoapi-3.1
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-3.1 in repository https://gitbox.apache.org/repos/asf/sis.git commit fba1ecf3f7a4fd0c4138d7646f62bf16ef5035f3 Merge: 18a06d459c 0a25115dc9 Author: Martin Desruisseaux AuthorDate: Tue Oct 3 17:49:19 2023 +0200 Merge branch 'geoapi-4.0' into geoapi-3.1 NOTICE | 10 +- README.md | 9 + .../buildtools/coding/VerifyVersionInJavadoc.java | 293 + .../apache/sis/buildtools/gradle/BuildHelper.java | 1 + .../apache/sis/buildtools/gradle/ZipWriter.java| 7 +- endorsed/README.md | 15 ++ endorsed/build.gradle.kts | 2 + .../org.apache.sis.console/main/module-info.java | 18 +- .../apache/sis/metadata/sql/MetadataSource.java| 2 +- .../apache/sis/metadata/sql/util/Initializer.java | 6 +- .../sis/metadata/sql/util/LocalDataSource.java | 2 +- .../src/org.apache.sis.openoffice/bundle/README.md | 2 +- .../referencing/factory/FactoryDataException.java | 5 +- .../factory/MissingFactoryResourceException.java | 1 + .../sis/referencing/factory/sql/EPSGFactory.java | 4 +- .../sis/referencing/factory/sql/EPSG_README.md | 2 +- .../sis/referencing/factory/sql/package-info.java | 2 +- .../operation/provider/DatumShiftGridLoader.java | 3 +- .../sis/referencing/factory/sql/epsg/README.md | 4 +- .../sis/referencing/report/HTMLGenerator.java | 2 +- .../src/org.apache.sis.util/main/module-info.java | 2 +- .../main/org/apache/sis/setup/Configuration.java | 2 +- .../apache/sis/setup/InstallationResources.java| 4 +- .../apache/sis/setup/OptionalInstallations.java| 4 +- incubator/README.md| 10 + optional/README.md | 29 ++ optional/build.gradle.kts | 5 + optional/src/org.apache.sis.gui/bundle/README | 7 +- optional/src/org.apache.sis.gui/bundle/lib/README | 1 + .../src/org.apache.sis.gui/main/module-info.java | 26 +- 30 files changed, 433 insertions(+), 47 deletions(-) diff --cc endorsed/src/org.apache.sis.openoffice/bundle/README.md index 39993eeb62,acc06e2ae7..e21a6980b6 --- a/endorsed/src/org.apache.sis.openoffice/bundle/README.md +++ b/endorsed/src/org.apache.sis.openoffice/bundle/README.md @@@ -83,7 -83,7 +83,7 @@@ Launch ``` cd target - unopkg add apache-sis-1.1-SNAPSHOT.oxt --log-file log.txt -unopkg add apache-sis-2.0-SNAPSHOT.oxt --log-file log.txt ++unopkg add apache-sis-1.x-SNAPSHOT.oxt --log-file log.txt scalc -env:RTL_LOGFILE=log.txt ``` diff --cc endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/sql/epsg/README.md index 73d583a49e,42f030d594..6a90fc4e0b --- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/sql/epsg/README.md +++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/sql/epsg/README.md @@@ -98,7 -98,7 +98,7 @@@ cd _ mvn clean install export CLASSPATH=~/.m2/repository/org/apache/derby/derby/10.14.2.0/derby-10.14.2.0.jar export CLASSPATH=$PWD/core/sis-metadata/target/test-classes:$CLASSPATH --export CLASSPATH=$PWD/target/binaries/sis-referencing-2.0-SNAPSHOT.jar:$CLASSPATH ++export CLASSPATH=$PWD/target/binaries/sis-referencing-1.x-SNAPSHOT.jar:$CLASSPATH export CLASSPATH=$PWD/core/sis-metadata/target/test-classes:$CLASSPATH export CLASSPATH=$PWD/core/sis-referencing/target/test-classes:$CLASSPATH cd http://svn.apache.org/repos/asf/sis/data/non-free/>
[sis] 01/02: Adjust dependency declarations.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit b91d66b6e9dd0646f177e2dba6b93ba508e9f9e7 Author: Martin Desruisseaux AuthorDate: Tue Oct 3 15:01:12 2023 +0200 Adjust dependency declarations. --- .../apache/sis/buildtools/gradle/BuildHelper.java | 1 + endorsed/build.gradle.kts | 2 ++ .../org.apache.sis.console/main/module-info.java | 18 --- .../src/org.apache.sis.util/main/module-info.java | 2 +- optional/build.gradle.kts | 5 + .../src/org.apache.sis.gui/main/module-info.java | 26 +- 6 files changed, 34 insertions(+), 20 deletions(-) diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java index 9de2c9fa86..729fa33f0e 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java @@ -160,6 +160,7 @@ public final class BuildHelper implements Plugin { }); }); tasks.withType(Jar.class).forEach((task) -> { +task.getOutputs().dir(Conventions.fileRelativeToBuild(project, Conventions.LIBS_DIRECTORY)); task.setActions(List.of((t) -> {// Replace the default action by our own. ModularJAR.execute(BuildHelper.this, (Jar) t); })); diff --git a/endorsed/build.gradle.kts b/endorsed/build.gradle.kts index b2616486d2..2cf5c89f2e 100644 --- a/endorsed/build.gradle.kts +++ b/endorsed/build.gradle.kts @@ -64,6 +64,8 @@ dependencies { compileOnly(libs.ucar) compileOnly(libs.aws.s3) compileOnly(drivers.postgres) +runtimeOnly(drivers.derby.core) +runtimeOnly(drivers.derby.tools) // Test dependencies testImplementation(tests.junit4) diff --git a/endorsed/src/org.apache.sis.console/main/module-info.java b/endorsed/src/org.apache.sis.console/main/module-info.java index e564a8e00a..7062473f92 100644 --- a/endorsed/src/org.apache.sis.console/main/module-info.java +++ b/endorsed/src/org.apache.sis.console/main/module-info.java @@ -23,14 +23,16 @@ * @since 0.3 */ module org.apache.sis.console { -requires java.sql; -requires java.rmi; -requires java.management; -requires jakarta.xml.bind; - -requires transitive org.apache.sis.util; -requires org.apache.sis.storage; -requires org.apache.sis.storage.xml; +requiresjava.sql; +requiresjava.rmi; +requiresjava.management; +requiresjakarta.xml.bind; +requires transitive org.apache.sis.util;// Transitive because of `ResourcesDownloader`. +requiresorg.apache.sis.metadata; +requiresorg.apache.sis.referencing; +requiresorg.apache.sis.feature; +requiresorg.apache.sis.storage; +requiresorg.apache.sis.storage.xml; // Because of GPX in `OutputFormat`. provides org.apache.sis.setup.InstallationResources with org.apache.sis.console.ResourcesDownloader; diff --git a/endorsed/src/org.apache.sis.util/main/module-info.java b/endorsed/src/org.apache.sis.util/main/module-info.java index 9023c40490..34ebd8ec24 100644 --- a/endorsed/src/org.apache.sis.util/main/module-info.java +++ b/endorsed/src/org.apache.sis.util/main/module-info.java @@ -34,8 +34,8 @@ * @since 0.3 */ module org.apache.sis.util { -requires java.sql; requires java.management; +requires transitive java.sql; requires transitive java.logging; requires transitive java.measure; requires transitive org.opengis.geoapi.pending; diff --git a/optional/build.gradle.kts b/optional/build.gradle.kts index f7dcb18634..52a2f77766 100644 --- a/optional/build.gradle.kts +++ b/optional/build.gradle.kts @@ -60,7 +60,12 @@ dependencies { api (files("${mainDepPath}/org.apache.sis.feature")) api (files("${mainDepPath}/org.apache.sis.storage")) implementation(files("${mainDepPath}/org.apache.sis.storage.xml")) +runtimeOnly (files("${mainDepPath}/org.apache.sis.storage.netcdf")) +runtimeOnly (files("${mainDepPath}/org.apache.sis.storage.geotiff")) +runtimeOnly (files("${mainDepPath}/org.apache.sis.storage.earthobservation")) api (files("${mainDepPath}/org.apache.sis.portrayal")) +runtimeOnly (drivers.derby.core) +runtimeOnly (drivers.derby.tools) // Test dependencies testImplementation(tests.geoapi) diff --git a/optional/src/org.apache.sis.gui/main/module-info.java b/optional/src/
[sis] 02/02: Set version number and the EPSG geodetic dataset URL to expected values after release. Fix erroneous SIS version number.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 0a25115dc935f04671142ebc310d439756fc257a Author: Martin Desruisseaux AuthorDate: Mon Oct 2 10:52:16 2023 +0200 Set version number and the EPSG geodetic dataset URL to expected values after release. Fix erroneous SIS version number. --- endorsed/src/org.apache.sis.openoffice/bundle/README.md | 2 +- .../main/org/apache/sis/setup/OptionalInstallations.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/endorsed/src/org.apache.sis.openoffice/bundle/README.md b/endorsed/src/org.apache.sis.openoffice/bundle/README.md index 39993eeb62..acc06e2ae7 100644 --- a/endorsed/src/org.apache.sis.openoffice/bundle/README.md +++ b/endorsed/src/org.apache.sis.openoffice/bundle/README.md @@ -83,7 +83,7 @@ Launch: ``` cd target -unopkg add apache-sis-1.1-SNAPSHOT.oxt --log-file log.txt +unopkg add apache-sis-2.0-SNAPSHOT.oxt --log-file log.txt scalc -env:RTL_LOGFILE=log.txt ``` diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/setup/OptionalInstallations.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/setup/OptionalInstallations.java index 453351b611..e2cb279770 100644 --- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/setup/OptionalInstallations.java +++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/setup/OptionalInstallations.java @@ -50,7 +50,7 @@ import static org.apache.sis.util.internal.Constants.EPSG; * This is useful as a workaround if a URL is no longer accessible. * * @author Martin Desruisseaux (Geomatys) - * @version 1.3 + * @version 1.4 * @since 1.1 */ public abstract class OptionalInstallations extends InstallationResources implements Localized { @@ -58,7 +58,7 @@ public abstract class OptionalInstallations extends InstallationResources implem * Where to download the EPSG scripts after user has approved the terms of use. */ private static final String EPSG_DOWNLOAD_URL = - "https://repo1.maven.org/maven2/org/apache/sis/non-free/sis-epsg/1.3/sis-epsg-1.3.jar;; + "https://repo1.maven.org/maven2/org/apache/sis/non-free/sis-epsg/1.4/sis-epsg-1.4.jar;; /** * Estimation of the EPSG database size after installation, in megabytes.
[sis] branch geoapi-4.0 updated (0a1d7bd6c3 -> 0a25115dc9)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git from 0a1d7bd6c3 Replace a NullPointerException by a more explicit message about the failure cause. new b91d66b6e9 Adjust dependency declarations. new 0a25115dc9 Set version number and the EPSG geodetic dataset URL to expected values after release. Fix erroneous SIS version number. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../apache/sis/buildtools/gradle/BuildHelper.java | 1 + endorsed/build.gradle.kts | 2 ++ .../org.apache.sis.console/main/module-info.java | 18 --- .../src/org.apache.sis.openoffice/bundle/README.md | 2 +- .../src/org.apache.sis.util/main/module-info.java | 2 +- .../apache/sis/setup/OptionalInstallations.java| 4 ++-- optional/build.gradle.kts | 5 + .../src/org.apache.sis.gui/main/module-info.java | 26 +- 8 files changed, 37 insertions(+), 23 deletions(-)
[sis-site] branch main updated: Partial upgrade of release instruction to the new gradle build system.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis-site.git The following commit(s) were added to refs/heads/main by this push: new 81a6e086 Partial upgrade of release instruction to the new gradle build system. 81a6e086 is described below commit 81a6e0864ef5f318db99ec905523d46c861259d0 Author: Martin Desruisseaux AuthorDate: Tue Oct 3 18:22:46 2023 +0200 Partial upgrade of release instruction to the new gradle build system. --- content/_index.md | 2 +- content/downloads.md | 4 ++- content/release-management.md | 72 +++ content/source.md | 8 ++--- 4 files changed, 54 insertions(+), 32 deletions(-) diff --git a/content/_index.md b/content/_index.md index 0fe3a1b5..08d5a30e 100644 --- a/content/_index.md +++ b/content/_index.md @@ -29,7 +29,7 @@ The API and the data encodings follow [international standards](standards.html) * Feature formats: * Read [Moving Feature Comma Separated Values (CSV) encoding][MF_CSV]. * Read [Moving Feature netCDF encoding][netCDF_MF]. - * Read {{% GPX %}} (a {{% XML %}} schema for {{% GPS %}} data). + * Read/Write {{% GPX %}} (a {{% XML %}} schema for {{% GPS %}} data). * Read [features from {{% SQL %}} spatial databases][SF_SQL] by analysing the database schema. * Geographic metadata (ISO 19115): * Read ISO 19115 metadata from all above-listed raster and feature formats. diff --git a/content/downloads.md b/content/downloads.md index 1b3aee8e..d517cdf7 100644 --- a/content/downloads.md +++ b/content/downloads.md @@ -62,11 +62,13 @@ from the SIS project root: {{< highlight bash >}} cd apache-sis-{{% version %}} -gradle test # Theoretically optional, seems sometime necessary. gradle assemble gradle publishToMavenLocal # If use with Maven projects is desired. {{< / highlight >}} +JAR files will be in the `endorsed/build/libs/` sub-directory. +An Open/LibreOffice add-in will be in `endorsed/build/bundle/`. + The JavaFX application is excluded by default because it depends on the [JavaFX platform][JavaFX] which is distributed under GPL license (note that the SIS module stay under Apache 2 licence). diff --git a/content/release-management.md b/content/release-management.md index 76d1d8b6..fefc147a 100644 --- a/content/release-management.md +++ b/content/release-management.md @@ -188,15 +188,15 @@ Replace the `$OLD_VERSION` number by `$NEW_VERSION` in the values of following p * Review the `README.md` and `NOTICE` files in root directory. * Review the `README` file in `optional/src/org.apache.sis.gui/bundle/`. -Commit and merge with other branches up to master. +Commit and merge with other branches up to main branch. {{< highlight bash >}} git add --update git commit --message="Set version number and the EPSG geodetic dataset URL to expected values after release." -# merge with master +# merge with main {{< / highlight >}} -Before to start the release process, we need to test more extensively the master. +Before to start the release process, we need to test more extensively the main branch. The tests described below often reveal errors that were unnoticed in daily builds. It is better to detect and fix them before to create the release branch. First, ensure that a PostgreSQL server is running and listening to the default port on local host @@ -206,8 +206,7 @@ Then execute the following commands and fix as much warnings as practical: {{< highlight bash >}} systemctl start postgresql.service# Optional — exact command depends on Linux distribution. -mvn clean install --define org.apache.sis.test.extensive=true -mvn javadoc:aggregate --activate-profiles javafx +gradle test --system-prop org.apache.sis.test.extensive=true {{< / highlight >}} If the `SIS_DATA` environment variable was set during above build, unset it a try again. @@ -218,9 +217,10 @@ the variable value in the shell performing the release. {{< highlight bash >}} unset SIS_DATA echo $SIS_DATA -mvn test +gradle cleanTest test {{< / highlight >}} + ## Update the list of supported CRS{#update-crs-list} The following steps regenerate @@ -265,6 +265,7 @@ Those steps are also useful as additional tests, since failure to generate those git commit --message="Update the list CRS and operation methods supported by Apache SIS $NEW_VERSION." {{< / highlight >}} + ## Prepare release notes{#release-notes} We update JIRA soon because doing so is sometimes a reminder of uncompleted tasks in source code. @@ -290,6 +291,7 @@ git add content/release-notes/$NEW_VERSION.md git commit --message "Release notes for Apache SIS $NEW_VERSION." {{< / highlight >}} + # Create release branch{#branch} Execute the
[sis-site] branch main updated: Release notes for Apache SIS 1.4.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis-site.git The following commit(s) were added to refs/heads/main by this push: new 0da7931a Release notes for Apache SIS 1.4. 0da7931a is described below commit 0da7931a6f913a533e7e14c27c255cace2bbfe66 Author: Martin Desruisseaux AuthorDate: Mon Oct 2 23:31:58 2023 +0200 Release notes for Apache SIS 1.4. --- content/_index.md| 2 +- content/release-notes/1.3.md | 2 +- content/release-notes/1.4.md | 80 3 files changed, 82 insertions(+), 2 deletions(-) diff --git a/content/_index.md b/content/_index.md index a078a877..0fe3a1b5 100644 --- a/content/_index.md +++ b/content/_index.md @@ -22,7 +22,7 @@ The API and the data encodings follow [international standards](standards.html) * Raster formats: * Read [NetCDF-3 Classic and 64-bit Offset Format][netCDF]. - * Read [GeoTIFF][geoTIFF] including BigTIFF extension. + * Read [GeoTIFF][geoTIFF] or Cloud Optimized GeoTIFF (COG), including BigTIFF extension. * Read Landsat (groups of GeoTIFF files). * Read ESRI BIL/BIP/BSQ and read/write ERSI ASCII Grid. * Read/write World Files with any image format supported by Image I/O. diff --git a/content/release-notes/1.3.md b/content/release-notes/1.3.md index c70b6135..4c9a0ba4 100644 --- a/content/release-notes/1.3.md +++ b/content/release-notes/1.3.md @@ -3,7 +3,7 @@ title: SIS 1.3 Release notes --- * Release date: **2022-12-25** -* Next release +* [Next release](1.4.html) * [Previous release](1.2.html) * [Incompatible changes](#compatibility) * [Noticeable changes](#issues) diff --git a/content/release-notes/1.4.md b/content/release-notes/1.4.md new file mode 100644 index ..c7344ed7 --- /dev/null +++ b/content/release-notes/1.4.md @@ -0,0 +1,80 @@ +--- +title: SIS 1.4 Release notes +--- + +* Release date: **2023-01-10** +* Next release +* [Previous release](1.3.html) +* [Incompatible changes](#compatibility) +* [Noticeable changes](#issues) +* Requirement: Java 11 + +This release contains the upgrade from Java 8 to Java 11, +including the migration to Java Platform Module System (JPMS). +This release also contains various bug fixes improving the stability. +Cloud Optimized GeoTIFF (COG) support has been completed with the +automatic use of HTTP Range requests. + +In this release, the source code of Apache SIS project has been restructured with a new directory layout. +The new layout uses +[Module Source Hierarchy](https://docs.oracle.com/en/java/javase/21/docs/specs/man/javac.html#directory-hierarchies) +and is described [in annex of this release notes](Modularization.html). +This change can be ignored when only the pre-compiled JAR files are used. + +# Incompatible changes{#compatibility} + +The following changes in Apache SIS 1.4 are incompatibles with the previous release (SIS 1.3): + +* In the `org.apache.sis.storage.aggregate` package, two classes got an incompatible change: `JoinFeatureSet` and `ConcatenatedFeatureSet`. + In those two classes, the `StoreListeners` argument given to the constructor is replaced by a `Resource` argument. +* The constant value defined by `PlanarImage.SAMPLE_RESOLUTIONS_KEY` has been modified from singular to plural + (i.e., a "s" has been added to the `String` value). It was done for consistency with `SAMPLE_DIMENSIONS_KEY`. + Projects do not need to modify their code, only to recompile. +* In the method signatures of the `Filter` and `Expression` interfaces, + parameterized type `` become ``. +* `org.apache.sis.util.ResourceInternationalString` become an abstract class. + Furthermore the constructor method signature changed. + Those changes were needed for JPMS. + + +# Noticeable changes{#issues} + +## New Features{#features} +* [SIS-574](https://issues.apache.org/jira/browse/SIS-574) — Grid coverage dimensionality reduction +* [SIS-575](https://issues.apache.org/jira/browse/SIS-575) — Aggregation of bands of different grid coveragess +* [SIS-571](https://issues.apache.org/jira/browse/SIS-571) — Add a `DataStores.openWritable(String, Object)` method + +## Improvements{#improvements} +* [SIS-561](https://issues.apache.org/jira/browse/SIS-561) — Upgrade to Java 11 +* [SIS-563](https://issues.apache.org/jira/browse/SIS-563) — Upgrade from GeoAPI 3.0.1 to 3.0.2 and JSR-363 to JSR-385 +* [SIS-560](https://issues.apache.org/jira/browse/SIS-560) — Remove the boolean return value in `WritableFeatureSet.removeIf(Predicate)` +* [SIS-573](https://issues.apache.org/jira/browse/SIS-573) — Allow data stores to be closed asynchronously +* [SIS-569](https://issues.apache.org/jira/browse/SIS-569) — Replace `Path` by `URI` for datum shift grid files +* [SIS-577](https://issues.apache.org/jira/browse/SIS-577) — Replace `ColorModel` argument by a `Colorizer` interface +* [SIS-
[sis-site] 02/03: Add notes about Java modules in SIS 1.4 and later.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis-site.git commit 768e4fa06bacb44c528fda68b81d1a1ee4cca5d0 Author: Martin Desruisseaux AuthorDate: Mon Oct 2 17:36:51 2023 +0200 Add notes about Java modules in SIS 1.4 and later. --- content/_index.md| 5 +- content/downloads.md | 49 +- content/release-notes/_index.md | 5 + content/source.md| 2 + static/release-notes/Modularization.html | 891 +++ 5 files changed, 937 insertions(+), 15 deletions(-) diff --git a/content/_index.md b/content/_index.md index d6461524..a078a877 100644 --- a/content/_index.md +++ b/content/_index.md @@ -61,9 +61,12 @@ The API and the data encodings follow [international standards](standards.html) The latest SIS release is {{% version %}}, released in October 2023, and can be [downloaded](downloads.html) as a `zip` files or as Maven dependencies. -This version requires Java 11 or later. The EPSG geodetic dataset is optional for licensing reasons, but recommended. EPSG database installation is [described in a separated page](epsg.html). +This Apache SIS version requires Java 11 or later and uses the Java Platform Module System (JPMS). +Consequently applications should declare SIS JAR files on their module-path rather than their class-path, +but a compatibility mechanism makes possible to nevertheless use SIS on the class-path. +Note that this class-path compatibility may be removed in future versions. Apache {{% SIS %}} is a Java library for use by other applications. Leveraging the full SIS capabilities or getting the best performance require that users write their own applications on top of SIS. diff --git a/content/downloads.md b/content/downloads.md index 5b753b8a..b089844c 100644 --- a/content/downloads.md +++ b/content/downloads.md @@ -11,6 +11,7 @@ See the `NOTICE` file contained in each release artifact for applicable copyrigh {{< toc >}} + # Download ZIP files{#bundles} Apache {{% SIS %}} is distributed in the form of Java source code in a multi-modules Apache Maven project. @@ -22,6 +23,7 @@ Optional dependencies (JAXB implementation, UCAR netCDF library, Amazon SDK) are * [Apache SIS {{% version %}} javadoc][doc] \[[PGP][doc-PGP]\] \[[SHA 512][doc-SHA]\] * [Apache SIS {{% version %}} sources][src] \[[PGP][src-PGP]\] \[[SHA 512][src-SHA]\] ([build instruction](build.html)) + ## Verify signatures{#release-gpg} All downloads can be verified using the Apache {{% SIS %}} code signing [KEYS][keys]. @@ -51,6 +53,25 @@ pgpk -a KEYS pgpv apache-sis-{{% version %}}-src.zip.asc {{< / highlight >}} + +## Setting the module-path + +Apache SIS 1.4 and later use the Java Platform Module System (JPMS). +Consequently applications should declare SIS JAR files on their module-path rather than their class-path. +The easiest way is to declare the whole directory like below: + +{{< highlight bash >}} +java --module-path apache-sis-{{% version %}}/lib +{{< / highlight >}} + +If the application using Apache SIS is not itself modularized, +it may be necessary to add the `--add-modules ALL-MODULE-PATH` option. +If it is not possible to declare SIS JAR files on the module-path, +a compatibility mechanism makes possible to nevertheless use SIS {{% version %}} on the class-path. +Note however that declaring SIS JAR files on the class-path may be no longer supported in a future version +(it does **not** mean that applications using SIS must put themselves on the module-path). + + # Download as Maven dependencies{#maven} An easy approach to integrate Apache {{% SIS %}} into a Java project uses the [Apache Maven][maven] @@ -82,20 +103,20 @@ Below are examples of declarations in a `pom.xml` file for building a project wi The `sis-referencing` module in above example can be replaced by one or many of the following modules: - Service Group Artifact - ISO 19115 metadata org.apache.sis.core sis-metadata - Referencing by coordinates org.apache.sis.core sis-referencing - Referencing by identifiers org.apache.sis.core sis-referencing-by-identifiers - Features and coverages org.apache.sis.core sis-feature - Feature data from SQL database org.apache.sis.storage sis-sqlstore - Feature data from GPX files org.apache.sis.storage sis-xmlstore - Features and rasters from NetCDF org.apache.sis.storage sis-netcdf - Raster data from GeoTIFF org.apache.sis.storage sis-geotiff - Raster data from Landsat org.apache.sis.storage sis-earth-observation - Raster data from GCOM (JAXA) org.apache.sis.profile sis-japan-profile - Connect
[sis-site] 03/03: Merge the "build" page with the "sources" and "downloads" pages.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis-site.git commit be694f71edfb3ebb90496e21f797d8721b0c17f5 Author: Martin Desruisseaux AuthorDate: Mon Oct 2 18:19:09 2023 +0200 Merge the "build" page with the "sources" and "downloads" pages. --- content/build.md | 59 -- content/downloads.md | 36 +--- content/source.md | 37 - layouts/partials/menu.html | 1 - 4 files changed, 69 insertions(+), 64 deletions(-) diff --git a/content/build.md b/content/build.md deleted file mode 100644 index e59c67d1.. --- a/content/build.md +++ /dev/null @@ -1,59 +0,0 @@ -title: Build from source - -Apache {{% SIS %}} is built by Gradle. -It requires Java 18 or higher for building, but the compilation result can be executed on Java 11 or higher. -For installing the JAR files in the local Maven repository, execute the following command -from the SIS project root: - -{{< highlight bash >}} -gradle assemble publishToMavenLocal -{{< / highlight >}} - -The JavaFX application is excluded by default because it depends on -the [JavaFX platform][JavaFX] which is distributed under GPL license -(note that the SIS module stay under Apache 2 licence). -Likewise the [EPSG geodetic dataset](epsg.html) is excluded by default for licensing reasons. -For including the JavaFX module in the build, define the `PATH_TO_FX` environment variable -with the path to the directory containing all JavaFX JAR files. -Example on a Linux system (the path may vary): - -{{< highlight bash >}} -export PATH_TO_FX=/usr/lib/jvm/openjfx -{{< / highlight >}} - -The remaining of this page provides more advanced tips for SIS developers. - -{{< toc >}} - -# Distribution file {#dist} - -The distribution archive is a file with the `.zip` extension containing most SIS modules -(excluding the ones in the incubator sub-project), together with mandatory dependencies. -For users convenience, we provide shell scripts launching the SIS command line tool or the JavaFX application. -Those shell scripts, together with other files (`README`, `LICENSE`, etc.) are bundled in a ZIP file -created in the `optional/build/bundle/` directory. -To test, uncompress in any directory and execute `apache-sis-/bin/sis`. - -# SIS-specific Gradle plugin {#build-helper} - -Apache {{% SIS %}} uses a plugin in `buildSrc/` for SIS-specific tasks and Javadoc customization. -This plugin is used automatically by Gradle. Consequently the remaining of this page can be safely ignored. -This page is provided only as a reference for developers wanting to take a closer look to SIS build system. - -## Localized resources compiler{#resources} - -Localized resources are provided in `*.properties` files as specified by the `java.util.PropertyResourceBundle` standard class. -However SIS does not use those resources files directly. Instead `*.properties` files are transformed into binary files having -the same filename but the `.utf` extension. This conversion is done for efficiency, for convenience (the compiler applies the -`java.text.MessageFormat` _doubled single quotes_ rule itself), and for compile-time safety. - -In addition to generating the `*.utf` files, the resource compiler may modify the `*.java` files having the same name than the -resource files. For example given a set of `Vocabulary*.properties` files (one for each supported language), the compiler will -generate the corresponding `Vocabulary*.utf` files, then look for a `Vocabulary.java` source file. If such source file is found -and contains a public static inner class named `Keys`, then the compiler will rewrite the constants declared in that inner class -with the list of keys found in the `Vocabulary*.properties` files. - - -[JavaFX]: https://openjfx.io/ diff --git a/content/downloads.md b/content/downloads.md index b089844c..1b3aee8e 100644 --- a/content/downloads.md +++ b/content/downloads.md @@ -4,7 +4,6 @@ title: Apache SIS downloads Apache {{% SIS %}} {{% version %}} is now available. See the [release notes](release-notes/{{% version %}}.html) for a list of changes since the previous version. -See the [build instruction](build.html) for compiling from the sources. Apache {{% SIS %}} releases are available under the [Apache License, Version 2.0][license]. See the `NOTICE` file contained in each release artifact for applicable copyright attribution notices. @@ -21,7 +20,7 @@ Optional dependencies (JAXB implementation, UCAR netCDF library, Amazon SDK) are * [Apache SIS {{% version %}} binary][bin] \[[PGP][bin-PGP]\] \[[SHA 512][bin-SHA]\] * [Apache SIS {{% version %}} javadoc][doc] \[[PGP][doc-PGP]\] \[[SHA 512][doc-SHA]\] -* [Apache SIS {{% version %}} sour
[sis-site] branch main updated (1a23a244 -> be694f71)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/sis-site.git from 1a23a244 Update the list CRS and operation methods supported by Apache SIS 1.4. Update the release management guide following Gradle and modularisation. new b12ce4dc Update setup instructions, in particular the ones about PostgreSQL. new 768e4fa0 Add notes about Java modules in SIS 1.4 and later. new be694f71 Merge the "build" page with the "sources" and "downloads" pages. The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: content/_index.md| 5 +- content/build.md | 59 -- content/downloads.md | 83 ++- content/release-management.md| 15 +- content/release-notes/_index.md | 5 + content/source.md| 97 +++- layouts/partials/menu.html | 1 - static/release-notes/Modularization.html | 891 +++ static/syntax.css| 7 +- 9 files changed, 1064 insertions(+), 99 deletions(-) delete mode 100644 content/build.md create mode 100644 static/release-notes/Modularization.html
[sis-site] 01/03: Update setup instructions, in particular the ones about PostgreSQL.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis-site.git commit b12ce4dc0a9beff8e4803d601393d808b8121b34 Author: Martin Desruisseaux AuthorDate: Mon Oct 2 14:10:41 2023 +0200 Update setup instructions, in particular the ones about PostgreSQL. --- content/release-management.md | 15 +-- content/source.md | 60 +-- static/syntax.css | 7 - 3 files changed, 60 insertions(+), 22 deletions(-) diff --git a/content/release-management.md b/content/release-management.md index 84c3b81e..76d1d8b6 100644 --- a/content/release-management.md +++ b/content/release-management.md @@ -40,8 +40,8 @@ provided that all relative paths in this page are adjusted accordingly. ├─ $NEW_VERSION-RC ├─ main ├─ non-free -│ ├─ sis-epsg -│ └─ sis-embedded-data +│ ├─ sis-embedded-data +│ └─ sis-epsg ├─ release │ ├─ distribution │ │ └─ $NEW_VERSION @@ -50,10 +50,10 @@ provided that all relative paths in this page are adjusted accordingly. │ ├─ integration │ └─ maven └─ site - ├─ main - ├─ asf-staging ├─ asf-site - └─ javadoc + ├─ asf-staging + ├─ javadoc + └─ main {{< / highlight >}} Create the above directory structure as below: @@ -169,7 +169,6 @@ the current release attempt. Those versions shall be set on the command line lik {{< highlight bash >}} gpg --list-keys # For getting the value to put in -unset PATH_TO_FX export OLD_VERSION=1.3 export NEW_VERSION={{% version %}} export RELEASE_CANDIDATE=1 @@ -229,8 +228,8 @@ the [CoordinateOperationMethods](./tables/CoordinateOperationMethods.html) and [CoordinateReferenceSystems](./tables/CoordinateReferenceSystems.html) pages. Those steps are also useful as additional tests, since failure to generate those pages may reveal problems. -* Open the `AuthorityCodes` class and apply the following changes **withoug committing them.** - They are temporary hacks for including deprecated codes in the CRS list to be generated. +* Open the `AuthorityCodes` class and apply the following changes **without committing them.** + They are temporary hacks for including deprecated codes in the CRS list to be generated (those codes will appear with strike for making clear that they are deprecated): * Search `DEPRECATED=0` (it appears in a SQL fragment) and replace by `(DEPRECATED=0 OR TRUE)`. diff --git a/content/source.md b/content/source.md index 69b0ff66..42b00181 100644 --- a/content/source.md +++ b/content/source.md @@ -17,11 +17,12 @@ or to cherry-pick only the interesting parts of the advanced configuration. {{< toc >}} + # Basic installation{#basic} Create an empty directory for the Apache {{% SIS %}} project. -We use `ApacheSIS` directory name in this page, but that name can be anything; -replace that name in the shell commands below if another name is used. +We use `ApacheSIS` directory name in this page, but that name can be anything. +Replace that name in the shell commands below if another name is used. The Apache {{% SIS %}} source code can be cloned in that directory as below (lines starting with `#` are comments and can be ignored): @@ -37,18 +38,41 @@ git clone https://gitbox.apache.org/repos/asf/sis # svn checkout https://github.com/apache/sis/trunk {{< / highlight >}} -Apache {{% SIS %}} can be built by running `gradle assemble` in the `sis` subdirectory. -At this stage, the `ApacheSIS` parent directory is redundant with the `sis` subdirectory, -but we recommend to create that parent directory anyway in anticipation -for more subdirectories to be created later, when desired. -The remaining of this page describes those optional configurations for more advanced developments. +If JavaFX is available on the local machine, +its JAR files location can be specified as below +(edit the `/usr/lib/jvm/openjfx` path as needed). +This is optional and can be safely ignored if the JavaFX application is not desired. + +{{< highlight bash >}} +# Syntax for Unix shell +export PATH_TO_FX=/usr/lib/jvm/openjfx +{{< / highlight >}} + +Then, Apache {{% SIS %}} can be built as below: + +{{< highlight bash >}} +cd sis +gradle test # Theoretically optional, seems sometime necessary. +gradle assemble +gradle publishToMavenLocal # If use with Maven projects is desired. +{{< / highlight >}} + +Outputs will be located in the following sub-directories: + +* `endorsed/build/libs/` for the JAR files of the core library and its dependencies. +* `optional/build/libs/` for the JAR files of modules requiring optional dependencies. +* `incubator/build/libs/` for the JAR files of modules that are not yet part of releases. +* `optional/build/bundle/` for the JavaFX application if optional dependencies were specified.
[sis] branch geoapi-4.0 updated: Replace a NullPointerException by a more explicit message about the failure cause.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git The following commit(s) were added to refs/heads/geoapi-4.0 by this push: new 0a1d7bd6c3 Replace a NullPointerException by a more explicit message about the failure cause. 0a1d7bd6c3 is described below commit 0a1d7bd6c338e8195509dc06a3580fddd58716cb Author: Martin Desruisseaux AuthorDate: Sun Oct 1 22:37:26 2023 +0200 Replace a NullPointerException by a more explicit message about the failure cause. --- .../main/org/apache/sis/buildtools/gradle/ZipWriter.java | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ZipWriter.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ZipWriter.java index f28c53da19..b8440e088f 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ZipWriter.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ZipWriter.java @@ -19,6 +19,7 @@ package org.apache.sis.buildtools.gradle; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.InputStream; import java.io.OutputStream; import java.io.IOException; @@ -218,9 +219,13 @@ abstract class ZipWriter extends Conventions { * @throws IOException if an error occurred while reading the source or writing the ZIP file. */ protected final void writeDirectory(final File source, final FileFilter filter, final String target) throws IOException { +final File[] files = listIgnoreHidden(source); +if (files == null) { +throw new FileNotFoundException("Directory does not exist: " + source); +} path.setLength(0); path.append(target); -for (final File file : listIgnoreHidden(source)) { +for (final File file : files) { if (filter == null || filter.accept(file)) { appendRecursively(file); }
[sis-site] branch main updated: Update the list CRS and operation methods supported by Apache SIS 1.4. Update the release management guide following Gradle and modularisation.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis-site.git The following commit(s) were added to refs/heads/main by this push: new 1a23a244 Update the list CRS and operation methods supported by Apache SIS 1.4. Update the release management guide following Gradle and modularisation. 1a23a244 is described below commit 1a23a2442fb2c9be032a9deaae4f114bf4b5067f Author: Martin Desruisseaux AuthorDate: Sun Oct 1 22:35:43 2023 +0200 Update the list CRS and operation methods supported by Apache SIS 1.4. Update the release management guide following Gradle and modularisation. --- content/release-management.md | 56 --- static/tables/CoordinateOperationMethods.html | 14 +-- static/tables/CoordinateReferenceSystems.html | 2 +- 3 files changed, 52 insertions(+), 20 deletions(-) diff --git a/content/release-management.md b/content/release-management.md index 48935bf0..84c3b81e 100644 --- a/content/release-management.md +++ b/content/release-management.md @@ -179,14 +179,15 @@ export SIGNING_KEY=# hexadecimal number with 8 or 40 digits. Make sure that the code signing key is the defauly key declared in `~/.gnupg/gpg.conf` during the Maven deployment phase. + # Review project status before branching{#prepare-source} Replace the `$OLD_VERSION` number by `$NEW_VERSION` in the values of following properties on the development branch: -* `DOWNLOAD_URL` in `core/sis-utility/src/main/java/org/apache/sis/setup/OptionalInstallations.java` file. -* `` in root `pom.xml` file. -* Review the `README` and `NOTICE` files in root directory. -* Review the `README` files in `application/sis-javafx/src/main/artifact/` and subdirectories. +* `DOWNLOAD_URL` in `endorsed/src/org.apache.sis.util/main/org/apache/sis/setup/OptionalInstallations.java` file + (note that the version number appears twice, and once more in `@since` Javadoc tag). +* Review the `README.md` and `NOTICE` files in root directory. +* Review the `README` file in `optional/src/org.apache.sis.gui/bundle/`. Commit and merge with other branches up to master. @@ -228,17 +229,42 @@ the [CoordinateOperationMethods](./tables/CoordinateOperationMethods.html) and [CoordinateReferenceSystems](./tables/CoordinateReferenceSystems.html) pages. Those steps are also useful as additional tests, since failure to generate those pages may reveal problems. -1. Open the `AuthorityCodes` class, search `DEPRECATED=0` (it appears in a SQL fragment) and replace by `(DEPRECATED=0 OR TRUE)`. - **Do not commit!** This is a temporary hack for including deprecated codes in the CRS list to be generated. - Those codes will appear with strike for making clear that they are deprecated. -2. Open the `CoordinateOperationMethods` Java class and execute its `main` method, for example in an IDE. -3. Open the `CoordinateReferenceSystems` Java class and execute its `main` method. -4. If successful, HTML files will be generated in the current directory. - Open those files in a web browser and verify that information are okay, - in particular the SIS and EPSG version numbers in the first paragraph. -5. If okay, move those two HTML files to the `../site/main/static/tables/` directory, overwriting previous files. -6. Revert the hack in `AuthorityCodes` class. -7. Commit: `git commit --message="Update the list CRS and operation methods supported by Apache SIS $NEW_VERSION."` +* Open the `AuthorityCodes` class and apply the following changes **withoug committing them.** + They are temporary hacks for including deprecated codes in the CRS list to be generated. + (those codes will appear with strike for making clear that they are deprecated): + + * Search `DEPRECATED=0` (it appears in a SQL fragment) and replace by `(DEPRECATED=0 OR TRUE)`. + * Comment-out the `if (table.showColumn != null)` block which appears just above the `DEPRECATED=0` occurrence. + + +* Run the following commands: + + {{< highlight bash >}} + gradle assemble + + java --module-path endorsed/build/libs \ + --limit-modules org.apache.sis.referencing \ + --patch-module org.apache.sis.referencing=endorsed/build/classes/java/test/org.apache.sis.referencing \ + --module org.apache.sis.referencing/org.apache.sis.referencing.report.CoordinateOperationMethods + + # Following requires a build of NetBeans project for fetching test dependencies. This may change in a future version. + java --module-path endorsed/build/libs:netbeans-project/build/dependencies \ + --add-modules org.opengis.geoapi.conformance,org.apache.derby.tools,org.apache.derby.engine \ + --limit-modules org.opengis.geoapi.conformance,org.apache.derby.tools,org.apache.derby.engine,org.apache.sis.referencing \ + --add-reads org.apache.sis.referencing=org.opengis.geoapi.c
[sis] branch geoapi-4.0 updated: Add or edit `README.md` files.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git The following commit(s) were added to refs/heads/geoapi-4.0 by this push: new f75f7ee3a5 Add or edit `README.md` files. f75f7ee3a5 is described below commit f75f7ee3a58087159dc8089033e1af413fb4e229 Author: Martin Desruisseaux AuthorDate: Sun Oct 1 15:31:40 2023 +0200 Add or edit `README.md` files. --- README.md | 9 +++ endorsed/README.md | 15 +++ .../sis/referencing/report/HTMLGenerator.java | 2 +- incubator/README.md| 10 optional/README.md | 29 ++ optional/src/org.apache.sis.gui/bundle/README | 7 -- optional/src/org.apache.sis.gui/bundle/lib/README | 1 + 7 files changed, 70 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e9919f5c0b..eeb59ac67d 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,15 @@ For publishing to the local `~/.m2` repository gradle publishToMavenLocal +### Build the graphical application + +If the [optional modules](optional/README.md) prerequisites are met, +a ZIP file containing a subset of Apache SIS modules and dependencies +is automatically built in the `optional/build/bundle/` sub-directory. +That ZIP file can be unzipped in any directory and the application is +launched by running the `./bin/sisfx` script. + + ## Getting Started Information for running a [command-line tool](https://sis.apache.org/command-line.html) diff --git a/endorsed/README.md b/endorsed/README.md new file mode 100644 index 00..47b0adcf52 --- /dev/null +++ b/endorsed/README.md @@ -0,0 +1,15 @@ +# Endorsed modules of Apache SIS + +The `src` sub-directory contains modules included in Apache SIS releases. +Those modules have no prerequisites other than Java Development Kit (JDK) +and Gradle for building from the sources. The build command is: + +gradle assemble + +The JAR files will be in the `build/libs/` directory. +See [the parent directory](../README.md) for more information. + +## See also +The [optional](../optional) directory contains modules that are also part +of Apache SIS releases, but requiring prerequisites such as acceptance of +license agreements more restrictive than Apache 2 license. diff --git a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/report/HTMLGenerator.java b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/report/HTMLGenerator.java index 6637e54659..1e2d928fe7 100644 --- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/report/HTMLGenerator.java +++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/report/HTMLGenerator.java @@ -32,7 +32,7 @@ import org.apache.sis.util.internal.Constants; /** - * Base class of all classes used to generate HTML pages to be published on + * Base class of some classes used to generate HTML pages to be published on * the https://sis.apache.org/;>https://sis.apache.org/ web site. * * This class creates files in the current default directory. It is user's responsibility diff --git a/incubator/README.md b/incubator/README.md new file mode 100644 index 00..66b205a5be --- /dev/null +++ b/incubator/README.md @@ -0,0 +1,10 @@ +# Incubator modules of Apache SIS + +The `src` sub-directory contains experimental modules that are not yet included in +Apache SIS releases. Those JAR files are not deployed on Maven Central repository. +Using the JAR files requires compiling the `main` branch from the sources: + +gradle assemble + +The JAR files will be in the `build/libs/` directory. Their API may change without +warning at any time, until the modules move to the [endorsed](../endorsed) directory. diff --git a/optional/README.md b/optional/README.md new file mode 100644 index 00..87b33e8562 --- /dev/null +++ b/optional/README.md @@ -0,0 +1,29 @@ +# Optional modules of Apache SIS + +The `src` sub-directory contains modules included in Apache SIS releases, +but which are buildable or executable only if some dependencies are added +by the users themselves. Those dependencies are not distributed with Apache +SIS releases because they are under more restrictive licenses than Apache 2. +If those dependencies are not provided, Apache SIS [endorsed](../endorsed) +modules will still work but without Graphical User Interface (GUI). + +## Configuration + +Paths to dependencies are specified by the following environment variables. +After those variables are set, `gradle assemble` can be executed as usual. + +### JavaFX + +JavaFX is licensed under GPL with classpath exception. The JavaFX SDK can be +downloaded from the [OpenJFX web site](https://openjfx.io/) and installed in +any directory. The p
[sis-site] 01/02: Remove duplicated section.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis-site.git commit 4fef9a52b2f30791fa96a981a63aae80c320af71 Author: Martin Desruisseaux AuthorDate: Sat Sep 30 17:20:16 2023 +0200 Remove duplicated section. --- content/release-management.md | 34 ++ 1 file changed, 6 insertions(+), 28 deletions(-) diff --git a/content/release-management.md b/content/release-management.md index 1e770233..48935bf0 100644 --- a/content/release-management.md +++ b/content/release-management.md @@ -30,18 +30,22 @@ Before to perform a release, make sure that the following conditions hold: ## Directory layout{#directory-layout} -The steps described in this page assume the following directory layout. +The steps described in this page assume the following directory layout, +where `$NEW_VERSION` and `$RELEASE_CANDIDATE` are environment variables introduced [later](#configure). Some directories are Git checkout, other are ordinary directories. Any other layout can be used, provided that all relative paths in this page are adjusted accordingly. {{< highlight text >}} +├─ $NEW_VERSION-RC ├─ main ├─ non-free │ ├─ sis-epsg │ └─ sis-embedded-data ├─ release │ ├─ distribution +│ │ └─ $NEW_VERSION +│ │ └─ RC$RELEASE_CANDIDATE │ └─ test │ ├─ integration │ └─ maven @@ -166,7 +170,7 @@ the current release attempt. Those versions shall be set on the command line lik {{< highlight bash >}} gpg --list-keys # For getting the value to put in unset PATH_TO_FX -export OLD_VERSION=1.2 +export OLD_VERSION=1.3 export NEW_VERSION={{% version %}} export RELEASE_CANDIDATE=1 export SIGNING_KEY=# hexadecimal number with 8 or 40 digits. @@ -175,32 +179,6 @@ export SIGNING_KEY=# hexadecimal number with 8 or 40 digits. Make sure that the code signing key is the defauly key declared in `~/.gnupg/gpg.conf` during the Maven deployment phase. -## Directory layout{#directory-layout} - -The steps described in this page assume the following directory layout (some directories will be created as -a result of the steps). Any other layout can be used. However if the layout differs, then the relative paths -in this page shall be adjusted accordingly. - -{{< highlight text >}} - -├─ $NEW_VERSION-RC -├─ master -├─ non-free -│ └─ sis-epsg -├─ releases -│ ├─ distribution -│ │ └─ $NEW_VERSION -│ │ └─ RC$RELEASE_CANDIDATE -│ └─ tests -│ ├─ integration -│ └─ maven -└─ site - ├─ main - ├─ asf-staging - ├─ asf-site - └─ javadoc -{{< / highlight >}} - # Review project status before branching{#prepare-source} Replace the `$OLD_VERSION` number by `$NEW_VERSION` in the values of following properties on the development branch:
[sis] branch main updated (9a6f339273 -> 0c2f9effc0)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/sis.git from 9a6f339273 Merge branch 'geoapi-3.1' add 9800c082a4 Remove `@since` and `@version` javadoc tags in non-public classes or methods. They were misleading when internal classes were moved, splitted or merged. Also they should tell when something was first available in public API, which is not necessarily when the class or method was first created. Finally, restricting them to public API is a way to remind SIS developers that a class being edited is part of public API. add 18a06d459c Merge branch 'geoapi-4.0' into geoapi-3.1 new 0c2f9effc0 Merge branch 'geoapi-3.1' The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../org/apache/sis/buildtools/book/Assembler.java | 4 .../apache/sis/buildtools/book/BookException.java | 2 -- .../org/apache/sis/buildtools/book/Characters.java | 2 -- .../apache/sis/buildtools/book/CodeColorizer.java | 2 -- .../apache/sis/buildtools/book/package-info.java | 2 -- .../apache/sis/buildtools/coding/package-info.java | 2 -- .../org/apache/sis/buildtools/doclet/Doclet.java | 2 -- .../org/apache/sis/buildtools/doclet/Include.java | 2 -- .../org/apache/sis/buildtools/doclet/Rewriter.java | 2 -- .../org/apache/sis/buildtools/doclet/Taglet.java | 2 -- .../apache/sis/buildtools/doclet/package-info.java | 2 -- .../apache/sis/buildtools/gradle/Assembler.java| 2 -- .../apache/sis/buildtools/gradle/BuildHelper.java | 2 -- .../apache/sis/buildtools/gradle/Conventions.java | 2 -- .../apache/sis/buildtools/gradle/Dependency.java | 2 -- .../apache/sis/buildtools/gradle/JavaMaker.java| 2 -- .../sis/buildtools/gradle/ModularCompilation.java | 2 -- .../apache/sis/buildtools/gradle/ModularJAR.java | 2 -- .../sis/buildtools/gradle/ModularJavadoc.java | 2 -- .../sis/buildtools/gradle/ModularPublishing.java | 2 -- .../apache/sis/buildtools/gradle/ModularTest.java | 2 -- .../sis/buildtools/gradle/SISBuildException.java | 2 -- .../org/apache/sis/buildtools/gradle/UnoPkg.java | 2 -- .../apache/sis/buildtools/gradle/ZipWriter.java| 2 -- .../apache/sis/buildtools/gradle/package-info.java | 2 -- .../org/apache/sis/buildtools/maven/Element.java | 2 -- .../org/apache/sis/buildtools/maven/Generator.java | 2 -- .../apache/sis/buildtools/maven/package-info.java | 2 -- .../resources/IndexedResourceCompiler.java | 2 -- .../sis/buildtools/resources/package-info.java | 2 -- .../resources/IndexedResourceCompilerTest.java | 2 -- .../apache/sis/cloud/aws/internal/Resources.java | 3 --- .../sis/cloud/aws/internal/package-info.java | 2 -- .../org/apache/sis/cloud/aws/s3/BucketStore.java | 2 -- .../apache/sis/cloud/aws/s3/CachedByteChannel.java | 2 -- .../apache/sis/cloud/aws/s3/ClientFileSystem.java | 2 -- .../org/apache/sis/cloud/aws/s3/DerivedList.java | 3 --- .../main/org/apache/sis/cloud/aws/s3/KeyPath.java | 2 -- .../apache/sis/cloud/aws/s3/KeyPathMatcher.java| 2 -- .../apache/sis/cloud/aws/s3/ObjectAttributes.java | 2 -- .../org/apache/sis/cloud/aws/s3/PathIterator.java | 2 -- .../sis/cloud/aws/s3/ClientFileSystemTest.java | 2 -- .../sis/cloud/aws/s3/KeyPathMatcherTest.java | 2 -- .../org/apache/sis/cloud/aws/s3/KeyPathTest.java | 2 -- .../main/org/apache/sis/console/AboutCommand.java | 2 -- .../main/org/apache/sis/console/CRSCommand.java| 2 -- .../main/org/apache/sis/console/CommandRunner.java | 2 -- .../apache/sis/console/FormattedOutputCommand.java | 2 -- .../main/org/apache/sis/console/HelpCommand.java | 2 -- .../org/apache/sis/console/IdentifierCommand.java | 2 -- .../org/apache/sis/console/MetadataCommand.java| 2 -- .../org/apache/sis/console/MimeTypeCommand.java| 3 --- .../main/org/apache/sis/console/Option.java| 2 -- .../main/org/apache/sis/console/OutputFormat.java | 3 --- .../org/apache/sis/console/TransformCommand.java | 2 -- .../org/apache/sis/console/AboutCommandTest.java | 2 -- .../org/apache/sis/console/CRSCommandTest.java | 2 -- .../org/apache/sis/console/CommandRunnerTest.java | 2 -- .../org/apache/sis/console/HelpCommandTest.java| 2 -- .../apache/sis/console/MetadataCommandTest.java| 2 -- .../apache/sis/console/MimeTypeCommandTest.java| 2 -- .../main/org/apache/sis/coverage/CategoryList.java | 2 -- .../org/apache/sis/coverage/ConvertedCategory.java | 2 -- .../org/apache/sis/coverage/ConvertedRange.java| 2 -- .../org/apache/sis/coverage/SampleRangeFormat.java | 2 -- .../main/org/apache/sis/coverage/To
[sis-site] 02/02: Set GeoAPI version number to 3.0.2.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis-site.git commit ee9ecef620f1ee4f539ebb687c0fac2554869140 Author: Martin Desruisseaux AuthorDate: Sat Sep 30 17:48:07 2023 +0200 Set GeoAPI version number to 3.0.2. --- content/_index.md| 2 +- content/source.md| 4 ++-- content/standards.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/_index.md b/content/_index.md index 83f08d8e..d6461524 100644 --- a/content/_index.md +++ b/content/_index.md @@ -4,7 +4,7 @@ title: The Apache SIS™ library Apache Spatial Information System (SIS) is a free software, Java language library for developing geospatial applications. SIS provides data structures for geographic features and associated metadata along with methods to manipulate those data structures. -The library is an implementation of [GeoAPI 3.0.1][geoapi] interfaces and can be used for desktop or server applications. +The library is an implementation of [GeoAPI 3.0.2][geoapi] interfaces and can be used for desktop or server applications. The SIS metadata module enables the creation of metadata objects which comply with the model of {{% OGC %}}/{{% ISO %}} international standards. diff --git a/content/source.md b/content/source.md index b34a486e..69b0ff66 100644 --- a/content/source.md +++ b/content/source.md @@ -163,7 +163,7 @@ gradle test --system-prop org.apache.sis.test.extensive=true The source code repository contains `main`, `geoapi-3.1` and `geoapi-4.0` branches. Apache {{% SIS %}} releases are created from `main`, which depends on the latest GeoAPI version -released by the Open Geospatial Consortium (OGC), currently [GeoAPI 3.0.1][geoapi-stable]. +released by the Open Geospatial Consortium (OGC), currently [GeoAPI 3.0.2][geoapi-stable]. However daily developments occur on the `geoapi-4.0` branch before to be merged (indirectly) to `main`. Those branches exist in order to experiment early new API and technologies — since they may impact the library design — while keeping the releases compatible with officially released API. @@ -171,7 +171,7 @@ In summary: * The `geoapi-4.0` branch implements interfaces defined in GeoAPI 4.0 snapshots. * The `geoapi-3.1` branch implements interfaces defined in [GeoAPI 3.1 snapshots][geoapi-snapshot]. -* The `main` implements interfaces defined by the [GeoAPI 3.0.1 stable release][geoapi-stable]. +* The `main` implements interfaces defined by the [GeoAPI 3.0.2 stable release][geoapi-stable]. Developments on `geoapi-4.0` branch are merged to `geoapi-3.1` branch, which is then merged to `main`. When commits reach `main` they become unmodifiable; the `git push --force` command is not allowed on that branch. diff --git a/content/standards.md b/content/standards.md index 5618b273..f7560001 100644 --- a/content/standards.md +++ b/content/standards.md @@ -122,7 +122,7 @@ Some standards are implemented partially, others almost fully. https://portal.ogc.org/files/?artifact_id=71648;>OGC 09-083 3.0.2 -GeoAPI 3.0.1 +GeoAPI 3.0.2 https://jcp.org/en/jsr/detail?id=363;>JSR 363
[sis-site] branch main updated (ca77ed5d -> ee9ecef6)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/sis-site.git from ca77ed5d Merge "release-management-setup.md" content into "release-management.md". new 4fef9a52 Remove duplicated section. new ee9ecef6 Set GeoAPI version number to 3.0.2. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: content/_index.md | 2 +- content/release-management.md | 34 ++ content/source.md | 4 ++-- content/standards.md | 2 +- 4 files changed, 10 insertions(+), 32 deletions(-)
[sis] branch geoapi-3.1 updated (a1f4b15161 -> 18a06d459c)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-3.1 in repository https://gitbox.apache.org/repos/asf/sis.git from a1f4b15161 Merge branch 'geoapi-4.0' into geoapi-3.1 add 9800c082a4 Remove `@since` and `@version` javadoc tags in non-public classes or methods. They were misleading when internal classes were moved, splitted or merged. Also they should tell when something was first available in public API, which is not necessarily when the class or method was first created. Finally, restricting them to public API is a way to remind SIS developers that a class being edited is part of public API. new 18a06d459c Merge branch 'geoapi-4.0' into geoapi-3.1 The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../org/apache/sis/buildtools/book/Assembler.java | 4 .../apache/sis/buildtools/book/BookException.java | 2 -- .../org/apache/sis/buildtools/book/Characters.java | 2 -- .../apache/sis/buildtools/book/CodeColorizer.java | 2 -- .../apache/sis/buildtools/book/package-info.java | 2 -- .../apache/sis/buildtools/coding/package-info.java | 2 -- .../org/apache/sis/buildtools/doclet/Doclet.java | 2 -- .../org/apache/sis/buildtools/doclet/Include.java | 2 -- .../org/apache/sis/buildtools/doclet/Rewriter.java | 2 -- .../org/apache/sis/buildtools/doclet/Taglet.java | 2 -- .../apache/sis/buildtools/doclet/package-info.java | 2 -- .../apache/sis/buildtools/gradle/Assembler.java| 2 -- .../apache/sis/buildtools/gradle/BuildHelper.java | 2 -- .../apache/sis/buildtools/gradle/Conventions.java | 2 -- .../apache/sis/buildtools/gradle/Dependency.java | 2 -- .../apache/sis/buildtools/gradle/JavaMaker.java| 2 -- .../sis/buildtools/gradle/ModularCompilation.java | 2 -- .../apache/sis/buildtools/gradle/ModularJAR.java | 2 -- .../sis/buildtools/gradle/ModularJavadoc.java | 2 -- .../sis/buildtools/gradle/ModularPublishing.java | 2 -- .../apache/sis/buildtools/gradle/ModularTest.java | 2 -- .../sis/buildtools/gradle/SISBuildException.java | 2 -- .../org/apache/sis/buildtools/gradle/UnoPkg.java | 2 -- .../apache/sis/buildtools/gradle/ZipWriter.java| 2 -- .../apache/sis/buildtools/gradle/package-info.java | 2 -- .../org/apache/sis/buildtools/maven/Element.java | 2 -- .../org/apache/sis/buildtools/maven/Generator.java | 2 -- .../apache/sis/buildtools/maven/package-info.java | 2 -- .../resources/IndexedResourceCompiler.java | 2 -- .../sis/buildtools/resources/package-info.java | 2 -- .../resources/IndexedResourceCompilerTest.java | 2 -- .../apache/sis/cloud/aws/internal/Resources.java | 3 --- .../sis/cloud/aws/internal/package-info.java | 2 -- .../org/apache/sis/cloud/aws/s3/BucketStore.java | 2 -- .../apache/sis/cloud/aws/s3/CachedByteChannel.java | 2 -- .../apache/sis/cloud/aws/s3/ClientFileSystem.java | 2 -- .../org/apache/sis/cloud/aws/s3/DerivedList.java | 3 --- .../main/org/apache/sis/cloud/aws/s3/KeyPath.java | 2 -- .../apache/sis/cloud/aws/s3/KeyPathMatcher.java| 2 -- .../apache/sis/cloud/aws/s3/ObjectAttributes.java | 2 -- .../org/apache/sis/cloud/aws/s3/PathIterator.java | 2 -- .../sis/cloud/aws/s3/ClientFileSystemTest.java | 2 -- .../sis/cloud/aws/s3/KeyPathMatcherTest.java | 2 -- .../org/apache/sis/cloud/aws/s3/KeyPathTest.java | 2 -- .../main/org/apache/sis/console/AboutCommand.java | 2 -- .../main/org/apache/sis/console/CRSCommand.java| 2 -- .../main/org/apache/sis/console/CommandRunner.java | 2 -- .../apache/sis/console/FormattedOutputCommand.java | 2 -- .../main/org/apache/sis/console/HelpCommand.java | 2 -- .../org/apache/sis/console/IdentifierCommand.java | 2 -- .../org/apache/sis/console/MetadataCommand.java| 2 -- .../org/apache/sis/console/MimeTypeCommand.java| 3 --- .../main/org/apache/sis/console/Option.java| 2 -- .../main/org/apache/sis/console/OutputFormat.java | 3 --- .../org/apache/sis/console/TransformCommand.java | 2 -- .../org/apache/sis/console/AboutCommandTest.java | 2 -- .../org/apache/sis/console/CRSCommandTest.java | 2 -- .../org/apache/sis/console/CommandRunnerTest.java | 2 -- .../org/apache/sis/console/HelpCommandTest.java| 2 -- .../apache/sis/console/MetadataCommandTest.java| 2 -- .../apache/sis/console/MimeTypeCommandTest.java| 2 -- .../main/org/apache/sis/coverage/CategoryList.java | 2 -- .../org/apache/sis/coverage/ConvertedCategory.java | 2 -- .../org/apache/sis/coverage/ConvertedRange.java| 2 -- .../org/apache/sis/coverage/SampleRangeFormat.java | 2 -- .../main/org/apache/sis/coverage/ToNaN.java| 2 -
[sis] 05/05: Update the NOTICE file.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit a95aaf3c9665d2aca015f3e5e8a53547acd69431 Author: Martin Desruisseaux AuthorDate: Sat Sep 30 18:04:40 2023 +0200 Update the NOTICE file. --- NOTICE | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/NOTICE b/NOTICE index aedd21ff11..ff3ba0a520 100644 --- a/NOTICE +++ b/NOTICE @@ -5,7 +5,7 @@ This product includes software developed at The Apache Software Foundation (https://www.apache.org/). The Javadoc contains documentation from the Open Geospatial Consortium (OGC®) -specifications (https://www.ogc.org/standards/), also known as OpenGIS. +specifications (https://www.ogc.org/standards/), also known as OpenGIS®. Apache SIS depends on GeoAPI published by OGC under Apache 2.0 license. https://www.ogc.org/about-ogc/policies/software-licenses/ @@ -13,7 +13,7 @@ https://www.ogc.org/about-ogc/policies/software-licenses/ Apache SIS depends on JSR-385 (API only) published under BSD license. https://jcp.org/en/jsr/detail?id=385 -Apache SIS depends on JAXB (API only) published under Eclipse Distribution License license. +Apache SIS depends on JAXB (API only) published under Eclipse Distribution License 1.0. http://www.eclipse.org/org/documents/edl-v10.php The `org.apache.sis.referencing.operation.matrix` package contains code @@ -21,8 +21,10 @@ adapted from JAMA Java Matrix Package in public domain. http://math.nist.gov/javanumerics/jama/ The `org.apache.sis.feature` module can optionally use the Esri Geometry API -developed by ESRI under Apache license 2. +developed by ESRI under Apache license 2, or the Java Topology Suite (JTS) +library under Eclipse Distribution License 1.0. https://github.com/Esri/geometry-api-java/ +https://github.com/locationtech/jts The `org.apache.sis.storage.netcdf` module can optionally use the UCAR netCDF library developed by Unidata under MIT-style license. @@ -30,7 +32,7 @@ https://www.unidata.ucar.edu/software/netcdf-java/ The `org.apache.sis.cloud.aws` module depends on the Amazon SDK library developed by Amazon under Apache 2 license. -https://aws.amazon.com/sdk-for-java/ +https://github.com/aws/aws-sdk-java-v2 The test suite uses software developed by the JUnit community under Eclipse public license version 2.
[sis] branch geoapi-4.0 updated (66ca33f853 -> a95aaf3c96)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git from 66ca33f853 Move some tests closer to the place where they are used. new 9800c082a4 Remove `@since` and `@version` javadoc tags in non-public classes or methods. They were misleading when internal classes were moved, splitted or merged. Also they should tell when something was first available in public API, which is not necessarily when the class or method was first created. Finally, restricting them to public API is a way to remind SIS developers that a class being edited is part of public API. new 41a79147f4 Add the tools used in previous commit for cleaning `@since` and `@version` javadoc tags. new 32d7c5d57a When the "gr3df97a.txt" datum shift grid file is not found, the exception should be `MissingFactoryResourceException` instead of `FactoryDataException`. new f81541ca43 Replace some Maven artifact names by JPMS names in documentation. new a95aaf3c96 Update the NOTICE file. The 5 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: NOTICE | 10 +- .../org/apache/sis/buildtools/book/Assembler.java | 4 - .../apache/sis/buildtools/book/BookException.java | 2 - .../org/apache/sis/buildtools/book/Characters.java | 2 - .../apache/sis/buildtools/book/CodeColorizer.java | 2 - .../apache/sis/buildtools/book/package-info.java | 2 - .../buildtools/coding/VerifyVersionInJavadoc.java | 293 + .../apache/sis/buildtools/coding/package-info.java | 2 - .../org/apache/sis/buildtools/doclet/Doclet.java | 2 - .../org/apache/sis/buildtools/doclet/Include.java | 2 - .../org/apache/sis/buildtools/doclet/Rewriter.java | 2 - .../org/apache/sis/buildtools/doclet/Taglet.java | 2 - .../apache/sis/buildtools/doclet/package-info.java | 2 - .../apache/sis/buildtools/gradle/Assembler.java| 2 - .../apache/sis/buildtools/gradle/BuildHelper.java | 2 - .../apache/sis/buildtools/gradle/Conventions.java | 2 - .../apache/sis/buildtools/gradle/Dependency.java | 2 - .../apache/sis/buildtools/gradle/JavaMaker.java| 2 - .../sis/buildtools/gradle/ModularCompilation.java | 2 - .../apache/sis/buildtools/gradle/ModularJAR.java | 2 - .../sis/buildtools/gradle/ModularJavadoc.java | 2 - .../sis/buildtools/gradle/ModularPublishing.java | 2 - .../apache/sis/buildtools/gradle/ModularTest.java | 2 - .../sis/buildtools/gradle/SISBuildException.java | 2 - .../org/apache/sis/buildtools/gradle/UnoPkg.java | 2 - .../apache/sis/buildtools/gradle/ZipWriter.java| 2 - .../apache/sis/buildtools/gradle/package-info.java | 2 - .../org/apache/sis/buildtools/maven/Element.java | 2 - .../org/apache/sis/buildtools/maven/Generator.java | 2 - .../apache/sis/buildtools/maven/package-info.java | 2 - .../resources/IndexedResourceCompiler.java | 2 - .../sis/buildtools/resources/package-info.java | 2 - .../resources/IndexedResourceCompilerTest.java | 2 - .../apache/sis/cloud/aws/internal/Resources.java | 3 - .../sis/cloud/aws/internal/package-info.java | 2 - .../org/apache/sis/cloud/aws/s3/BucketStore.java | 2 - .../apache/sis/cloud/aws/s3/CachedByteChannel.java | 2 - .../apache/sis/cloud/aws/s3/ClientFileSystem.java | 2 - .../org/apache/sis/cloud/aws/s3/DerivedList.java | 3 - .../main/org/apache/sis/cloud/aws/s3/KeyPath.java | 2 - .../apache/sis/cloud/aws/s3/KeyPathMatcher.java| 2 - .../apache/sis/cloud/aws/s3/ObjectAttributes.java | 2 - .../org/apache/sis/cloud/aws/s3/PathIterator.java | 2 - .../sis/cloud/aws/s3/ClientFileSystemTest.java | 2 - .../sis/cloud/aws/s3/KeyPathMatcherTest.java | 2 - .../org/apache/sis/cloud/aws/s3/KeyPathTest.java | 2 - .../main/org/apache/sis/console/AboutCommand.java | 2 - .../main/org/apache/sis/console/CRSCommand.java| 2 - .../main/org/apache/sis/console/CommandRunner.java | 2 - .../apache/sis/console/FormattedOutputCommand.java | 2 - .../main/org/apache/sis/console/HelpCommand.java | 2 - .../org/apache/sis/console/IdentifierCommand.java | 2 - .../org/apache/sis/console/MetadataCommand.java| 2 - .../org/apache/sis/console/MimeTypeCommand.java| 3 - .../main/org/apache/sis/console/Option.java| 2 - .../main/org/apache/sis/console/OutputFormat.java | 3 - .../org/apache/sis/console/TransformCommand.java | 2 - .../org/apache/sis/console/AboutCommandTest.java | 2 - .../org/apache/sis/console/CRSCommandTest.java | 2 - .../org/apache/sis/console/CommandRun
[sis] 04/05: Replace some Maven artifact names by JPMS names in documentation.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit f81541ca43ada86b415763a9cbee17bab05fe6ad Author: Martin Desruisseaux AuthorDate: Sat Sep 30 17:44:20 2023 +0200 Replace some Maven artifact names by JPMS names in documentation. --- .../main/org/apache/sis/metadata/sql/MetadataSource.java| 2 +- .../main/org/apache/sis/metadata/sql/util/Initializer.java | 6 +++--- .../main/org/apache/sis/metadata/sql/util/LocalDataSource.java | 2 +- .../main/org/apache/sis/referencing/factory/sql/EPSGFactory.java| 4 ++-- .../main/org/apache/sis/referencing/factory/sql/EPSG_README.md | 2 +- .../main/org/apache/sis/referencing/factory/sql/package-info.java | 2 +- .../test/org/apache/sis/referencing/factory/sql/epsg/README.md | 2 +- .../main/org/apache/sis/setup/Configuration.java| 2 +- .../main/org/apache/sis/setup/InstallationResources.java| 4 ++-- 9 files changed, 13 insertions(+), 13 deletions(-) diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/MetadataSource.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/MetadataSource.java index 645a806202..a5eaf97428 100644 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/MetadataSource.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/MetadataSource.java @@ -446,7 +446,7 @@ public class MetadataSource implements AutoCloseable { * The schema name must be {@code "metadata"}, as this is the name used unquoted in SQL scripts. * * - * Maintenance note: this method is invoked by reflection in {@code non-free:sis-embedded-data} module. + * Maintenance note: this method is invoked by reflection in the {@code org.apache.sis.referencing.database} module. * If we make this method public in a future Apache SIS version, then we can remove the reflection code. * * @throws SQLException if an error occurred while inserting the metadata. diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/Initializer.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/Initializer.java index de9dcd185e..6270026111 100644 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/Initializer.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/Initializer.java @@ -71,7 +71,7 @@ public abstract class Initializer { * the {@code derby.system.home} property. * * Dependency note - * This field is public for the needs of {@code non-free:sis-embedded-data} module. + * This field is public for the needs of {@code org.apache.sis.referencing.database} module. */ public static final String DATABASE = "SpatialMetadata"; @@ -249,7 +249,7 @@ public abstract class Initializer { * use the data source for {@code "jdbc:derby:$SIS_DATA/Databases/SpatialMetadata"}. * That database will be created if it does not exist. Note that this is the only case where * Apache SIS may create the database since it is located in the directory managed by Apache SIS. - * Otherwise if the {@code non-free:sis-embedded-data} module is present on the module path, + * Otherwise if the {@code org.apache.sis.referencing.database} module is present on the module path, * use the embedded database. * Otherwise if the {@code "derby.system.home"} property is defined, * use the data source for {@code "jdbc:derby:SpatialMetadata"}. @@ -368,7 +368,7 @@ public abstract class Initializer { } /** - * If the {@code non-free:sis-embedded-data} module is present on the module path, + * If the {@code org.apache.sis.referencing.database} module is present on the module path, * returns the data source for embedded Derby database. Otherwise returns {@code null}. * * @see https://issues.apache.org/jira/browse/SIS-337;>SIS-337 diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/LocalDataSource.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/LocalDataSource.java index c03a285934..31923006a7 100644 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/LocalDataSource.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/LocalDataSource.java @@ -304,7 +304,7 @@ public final class LocalDataSource implements DataSource, ComparableDependency note - * This method is public for the needs of {@code non-free:sis-embedded-data} module. + * This method is public for the needs of {@code org.apache.sis.referencing.datab
[sis] 02/05: Add the tools used in previous commit for cleaning `@since` and `@version` javadoc tags.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 41a79147f46e6aabc7b0329592e14af247d71eb2 Author: Martin Desruisseaux AuthorDate: Sat Sep 30 14:36:50 2023 +0200 Add the tools used in previous commit for cleaning `@since` and `@version` javadoc tags. --- .../buildtools/coding/VerifyVersionInJavadoc.java | 293 + 1 file changed, 293 insertions(+) diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/coding/VerifyVersionInJavadoc.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/coding/VerifyVersionInJavadoc.java new file mode 100644 index 00..90ccbb2ccf --- /dev/null +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/coding/VerifyVersionInJavadoc.java @@ -0,0 +1,293 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.sis.buildtools.coding; + +import java.io.File; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.HashSet; +import java.util.List; +import java.util.Objects; +import java.util.Set; + + +/** + * Verifies the usage of {@code @since} and {@code @version} Javadoc tags in source code. + * If one of those tags is missing in a public exported class, an error is reported. + * If those tags are present in a package-private or non-exported class, they are removed. + * + * How to use + * Run the following command from the project root directory, where "." is the current directory + * (can be replaced by a path if desired): + * + * {@snippet lang="shell" : + * java --class-path buildSrc/build/classes/java/main org.apache.sis.buildtools.coding.VerifyVersionInJavadoc . + * } + * + * Rational + * This tool has been created because in all Apache SIS versions from 0.3 to 1.3, the {@code @since} and + * {@code @version} Javadoc tags were put on all classes, public or not. It was a little bit misleading + * because non-public classes can be moved, splitted, merged, etc., making the meaning of "since" + * confusing. The rule is that {@code @since} should tell when a class was first available in public API, + * which is not necessarily when it was first created. Finally, with the use of JPMS exporting only some + * chosen packages, the presence/absence of those tags is a useful way to remind whether or not a class + * in process of being modified is part of public API. + * + * Limitations + * This class does only a gross analysis. It may sometime be wrong. + * Developers should check with {@code git diff} before to commit. + * + * @author Martin Desruisseaux (Geomatys) + */ +public final class VerifyVersionInJavadoc { +/** + * Verifies the Javadoc tags in the Java source classes. + * + * @param args the root directory of all branches. + * @throws IOException if an error occurred while reading or writing a file. + */ +public static void main(String[] args) throws IOException { +if (args.length != 1) { +System.err.println("Expected: root directory of project to filter."); +return; +} +final File root = new File(args[0]); +var p = new VerifyVersionInJavadoc(); +p.listExports(root); +p.scan(root); +} + +/** + * Name of {@value} source files. + */ +private static final String MODULE_INFO = "module-info.java"; + +/** + * Java keyword to search for. + */ +private static final String EXPORTS = "exports ", PACKAGE = "package ", +CLASS = "class ", INTERFACE = "interface ", ENUM = "enum ", +PUBLIC = "public ", PROTECTED = "protected ", PRIVATE = "private "; + +/** + * All packages that are exported to everyone. + */ +private final Set exportedPackages; + +/** + * Whether the file currently being processed is a public or protected class, interface or enu
[sis] 03/05: When the "gr3df97a.txt" datum shift grid file is not found, the exception should be `MissingFactoryResourceException` instead of `FactoryDataException`.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 32d7c5d57acb9d0c973a938cba7266d2c1bb6d80 Author: Martin Desruisseaux AuthorDate: Sat Sep 30 16:02:22 2023 +0200 When the "gr3df97a.txt" datum shift grid file is not found, the exception should be `MissingFactoryResourceException` instead of `FactoryDataException`. --- .../org/apache/sis/referencing/factory/FactoryDataException.java | 5 - .../sis/referencing/factory/MissingFactoryResourceException.java | 1 + .../sis/referencing/operation/provider/DatumShiftGridLoader.java | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/FactoryDataException.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/FactoryDataException.java index d79afb6e17..f5038ff681 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/FactoryDataException.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/FactoryDataException.java @@ -27,7 +27,10 @@ import org.opengis.util.FactoryException; * * @author Martin Desruisseaux (Geomatys) * @version 1.2 - * @since 0.7 + * + * @see MissingFactoryResourceException + * + * @since 0.7 */ public class FactoryDataException extends FactoryException { /** diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/MissingFactoryResourceException.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/MissingFactoryResourceException.java index 470d50d21c..86b4dd1ea0 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/MissingFactoryResourceException.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/MissingFactoryResourceException.java @@ -35,6 +35,7 @@ import org.opengis.util.FactoryException; * @author Martin Desruisseaux (Geomatys) * @version 0.7 * + * @see FactoryDataException * @see ConcurrentAuthorityFactory#newDataAccess() * * @since 0.7 diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/DatumShiftGridLoader.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/DatumShiftGridLoader.java index 6b6d2580d7..bc03ecc036 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/DatumShiftGridLoader.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/DatumShiftGridLoader.java @@ -21,6 +21,7 @@ import java.util.logging.LogRecord; import java.util.concurrent.atomic.AtomicBoolean; import java.io.EOFException; import java.io.IOException; +import java.io.FileNotFoundException; import java.nio.ByteBuffer; import java.net.URI; import java.nio.file.Path; @@ -235,7 +236,7 @@ abstract class DatumShiftGridLoader { Logging.completeAndLog(AbstractProvider.LOGGER, DatumShiftGridLoader.class, "readGrid", record); } } -final boolean notFound = (cause instanceof NoSuchFileException); +final boolean notFound = (cause instanceof NoSuchFileException) || (cause instanceof FileNotFoundException); final String message = Resources.format(notFound ? Resources.Keys.FileNotFound_2 : Resources.Keys.FileNotReadable_2, format, file); if (notFound) {
[sis-site] branch main updated: Merge "release-management-setup.md" content into "release-management.md".
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis-site.git The following commit(s) were added to refs/heads/main by this push: new ca77ed5d Merge "release-management-setup.md" content into "release-management.md". ca77ed5d is described below commit ca77ed5d695337cb29277d23ef0d8c1cd8098b08 Author: Martin Desruisseaux AuthorDate: Sat Sep 30 17:04:47 2023 +0200 Merge "release-management-setup.md" content into "release-management.md". --- content/release-management-setup.md | 205 content/release-management.md | 158 ++- 2 files changed, 153 insertions(+), 210 deletions(-) diff --git a/content/release-management-setup.md b/content/release-management-setup.md deleted file mode 100644 index 468ce091.. --- a/content/release-management-setup.md +++ /dev/null @@ -1,205 +0,0 @@ -title: Release management setup - -The following instructions need to be done only once by new release managers, -or when configuring a new machine for performing the releases. -If those steps have already been done, jump directly to the [Release Management](release-management.html) page. - -{{< toc >}} - -# Directory layout{#directory-layout} - -The steps described in the _release management_ page assume the following directory layout. -Some directories are Git checkout, other are ordinary directories. Any other layout can be used. -However in the latter case, all relative paths in the _release management_ page will need to be adjusted accordingly. - -{{< highlight text >}} - -├─ master -├─ non-free -│ ├─ sis-epsg -│ └─ sis-embedded-data -├─ releases -│ ├─ distribution -│ └─ integration-test -│ └─ maven -└─ site - ├─ main - ├─ asf-staging - ├─ asf-site - └─ javadoc -{{< / highlight >}} - -Create the above directory structure as below: - -{{< highlight bash >}} -mkdir site -mkdir releases -git clone https://gitbox.apache.org/repos/asf/sis.git master -git clone https://gitbox.apache.org/repos/asf/sis-site.git site/main -svn checkout https://svn.apache.org/repos/asf/sis/data/non-free -svn checkout https://svn.apache.org/repos/asf/sis/release-test releases/integration-test -svn checkout https://dist.apache.org/repos/dist/dev/sis releases/distribution -cd site/main -git worktree add ../asf-staging asf-staging -git worktree add ../asf-site asf-site -{{< / highlight >}} - -# Generate GPG key{#generate-key} - -The releases have to be signed by public key cryptography signatures. -Detailed instructions about why releases have to be signed are provided on the [Release Signing][signing] page. -The standard used is OpenPGP (_Open Pretty Good Privacy_), and a popular software implementation of that standard is GPG (_GNU Privacy Guard_). -The [OpenPGP instructions][PGP] list out detailed steps on managing your keys. -The following steps provide a summary: - -Edit the `~/.gnupg/gpg.conf` configuration file and add the following configuration options, -or edit the existing values if any: - -{{< highlight text >}} -personal-digest-preferences SHA512 -cert-digest-algo SHA512 -default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed -{{< / highlight >}} - -If a private key already exists for emails or other purposes, it may be a good idea to keep that key as the default one. -Add or modify the following line in the `gpg.conf` file, replacing `` by the existing key identifier -(a value like `621CC013`): - -{{< highlight text >}} -default-key -{{< / highlight >}} - -Generate 4096 bits RSA key pair using the following command-line. GPG will prompts for various informations. -The list below the command suggests some values, keeping in mind that the new key should be used only for -signing Apache software packages - not for daily emails. - -{{< highlight bash >}} -gpg --gen-key -{{< / highlight >}} - -* Kind of key: RSA and RSA (default). Do not create DSA key. -* Key size: 4096 bits. -* Validity time: 0 (key does not expire). -* Real name: the developer's name. -* Email address: developer's email address at `@apache.org`. -* Comment: "CODE SIGNING KEY". -* Passphrase: please choose a strong one. - -Verify the key information (replace _Real Name_ by the above-cited developer's name, keeping quotes in the command below). -Note the key identifier, which is a value like `74383E9D`. This key identifier will be needed for the next steps. - -{{< highlight bash >}} -gpg --list-sigs "Real Name" -{{< / highlight >}} - -Sends the public key to a keys server (replace `` by the above-cited key identifier). -The default GPG configuration sends the key to `hkp://keys.gnupg.net`. -Note that while there is many key servers, most of them syn
[sis-site] 01/02: Update the version, Java requirement and the "How to" examples.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis-site.git commit c17a53b931cbdee09a3886ea18afd88c70a2ef68 Author: Martin Desruisseaux AuthorDate: Thu Sep 28 11:41:25 2023 +0200 Update the version, Java requirement and the "How to" examples. --- content/_index.md | 4 ++-- content/coding-conventions.md | 18 +++--- content/howto/datalake_to_datacube.md | 2 +- content/howto/read_geotiff.md | 3 +-- content/howto/read_netcdf.md | 3 +-- content/howto/write_raster.md | 34 -- content/release-management.md | 4 ++-- layouts/shortcodes/version.html | 2 +- 8 files changed, 35 insertions(+), 35 deletions(-) diff --git a/content/_index.md b/content/_index.md index c4a7ec3c..83f08d8e 100644 --- a/content/_index.md +++ b/content/_index.md @@ -59,9 +59,9 @@ The API and the data encodings follow [international standards](standards.html) ## Using Apache SIS{#user} -The latest SIS release is {{% version %}}, released December 2022, +The latest SIS release is {{% version %}}, released in October 2023, and can be [downloaded](downloads.html) as a `zip` files or as Maven dependencies. -This is the latest version that can be run on Java 8 (next version will require Java 11). +This version requires Java 11 or later. The EPSG geodetic dataset is optional for licensing reasons, but recommended. EPSG database installation is [described in a separated page](epsg.html). diff --git a/content/coding-conventions.md b/content/coding-conventions.md index f363fd16..8c762889 100644 --- a/content/coding-conventions.md +++ b/content/coding-conventions.md @@ -1,5 +1,5 @@ --- -title: Source code +title: Coding conventions --- This page describes some coding conventions applied in Apache {{% SIS %}} development. @@ -33,16 +33,12 @@ The `Envelope2D` class is another implementation of the same interface specializ ## Internal packages{#internal} -All classes in `org.apache.sis.internal` sub-packages are for SIS usage only and may change without warning in any future release. -Those classes are excluded from Javadoc and will not be exported by SIS Jigsaw modules. -Those packages may be renamed after SIS upgraded to JDK 9+. - -## Substitution for non-existent classes{#substitutions} - -When using a JDK 9+ class that does not exist on JDK 8, define a class of the same name in a -`org.apache.sis.internal` sub-package with the minimal amount of needed functionalities, -provided that it can be done with reasonable effort. -Otherwise just delete the JDK9-dependent code from the development branch. +The public API is made of all public classes in all exported packages, +i.e. packages declared in non-qualified `exports` statements in the `module-info.java` file. +All other classes are for SIS usage only and may change without warning in any future release. +Those classes are excluded from Javadoc and normally not accessible to users. +Contrarily to previous SIS versions, there is no longer any particular convention for internal package names. +They may or may not have `internal` in their name. # Code formatting{#formatting} diff --git a/content/howto/datalake_to_datacube.md b/content/howto/datalake_to_datacube.md index 7a0b489a..51e31e05 100644 --- a/content/howto/datalake_to_datacube.md +++ b/content/howto/datalake_to_datacube.md @@ -84,7 +84,7 @@ public class DataLakeToDataCube { System.out.printf("Extent of second set of slices:%n%s%n", r2.getGridGeometry().getExtent()); System.out.printf("Extent of third set of slices:%n%s%n", r3.getGridGeometry().getExtent()); -var aggregator = new CoverageAggregator(null); +var aggregator = new CoverageAggregator(); aggregator.add(r1); aggregator.add(r2); aggregator.add(r3); diff --git a/content/howto/read_geotiff.md b/content/howto/read_geotiff.md index 6bfe43aa..84fd24cb 100644 --- a/content/howto/read_geotiff.md +++ b/content/howto/read_geotiff.md @@ -40,7 +40,6 @@ import org.apache.sis.storage.DataStoreException; import org.apache.sis.storage.GridCoverageResource; import org.apache.sis.coverage.grid.GridCoverage; import org.apache.sis.coverage.grid.GridGeometry; -import org.apache.sis.coverage.grid.GridOrientation; import org.apache.sis.geometry.GeneralEnvelope; import org.apache.sis.referencing.CommonCRS; @@ -86,7 +85,7 @@ public class ReadGeoTIFF { var areaOfInterest = new GeneralEnvelope(CommonCRS.WGS84.universal(49, 2.5)); areaOfInterest.setRange(0, 46600, 467000); // Minimal and maximal easting values (metres) areaOfInterest.setRange(1, 5427000, 5428000); // Minimal and maximal northing values (metres). -data = fi
[sis-site] 02/02: Document new policy about `@since` and `@version` javadoc tags.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis-site.git commit be146d283cb3a4dbb101fe84676f6d92ee827bfd Author: Martin Desruisseaux AuthorDate: Sat Sep 30 15:14:23 2023 +0200 Document new policy about `@since` and `@version` javadoc tags. --- content/coding-conventions.md | 31 --- content/release-management.md | 2 -- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/content/coding-conventions.md b/content/coding-conventions.md index 8c762889..1f66614f 100644 --- a/content/coding-conventions.md +++ b/content/coding-conventions.md @@ -63,10 +63,14 @@ import java.io.File; import java.util.List; import org.opengis.metadata.Metadata; -// Branch-specific imports +// Specific to the geoapi-3.1 and geoapi-4.0 branches: import org.opengis.feature.Feature; {{< / highlight >}} +The import statements can be rearranged automatically by the `ReorganizeImports` class in `buildSrc`. +This tool requires checkouts of all three branches (`main`, `geoapi-3.1` and `geoapi-4.0`) in order +to identify which imports are branch-specific. + ## Spaces and line length{#spaces} * **Indentation:** Use a consistent space indents and never use tabs. @@ -92,8 +96,7 @@ import org.opengis.feature.Feature; This is known as the "customary order" in the [Java Language Specification][JLS-order]: + `public`, `protected` or `private`, + `abstract` or `static`, - + `final`, - + `strictfp` (should be applied on all test classes). + + `final`. * Member fields do not have any particular prefix (no `m_` prefix). ## Exceptions to coding conventions{#tabular-formatting} @@ -123,7 +126,7 @@ structure of `` elements. SIS uses standard javadoc annotations. The meaning of some tags are refined as below: -* `@since` - the SIS version when the annotated element (class, method, etc.) was first introduced. +* `@since` - the SIS version when the annotated element (class, method, etc.) was first introduced in public API. * `@version` - the last SIS version when the code of the annotated class got a significant change. * `@author` - developer name in FirstName LastName (Organization) format. A separated `@author` tag is added for each developer. @@ -134,17 +137,24 @@ In addition, the `sis-build-helper` modules provides the following custom javado Javadoc tag| Description -- | --- `{@include}` | Include the content of a given HTML file below a `` section having the given title. -`{@preformat}` | An inline taglet for pre-formatted text. The first word inside the taglet shall be one of `java`, `xml`, `sql`, `wkt`, `text`, `math` or `shell`. + +### Where to use @since and @version tags{#since-tag} + +The `@since` and `@version` Javadoc tags should be used only on classes, interfaces, enumerations, methods or fields +that are part of public API. They should not be put on package-private classes or classes in non-exported packages. +The reason is that non-public classes can be moved, splitted or merged without warning, +which gives confusing meaning to the `@since` tag. +Furthermore, restricting the use of those tags to public API is also a way to remind developers +that the class that they are editing is part of public API, so backward-compatibility concerns apply. ## HTML elements{#html} HTML tags and entities shall be used only when there is no equivalent Javadoc tag. For example: -* Instead of "`✎`", use "`{@code ✎}`". +* Instead of "`Foo`", use "`{@code Foo}`". * Instead of "`a b c`", use "`{@literal a < b < c}`". -* Instead of "`✎`" for a Java listing, use "`{@preformat java ✎}`" - (this Javadoc tag is specific to Apache {{% SIS %}} — see above table). +* Instead of "`Foo`" for a Java listing, use "`{@snippet lang=java : Foo}`". ### Paragraphs{#paragraph} @@ -152,7 +162,7 @@ Usages of the `` tag should be relatively rare, since we use CSS styles (see as much as possible for controlling the margin between elements like lists and tables. Do **not** use `` for the first paragraph in a package, class or member documentation, or for the first paragraph after a ``, ``, ``, ``, ``, -or `{@preformat}` element. +or `{@snippet}` element. The `` tag shall be used only for separating a new paragraph from a previous one. In such cases, `` shall have a matching `` tag at the paragraph end in order to form valid HTML. @@ -178,8 +188,7 @@ HTML tag | Description The source code occasionally uses MathML for formulas that are difficult to render with only Unicode characters. PNG images are not extensively used for formulas because they are difficu
[sis-site] branch main updated (78041c67 -> be146d28)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/sis-site.git from 78041c67 Replace "master" by "main" branch and "Maven" by "Gradle" build tools, except in release manager guides which will need much more work. This commit contains also minor typo fixes. new c17a53b9 Update the version, Java requirement and the "How to" examples. new be146d28 Document new policy about `@since` and `@version` javadoc tags. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: content/_index.md | 4 +-- content/coding-conventions.md | 49 +++ content/howto/datalake_to_datacube.md | 2 +- content/howto/read_geotiff.md | 3 +-- content/howto/read_netcdf.md | 3 +-- content/howto/write_raster.md | 34 ++-- content/release-management.md | 6 ++--- layouts/shortcodes/version.html | 2 +- 8 files changed, 55 insertions(+), 48 deletions(-)
[sis] 01/01: Merge branch 'geoapi-3.1'
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis.git commit 9a6f339273ceaf48ae1c6431e7c1eaa4b9219fd2 Merge: 01f8dc22a9 a1f4b15161 Author: Martin Desruisseaux AuthorDate: Fri Sep 29 17:29:50 2023 +0200 Merge branch 'geoapi-3.1' .../sis/buildtools/coding/ReorganizeImports.java | 105 - .../apache/sis/buildtools/gradle/Assembler.java| 2 +- .../apache/sis/buildtools/gradle/Conventions.java | 17 ++- .../apache/sis/buildtools/gradle/JavaMaker.java| 3 +- .../sis/buildtools/gradle/ModularCompilation.java | 26 +--- .../apache/sis/buildtools/gradle/ModularJAR.java | 4 +- .../org/apache/sis/buildtools/gradle/UnoPkg.java | 4 +- endorsed/build.gradle.kts | 8 +- .../main/org/apache/sis/feature/README.md | 77 ++ .../main/org/apache/sis/feature/benchmarks.html| 114 -- .../test}/FeatureComparator.java | 2 +- .../feature => feature/test}/package-info.java | 2 +- .../main/org/apache/sis/xml/README.md | 78 ++ .../sis/xml/bind/gco/ObjectIdentification.html | 59 .../sis/xml/bind/gco/ObjectIdentification.md | 31 .../main/org/apache/sis/xml/readme.html| 98 .../test/org/apache/sis/metadata/Assertions.java | 2 +- .../sis/metadata/PropertyConsistencyCheck.java | 2 +- .../sis/metadata/internal/AxisDirectionsTest.md| 3 + .../sis/metadata/internal/AxisDirectionsTest.txt | 3 - .../sis/metadata/iso/CustomMetadataTest.java | 2 +- .../sis/metadata/iso/DefaultIdentifierTest.java| 2 +- .../sis/metadata/iso/DefaultMetadataTest.java | 2 +- .../metadata/iso/citation/DefaultContactTest.java | 2 +- .../iso/citation/DefaultResponsibilityTest.java| 2 +- .../constraint/DefaultLegalConstraintsTest.java| 2 +- .../sis/metadata/iso/content/DefaultBandTest.java | 2 +- .../identification/DefaultBrowseGraphicTest.java | 2 +- .../DefaultRepresentativeFractionTest.java | 2 +- .../iso/identification/DefaultResolutionTest.java | 2 +- .../metadata/iso/lineage/DefaultLineageTest.java | 2 +- .../sis/metadata/iso/quality/ScopeCodeTest.java| 2 +- .../sis/metadata/sql/IdentifierGeneratorTest.java | 2 +- .../sis/metadata/sql/MetadataFallbackVerifier.java | 1 - .../sis/metadata/sql/MetadataSourceTest.java | 1 - .../sis/metadata/sql/MetadataWriterTest.java | 1 - .../sis/{test => metadata}/sql/TestDatabase.java | 2 +- .../sis/metadata/sql/util/ScriptRunnerTest.java| 2 +- .../org/apache/sis/metadata/xml/TestUsingFile.java | 2 +- .../org/apache/sis/test/mock/package-info.java | 2 +- .../test/org/apache/sis/test/sql/package-info.java | 29 .../apache/sis/util/iso/NameMarshallingTest.java | 2 +- .../sis/xml/CharSequenceSubstitutionTest.java | 2 +- .../apache/sis/xml/NilReasonMarshallingTest.java | 2 +- .../org/apache/sis/xml/ReferenceResolverMock.java | 2 +- .../org/apache/sis/xml/UUIDMarshallingTest.java| 2 +- .../org/apache/sis/xml/XLinkMarshallingTest.java | 2 +- .../sis/xml/bind/cat/CodeListMarshallingTest.java | 2 +- .../sis/xml/bind/cat/EnumMarshallingTest.java | 2 +- .../apache/sis/xml/bind/gco/PropertyTypeTest.java | 2 +- .../apache/sis/xml/bind/gml/TimePeriodTest.java| 2 +- .../sis/xml/bind/lan/FreeTextMarshallingTest.java | 2 +- .../apache/sis/xml/bind/lan/LanguageCodeTest.java | 2 +- .../metadata/replace/QualityParameterTest.java | 2 +- .../metadata/replace/ServiceParameterTest.java | 2 +- .../test}/AnnotationConsistencyCheck.java | 2 +- .../{test/xml => xml/test}/DocumentComparator.java | 2 +- .../sis/{test/xml => xml/test}/InfiniteSet.java| 2 +- .../sis/{test/xml => xml/test}/TestCase.java | 2 +- .../sis/{test/xml => xml/test}/package-info.java | 7 +- .../sis/xml/util/DocumentComparatorTest.java | 2 +- .../org/apache/sis/xml/util/XmlUtilitiesTest.java | 2 +- .../src/org.apache.sis.openoffice/bundle/README.md | 100 .../bundle/build-instruction.html | 119 --- .../sis/xml/bind/fra/DataIdentificationTest.java | 2 +- .../xml/bind/fra/DirectReferenceSystemTest.java| 2 +- .../apache/sis/parameter/AbstractParameterValue.md | 5 + .../sis/parameter/AbstractParameterValue.txt | 5 - .../sis/referencing/factory/sql/EPSG_README.md | 7 + .../sis/referencing/factory/sql/EPSG_README.txt| 7 - .../sis/referencing/operation/builder/README.md| 33 .../sis/referencing/operation/builder/readme.html | 50 -- ...c3DtoVertical.txt => Geographic3DtoVertical.md} | 6 +- .../transform/SpecializableTransform1D.md | 3 + .../transform/Special
[sis] branch main updated (01f8dc22a9 -> 9a6f339273)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/sis.git from 01f8dc22a9 Merge branch 'geoapi-3.1'. add 9e623647ab Tune the rule for ordering import statements. Those changes were used in the previous commit. add 1305b01fc8 Avoid using a method which has been deprecated in Gradle 8.3. add 2f6a07007c Convert text files and HTML files to Markdown format when those files were not used for tests. The intend is to have a less formats for documentation (Javadoc, Markdown, MathML), so all `*.txt` files can be considered as used in tests. add f07143ab6b fix(FeatureQuery): fix a case where query projection returned the wrong property name add 882b254663 Modification of the fix about the property name of a link. The check for instance of `ValueReference` should be merged with the existing check done 20 lines below. add 66ca33f853 Move some tests closer to the place where they are used. add a1f4b15161 Merge branch 'geoapi-4.0' into geoapi-3.1 new 9a6f339273 Merge branch 'geoapi-3.1' The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../sis/buildtools/coding/ReorganizeImports.java | 105 - .../apache/sis/buildtools/gradle/Assembler.java| 2 +- .../apache/sis/buildtools/gradle/Conventions.java | 17 ++- .../apache/sis/buildtools/gradle/JavaMaker.java| 3 +- .../sis/buildtools/gradle/ModularCompilation.java | 26 +--- .../apache/sis/buildtools/gradle/ModularJAR.java | 4 +- .../org/apache/sis/buildtools/gradle/UnoPkg.java | 4 +- endorsed/build.gradle.kts | 8 +- .../main/org/apache/sis/feature/README.md | 77 ++ .../main/org/apache/sis/feature/benchmarks.html| 114 -- .../test}/FeatureComparator.java | 2 +- .../feature => feature/test}/package-info.java | 2 +- .../main/org/apache/sis/xml/README.md | 78 ++ .../sis/xml/bind/gco/ObjectIdentification.html | 59 .../sis/xml/bind/gco/ObjectIdentification.md | 31 .../main/org/apache/sis/xml/readme.html| 98 .../test/org/apache/sis/metadata/Assertions.java | 2 +- .../sis/metadata/PropertyConsistencyCheck.java | 2 +- .../sis/metadata/internal/AxisDirectionsTest.md| 3 + .../sis/metadata/internal/AxisDirectionsTest.txt | 3 - .../sis/metadata/iso/CustomMetadataTest.java | 2 +- .../sis/metadata/iso/DefaultIdentifierTest.java| 2 +- .../sis/metadata/iso/DefaultMetadataTest.java | 2 +- .../metadata/iso/citation/DefaultContactTest.java | 2 +- .../iso/citation/DefaultResponsibilityTest.java| 2 +- .../constraint/DefaultLegalConstraintsTest.java| 2 +- .../sis/metadata/iso/content/DefaultBandTest.java | 2 +- .../identification/DefaultBrowseGraphicTest.java | 2 +- .../DefaultRepresentativeFractionTest.java | 2 +- .../iso/identification/DefaultResolutionTest.java | 2 +- .../metadata/iso/lineage/DefaultLineageTest.java | 2 +- .../sis/metadata/iso/quality/ScopeCodeTest.java| 2 +- .../sis/metadata/sql/IdentifierGeneratorTest.java | 2 +- .../sis/metadata/sql/MetadataFallbackVerifier.java | 1 - .../sis/metadata/sql/MetadataSourceTest.java | 1 - .../sis/metadata/sql/MetadataWriterTest.java | 1 - .../sis/{test => metadata}/sql/TestDatabase.java | 2 +- .../sis/metadata/sql/util/ScriptRunnerTest.java| 2 +- .../org/apache/sis/metadata/xml/TestUsingFile.java | 2 +- .../org/apache/sis/test/mock/package-info.java | 2 +- .../test/org/apache/sis/test/sql/package-info.java | 29 .../apache/sis/util/iso/NameMarshallingTest.java | 2 +- .../sis/xml/CharSequenceSubstitutionTest.java | 2 +- .../apache/sis/xml/NilReasonMarshallingTest.java | 2 +- .../org/apache/sis/xml/ReferenceResolverMock.java | 2 +- .../org/apache/sis/xml/UUIDMarshallingTest.java| 2 +- .../org/apache/sis/xml/XLinkMarshallingTest.java | 2 +- .../sis/xml/bind/cat/CodeListMarshallingTest.java | 2 +- .../sis/xml/bind/cat/EnumMarshallingTest.java | 2 +- .../apache/sis/xml/bind/gco/PropertyTypeTest.java | 2 +- .../apache/sis/xml/bind/gml/TimePeriodTest.java| 2 +- .../sis/xml/bind/lan/FreeTextMarshallingTest.java | 2 +- .../apache/sis/xml/bind/lan/LanguageCodeTest.java | 2 +- .../metadata/replace/QualityParameterTest.java | 2 +- .../metadata/replace/ServiceParameterTest.java | 2 +- .../test}/AnnotationConsistencyCheck.java | 2 +- .../{test/xml => xml/test}/DocumentComparator.java | 2 +- .../sis/{test/xml
[sis] branch geoapi-3.1 updated (80a27652f1 -> a1f4b15161)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-3.1 in repository https://gitbox.apache.org/repos/asf/sis.git from 80a27652f1 Merge branch 'geoapi-4.0' into geoapi-3.1 (imports reordering). add 9e623647ab Tune the rule for ordering import statements. Those changes were used in the previous commit. add 1305b01fc8 Avoid using a method which has been deprecated in Gradle 8.3. add 2f6a07007c Convert text files and HTML files to Markdown format when those files were not used for tests. The intend is to have a less formats for documentation (Javadoc, Markdown, MathML), so all `*.txt` files can be considered as used in tests. add f07143ab6b fix(FeatureQuery): fix a case where query projection returned the wrong property name add 882b254663 Modification of the fix about the property name of a link. The check for instance of `ValueReference` should be merged with the existing check done 20 lines below. add 66ca33f853 Move some tests closer to the place where they are used. new a1f4b15161 Merge branch 'geoapi-4.0' into geoapi-3.1 The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../sis/buildtools/coding/ReorganizeImports.java | 105 - .../apache/sis/buildtools/gradle/Assembler.java| 2 +- .../apache/sis/buildtools/gradle/Conventions.java | 17 ++- .../apache/sis/buildtools/gradle/JavaMaker.java| 3 +- .../sis/buildtools/gradle/ModularCompilation.java | 26 +--- .../apache/sis/buildtools/gradle/ModularJAR.java | 4 +- .../org/apache/sis/buildtools/gradle/UnoPkg.java | 4 +- endorsed/build.gradle.kts | 8 +- .../main/org/apache/sis/feature/README.md | 77 ++ .../main/org/apache/sis/feature/benchmarks.html| 114 -- .../test}/FeatureComparator.java | 2 +- .../feature => feature/test}/package-info.java | 2 +- .../main/org/apache/sis/xml/README.md | 78 ++ .../sis/xml/bind/gco/ObjectIdentification.html | 59 .../sis/xml/bind/gco/ObjectIdentification.md | 31 .../main/org/apache/sis/xml/readme.html| 98 .../test/org/apache/sis/metadata/Assertions.java | 2 +- .../sis/metadata/PropertyConsistencyCheck.java | 2 +- .../sis/metadata/internal/AxisDirectionsTest.md| 3 + .../sis/metadata/internal/AxisDirectionsTest.txt | 3 - .../sis/metadata/iso/CustomMetadataTest.java | 2 +- .../sis/metadata/iso/DefaultIdentifierTest.java| 2 +- .../sis/metadata/iso/DefaultMetadataTest.java | 2 +- .../metadata/iso/citation/DefaultContactTest.java | 2 +- .../iso/citation/DefaultResponsibilityTest.java| 2 +- .../constraint/DefaultLegalConstraintsTest.java| 2 +- .../sis/metadata/iso/content/DefaultBandTest.java | 2 +- .../identification/DefaultBrowseGraphicTest.java | 2 +- .../DefaultRepresentativeFractionTest.java | 2 +- .../iso/identification/DefaultResolutionTest.java | 2 +- .../metadata/iso/lineage/DefaultLineageTest.java | 2 +- .../sis/metadata/iso/quality/ScopeCodeTest.java| 2 +- .../sis/metadata/sql/IdentifierGeneratorTest.java | 2 +- .../sis/metadata/sql/MetadataFallbackVerifier.java | 1 - .../sis/metadata/sql/MetadataSourceTest.java | 1 - .../sis/metadata/sql/MetadataWriterTest.java | 1 - .../sis/{test => metadata}/sql/TestDatabase.java | 2 +- .../sis/metadata/sql/util/ScriptRunnerTest.java| 2 +- .../sis/metadata/xml/SchemaComplianceTest.java | 2 +- .../org/apache/sis/metadata/xml/TestUsingFile.java | 2 +- .../org/apache/sis/test/mock/package-info.java | 2 +- .../test/org/apache/sis/test/sql/package-info.java | 29 .../apache/sis/util/iso/NameMarshallingTest.java | 2 +- .../sis/xml/CharSequenceSubstitutionTest.java | 2 +- .../apache/sis/xml/NilReasonMarshallingTest.java | 2 +- .../org/apache/sis/xml/ReferenceResolverMock.java | 2 +- .../org/apache/sis/xml/UUIDMarshallingTest.java| 2 +- .../org/apache/sis/xml/XLinkMarshallingTest.java | 2 +- .../sis/xml/bind/cat/CodeListMarshallingTest.java | 2 +- .../sis/xml/bind/cat/EnumMarshallingTest.java | 2 +- .../apache/sis/xml/bind/gco/PropertyTypeTest.java | 2 +- .../apache/sis/xml/bind/gml/TimePeriodTest.java| 2 +- .../sis/xml/bind/lan/FreeTextMarshallingTest.java | 2 +- .../apache/sis/xml/bind/lan/LanguageCodeTest.java | 2 +- .../metadata/replace/QualityParameterTest.java | 2 +- .../metadata/replace/ServiceParameterTest.java | 2 +- .../test}/AnnotationConsistencyCheck.java | 2 +- .../{test/xml => xml/test}/
[sis] 01/01: Merge branch 'geoapi-4.0' into geoapi-3.1
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-3.1 in repository https://gitbox.apache.org/repos/asf/sis.git commit a1f4b15161f53dcde29d134f04a3175b0502e679 Merge: 80a27652f1 66ca33f853 Author: Martin Desruisseaux AuthorDate: Fri Sep 29 17:20:44 2023 +0200 Merge branch 'geoapi-4.0' into geoapi-3.1 .../sis/buildtools/coding/ReorganizeImports.java | 105 - .../apache/sis/buildtools/gradle/Assembler.java| 2 +- .../apache/sis/buildtools/gradle/Conventions.java | 17 ++- .../apache/sis/buildtools/gradle/JavaMaker.java| 3 +- .../sis/buildtools/gradle/ModularCompilation.java | 26 +--- .../apache/sis/buildtools/gradle/ModularJAR.java | 4 +- .../org/apache/sis/buildtools/gradle/UnoPkg.java | 4 +- endorsed/build.gradle.kts | 8 +- .../main/org/apache/sis/feature/README.md | 77 ++ .../main/org/apache/sis/feature/benchmarks.html| 114 -- .../test}/FeatureComparator.java | 2 +- .../feature => feature/test}/package-info.java | 2 +- .../main/org/apache/sis/xml/README.md | 78 ++ .../sis/xml/bind/gco/ObjectIdentification.html | 59 .../sis/xml/bind/gco/ObjectIdentification.md | 31 .../main/org/apache/sis/xml/readme.html| 98 .../test/org/apache/sis/metadata/Assertions.java | 2 +- .../sis/metadata/PropertyConsistencyCheck.java | 2 +- .../sis/metadata/internal/AxisDirectionsTest.md| 3 + .../sis/metadata/internal/AxisDirectionsTest.txt | 3 - .../sis/metadata/iso/CustomMetadataTest.java | 2 +- .../sis/metadata/iso/DefaultIdentifierTest.java| 2 +- .../sis/metadata/iso/DefaultMetadataTest.java | 2 +- .../metadata/iso/citation/DefaultContactTest.java | 2 +- .../iso/citation/DefaultResponsibilityTest.java| 2 +- .../constraint/DefaultLegalConstraintsTest.java| 2 +- .../sis/metadata/iso/content/DefaultBandTest.java | 2 +- .../identification/DefaultBrowseGraphicTest.java | 2 +- .../DefaultRepresentativeFractionTest.java | 2 +- .../iso/identification/DefaultResolutionTest.java | 2 +- .../metadata/iso/lineage/DefaultLineageTest.java | 2 +- .../sis/metadata/iso/quality/ScopeCodeTest.java| 2 +- .../sis/metadata/sql/IdentifierGeneratorTest.java | 2 +- .../sis/metadata/sql/MetadataFallbackVerifier.java | 1 - .../sis/metadata/sql/MetadataSourceTest.java | 1 - .../sis/metadata/sql/MetadataWriterTest.java | 1 - .../sis/{test => metadata}/sql/TestDatabase.java | 2 +- .../sis/metadata/sql/util/ScriptRunnerTest.java| 2 +- .../sis/metadata/xml/SchemaComplianceTest.java | 2 +- .../org/apache/sis/metadata/xml/TestUsingFile.java | 2 +- .../org/apache/sis/test/mock/package-info.java | 2 +- .../test/org/apache/sis/test/sql/package-info.java | 29 .../apache/sis/util/iso/NameMarshallingTest.java | 2 +- .../sis/xml/CharSequenceSubstitutionTest.java | 2 +- .../apache/sis/xml/NilReasonMarshallingTest.java | 2 +- .../org/apache/sis/xml/ReferenceResolverMock.java | 2 +- .../org/apache/sis/xml/UUIDMarshallingTest.java| 2 +- .../org/apache/sis/xml/XLinkMarshallingTest.java | 2 +- .../sis/xml/bind/cat/CodeListMarshallingTest.java | 2 +- .../sis/xml/bind/cat/EnumMarshallingTest.java | 2 +- .../apache/sis/xml/bind/gco/PropertyTypeTest.java | 2 +- .../apache/sis/xml/bind/gml/TimePeriodTest.java| 2 +- .../sis/xml/bind/lan/FreeTextMarshallingTest.java | 2 +- .../apache/sis/xml/bind/lan/LanguageCodeTest.java | 2 +- .../metadata/replace/QualityParameterTest.java | 2 +- .../metadata/replace/ServiceParameterTest.java | 2 +- .../test}/AnnotationConsistencyCheck.java | 2 +- .../{test/xml => xml/test}/DocumentComparator.java | 2 +- .../sis/{test/xml => xml/test}/InfiniteSet.java| 2 +- .../{test/xml => xml/test}/PackageVerifier.java| 2 +- .../{test/xml => xml/test}/SchemaCompliance.java | 2 +- .../sis/{test/xml => xml/test}/TestCase.java | 2 +- .../sis/{test/xml => xml/test}/package-info.java | 8 +- .../sis/xml/util/DocumentComparatorTest.java | 2 +- .../org/apache/sis/xml/util/XmlUtilitiesTest.java | 2 +- .../src/org.apache.sis.openoffice/bundle/README.md | 100 .../bundle/build-instruction.html | 119 --- .../sis/xml/bind/fra/DataIdentificationTest.java | 2 +- .../xml/bind/fra/DirectReferenceSystemTest.java| 2 +- .../apache/sis/parameter/AbstractParameterValue.md | 5 + .../sis/parameter/AbstractParameterValue.txt | 5 - .../sis/referencing/factory/sql/EPSG_README.md | 7 + .../sis/referencing/factory/sql/EPSG_README.txt| 7 - .../sis/referencing/operation/builder/README.md| 33 .../s
[sis] 01/02: Modification of the fix about the property name of a link. The check for instance of `ValueReference` should be merged with the existing check done 20 lines below.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 882b2546639adb474a17795b70d9cea4bdf0f517 Author: Martin Desruisseaux AuthorDate: Fri Sep 29 15:55:31 2023 +0200 Modification of the fix about the property name of a link. The check for instance of `ValueReference` should be merged with the existing check done 20 lines below. --- .../main/org/apache/sis/storage/FeatureQuery.java | 42 --- .../org/apache/sis/storage/FeatureQueryTest.java | 60 +++--- 2 files changed, 61 insertions(+), 41 deletions(-) diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java index d0d8f9c218..172b87705a 100644 --- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java +++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/FeatureQuery.java @@ -738,7 +738,7 @@ public class FeatureQuery extends Query implements Cloneable, Serializable { final NamedExpression item = projection[column]; /* * For each property, get the expected type (mandatory) and its name (optional). - * A default name will be computed if no alias were explicitly given by user. + * A default name will be computed if no alias was explicitly given by the user. */ final Expression expression = item.expression; final FeatureExpression fex = FeatureExpression.castOrCopy(expression); @@ -748,14 +748,6 @@ public class FeatureQuery extends Query implements Cloneable, Serializable { expression.getFunctionName().toInternationalString(), column)); } GenericName name = item.alias; -if (name == null && expression instanceof ValueReference) { -/* - * If we do not have an alias, use the original property name. - * This name may be different from the resultType name because of links or functions. - */ -name = valueType.getProperty(((ValueReference) expression).getXPath()).getName(); -} - if (name == null) { /* * Build a list of aliases declared by the user, for making sure that we do not collide with them. @@ -777,14 +769,20 @@ public class FeatureQuery extends Query implements Cloneable, Serializable { */ CharSequence text = null; if (expression instanceof ValueReference) { -final GenericName current = resultType.getName(); -if (current != null && names.add(current.toString())) { -continue; -} String xpath = ((ValueReference) expression).getXPath().trim(); -xpath = xpath.substring(xpath.lastIndexOf(XPath.SEPARATOR) + 1); // Works also if '/' is not found. -if (!(xpath.isEmpty() || names.contains(xpath))) { -text = xpath; +/* + * Before to take the tip, take the existing `GenericName` instance from the property. + * It should be equivalent, except that it may be a `ScopedName` instead of `LocalName`. + * We do not take `resultType.getName()` because the latter is different if the property + * is itself a link to another property (in which case `resultType` is the final target). + */ +name = valueType.getProperty(xpath).getName(); +if (name == null || !names.add(name.toString())) { +name = null; +xpath = xpath.substring(xpath.lastIndexOf(XPath.SEPARATOR) + 1); // Works also if '/' is not found. +if (!(xpath.isEmpty() || names.contains(xpath))) { +text = xpath; +} } } /* @@ -793,15 +791,15 @@ public class FeatureQuery extends Query implements Cloneable, Serializable { * (for easier programmatic use) because `GenericName` implementation is designed for * providing localized names only if explicitly requested. */ -if (text == null) do { -text = Vocabulary.formatInternational(Vocabulary.Keys.Unnamed_1, ++unnamedNumber); -} while (!names.add(text.toString())); -name = Names.createLocalName(null, null, text); +if (name == null) { +if (text == null) do { +
[sis] 02/02: Move some tests closer to the place where they are used.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 66ca33f85325d8a97faba0bdfd10ba33fe5a053a Author: Martin Desruisseaux AuthorDate: Fri Sep 29 15:57:14 2023 +0200 Move some tests closer to the place where they are used. --- endorsed/build.gradle.kts | 8 ++ .../test}/FeatureComparator.java | 2 +- .../feature => feature/test}/package-info.java | 2 +- .../test/org/apache/sis/metadata/Assertions.java | 2 +- .../sis/metadata/PropertyConsistencyCheck.java | 2 +- .../sis/metadata/iso/CustomMetadataTest.java | 2 +- .../sis/metadata/iso/DefaultIdentifierTest.java| 2 +- .../sis/metadata/iso/DefaultMetadataTest.java | 2 +- .../metadata/iso/citation/DefaultContactTest.java | 2 +- .../iso/citation/DefaultResponsibilityTest.java| 2 +- .../constraint/DefaultLegalConstraintsTest.java| 2 +- .../sis/metadata/iso/content/DefaultBandTest.java | 2 +- .../identification/DefaultBrowseGraphicTest.java | 2 +- .../DefaultRepresentativeFractionTest.java | 2 +- .../iso/identification/DefaultResolutionTest.java | 2 +- .../metadata/iso/lineage/DefaultLineageTest.java | 2 +- .../sis/metadata/iso/quality/ScopeCodeTest.java| 2 +- .../sis/metadata/sql/IdentifierGeneratorTest.java | 2 +- .../sis/metadata/sql/MetadataFallbackVerifier.java | 1 - .../sis/metadata/sql/MetadataSourceTest.java | 1 - .../sis/metadata/sql/MetadataWriterTest.java | 1 - .../sis/{test => metadata}/sql/TestDatabase.java | 2 +- .../sis/metadata/sql/util/ScriptRunnerTest.java| 2 +- .../sis/metadata/xml/SchemaComplianceTest.java | 2 +- .../org/apache/sis/metadata/xml/TestUsingFile.java | 2 +- .../org/apache/sis/test/mock/package-info.java | 2 +- .../test/org/apache/sis/test/sql/package-info.java | 29 -- .../apache/sis/util/iso/NameMarshallingTest.java | 2 +- .../sis/xml/CharSequenceSubstitutionTest.java | 2 +- .../apache/sis/xml/NilReasonMarshallingTest.java | 2 +- .../org/apache/sis/xml/ReferenceResolverMock.java | 2 +- .../org/apache/sis/xml/UUIDMarshallingTest.java| 2 +- .../org/apache/sis/xml/XLinkMarshallingTest.java | 2 +- .../sis/xml/bind/cat/CodeListMarshallingTest.java | 2 +- .../sis/xml/bind/cat/EnumMarshallingTest.java | 2 +- .../apache/sis/xml/bind/gco/PropertyTypeTest.java | 2 +- .../apache/sis/xml/bind/gml/TimePeriodTest.java| 2 +- .../sis/xml/bind/lan/FreeTextMarshallingTest.java | 2 +- .../apache/sis/xml/bind/lan/LanguageCodeTest.java | 2 +- .../metadata/replace/QualityParameterTest.java | 2 +- .../metadata/replace/ServiceParameterTest.java | 2 +- .../test}/AnnotationConsistencyCheck.java | 2 +- .../{test/xml => xml/test}/DocumentComparator.java | 2 +- .../sis/{test/xml => xml/test}/InfiniteSet.java| 2 +- .../{test/xml => xml/test}/PackageVerifier.java| 2 +- .../{test/xml => xml/test}/SchemaCompliance.java | 2 +- .../sis/{test/xml => xml/test}/TestCase.java | 2 +- .../sis/{test/xml => xml/test}/package-info.java | 8 +++--- .../sis/xml/util/DocumentComparatorTest.java | 2 +- .../org/apache/sis/xml/util/XmlUtilitiesTest.java | 2 +- .../sis/xml/bind/fra/DataIdentificationTest.java | 2 +- .../xml/bind/fra/DirectReferenceSystemTest.java| 2 +- .../sis/parameter/ParameterMarshallingTest.java| 2 +- .../sis/referencing/ImmutableIdentifierTest.java | 2 +- .../referencing/crs/DefaultCompoundCRSTest.java| 2 +- .../sis/referencing/crs/DefaultDerivedCRSTest.java | 2 +- .../referencing/crs/DefaultEngineeringCRSTest.java | 2 +- .../referencing/crs/DefaultGeodeticCRSTest.java| 2 +- .../sis/referencing/crs/DefaultImageCRSTest.java | 2 +- .../referencing/crs/DefaultProjectedCRSTest.java | 2 +- .../sis/referencing/cs/DefaultCartesianCSTest.java | 2 +- .../referencing/cs/DefaultEllipsoidalCSTest.java | 2 +- .../referencing/datum/DefaultEllipsoidTest.java| 2 +- .../datum/DefaultGeodeticDatumTest.java| 2 +- .../datum/DefaultPrimeMeridianTest.java| 2 +- .../datum/DefaultTemporalDatumTest.java| 2 +- .../datum/DefaultVerticalDatumTest.java| 2 +- .../sis/referencing/factory/TestFactorySource.java | 4 +-- .../referencing/factory/sql/EPSGInstallerTest.java | 2 +- .../factory/sql/epsg/DataScriptFormatter.java | 2 +- .../DefaultConcatenatedOperationTest.java | 2 +- .../operation/DefaultPassThroughOperationTest.java | 2 +- .../operation/SingleOperationMarshallingTest.java | 2 +- .../apache/sis/test/integration/MetadataTest.java | 4 +-- .../sis/test/integration/MetadataVerticalTest.java | 2 +- .../CC_GeneralOperationParameterTest.java | 2 +- .../CC_Operatio
[sis] branch geoapi-4.0 updated (f07143ab6b -> 66ca33f853)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git from f07143ab6b fix(FeatureQuery): fix a case where query projection returned the wrong property name new 882b254663 Modification of the fix about the property name of a link. The check for instance of `ValueReference` should be merged with the existing check done 20 lines below. new 66ca33f853 Move some tests closer to the place where they are used. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: endorsed/build.gradle.kts | 8 +-- .../test}/FeatureComparator.java | 2 +- .../feature => feature/test}/package-info.java | 2 +- .../test/org/apache/sis/metadata/Assertions.java | 2 +- .../sis/metadata/PropertyConsistencyCheck.java | 2 +- .../sis/metadata/iso/CustomMetadataTest.java | 2 +- .../sis/metadata/iso/DefaultIdentifierTest.java| 2 +- .../sis/metadata/iso/DefaultMetadataTest.java | 2 +- .../metadata/iso/citation/DefaultContactTest.java | 2 +- .../iso/citation/DefaultResponsibilityTest.java| 2 +- .../constraint/DefaultLegalConstraintsTest.java| 2 +- .../sis/metadata/iso/content/DefaultBandTest.java | 2 +- .../identification/DefaultBrowseGraphicTest.java | 2 +- .../DefaultRepresentativeFractionTest.java | 2 +- .../iso/identification/DefaultResolutionTest.java | 2 +- .../metadata/iso/lineage/DefaultLineageTest.java | 2 +- .../sis/metadata/iso/quality/ScopeCodeTest.java| 2 +- .../sis/metadata/sql/IdentifierGeneratorTest.java | 2 +- .../sis/metadata/sql/MetadataFallbackVerifier.java | 1 - .../sis/metadata/sql/MetadataSourceTest.java | 1 - .../sis/metadata/sql/MetadataWriterTest.java | 1 - .../sis/{test => metadata}/sql/TestDatabase.java | 2 +- .../sis/metadata/sql/util/ScriptRunnerTest.java| 2 +- .../sis/metadata/xml/SchemaComplianceTest.java | 2 +- .../org/apache/sis/metadata/xml/TestUsingFile.java | 2 +- .../org/apache/sis/test/mock/package-info.java | 2 +- .../test/org/apache/sis/test/sql/package-info.java | 29 --- .../apache/sis/util/iso/NameMarshallingTest.java | 2 +- .../sis/xml/CharSequenceSubstitutionTest.java | 2 +- .../apache/sis/xml/NilReasonMarshallingTest.java | 2 +- .../org/apache/sis/xml/ReferenceResolverMock.java | 2 +- .../org/apache/sis/xml/UUIDMarshallingTest.java| 2 +- .../org/apache/sis/xml/XLinkMarshallingTest.java | 2 +- .../sis/xml/bind/cat/CodeListMarshallingTest.java | 2 +- .../sis/xml/bind/cat/EnumMarshallingTest.java | 2 +- .../apache/sis/xml/bind/gco/PropertyTypeTest.java | 2 +- .../apache/sis/xml/bind/gml/TimePeriodTest.java| 2 +- .../sis/xml/bind/lan/FreeTextMarshallingTest.java | 2 +- .../apache/sis/xml/bind/lan/LanguageCodeTest.java | 2 +- .../metadata/replace/QualityParameterTest.java | 2 +- .../metadata/replace/ServiceParameterTest.java | 2 +- .../test}/AnnotationConsistencyCheck.java | 2 +- .../{test/xml => xml/test}/DocumentComparator.java | 2 +- .../sis/{test/xml => xml/test}/InfiniteSet.java| 2 +- .../{test/xml => xml/test}/PackageVerifier.java| 2 +- .../{test/xml => xml/test}/SchemaCompliance.java | 2 +- .../sis/{test/xml => xml/test}/TestCase.java | 2 +- .../sis/{test/xml => xml/test}/package-info.java | 8 +-- .../sis/xml/util/DocumentComparatorTest.java | 2 +- .../org/apache/sis/xml/util/XmlUtilitiesTest.java | 2 +- .../sis/xml/bind/fra/DataIdentificationTest.java | 2 +- .../xml/bind/fra/DirectReferenceSystemTest.java| 2 +- .../sis/parameter/ParameterMarshallingTest.java| 2 +- .../sis/referencing/ImmutableIdentifierTest.java | 2 +- .../referencing/crs/DefaultCompoundCRSTest.java| 2 +- .../sis/referencing/crs/DefaultDerivedCRSTest.java | 2 +- .../referencing/crs/DefaultEngineeringCRSTest.java | 2 +- .../referencing/crs/DefaultGeodeticCRSTest.java| 2 +- .../sis/referencing/crs/DefaultImageCRSTest.java | 2 +- .../referencing/crs/DefaultProjectedCRSTest.java | 2 +- .../sis/referencing/cs/DefaultCartesianCSTest.java | 2 +- .../referencing/cs/DefaultEllipsoidalCSTest.java | 2 +- .../referencing/datum/DefaultEllipsoidTest.java| 2 +- .../datum/DefaultGeodeticDatumTest.java| 2 +- .../datum/DefaultPrimeMeridianTest.java| 2 +- .../datum/DefaultTemporalDatumTest.java| 2 +- .../datum/DefaultVerticalDatumTest.java| 2 +- .../sis/referencing/factory/TestFactorySource.java | 4 +- .../referencing/factory/sql/EPSGInstallerTest.java | 2 +- .
[sis] branch main updated (6affdaa155 -> 01f8dc22a9)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/sis.git from 6affdaa155 Merge branch 'geoapi-3.1'. add 0158ef9590 Another round of automatic import organization. This is done by the `ReorganizeImports` class in `buildSrc`. The result is not perfect and may need future refinements. add 80a27652f1 Merge branch 'geoapi-4.0' into geoapi-3.1 (imports reordering). new 01f8dc22a9 Merge branch 'geoapi-3.1'. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../org/apache/sis/buildtools/doclet/Doclet.java | 2 +- .../org/apache/sis/buildtools/doclet/Include.java | 4 +-- .../apache/sis/buildtools/gradle/ModularJAR.java | 4 +-- .../sis/buildtools/gradle/ModularJavadoc.java | 4 +-- .../resources/IndexedResourceCompilerTest.java | 2 ++ .../apache/sis/cloud/aws/s3/CachedByteChannel.java | 2 +- .../apache/sis/cloud/aws/s3/ClientFileSystem.java | 4 +-- .../org/apache/sis/cloud/aws/s3/FileService.java | 10 +++--- .../main/org/apache/sis/cloud/aws/s3/KeyPath.java | 6 ++-- .../apache/sis/cloud/aws/s3/ObjectAttributes.java | 6 ++-- .../sis/cloud/aws/s3/ClientFileSystemTest.java | 1 + .../sis/cloud/aws/s3/KeyPathMatcherTest.java | 1 + .../org/apache/sis/cloud/aws/s3/KeyPathTest.java | 4 ++- .../org/apache/sis/console/TransformCommand.java | 3 +- .../org/apache/sis/console/AboutCommandTest.java | 4 ++- .../org/apache/sis/console/CRSCommandTest.java | 4 ++- .../org/apache/sis/console/CommandRunnerTest.java | 4 ++- .../org/apache/sis/console/HelpCommandTest.java| 4 ++- .../apache/sis/console/MetadataCommandTest.java| 4 ++- .../apache/sis/console/MimeTypeCommandTest.java| 4 ++- .../apache/sis/coverage/grid/PixelTranslation.java | 5 ++- .../sis/feature/FeatureOperationException.java | 2 +- .../org/apache/sis/filter/AssociationValue.java| 2 +- .../main/org/apache/sis/filter/PropertyValue.java | 2 +- .../geometry/wrapper/SpatialOperationContext.java | 8 ++--- .../apache/sis/geometry/wrapper/jts/Factory.java | 16 - .../sis/geometry/wrapper/jts/FilteringContext.java | 4 +-- .../org/apache/sis/geometry/wrapper/jts/JTS.java | 6 ++-- .../wrapper/jts/PackedCoordinateSequence.java | 2 +- .../geometry/wrapper/jts/PathIteratorAdapter.java | 4 +-- .../sis/geometry/wrapper/jts/ShapeAdapter.java | 6 ++-- .../sis/geometry/wrapper/jts/ShapeConverter.java | 2 +- .../apache/sis/geometry/wrapper/jts/Wrapper.java | 38 +++--- .../main/org/apache/sis/image/ImageProcessor.java | 6 ++-- .../main/org/apache/sis/image/TransferType.java| 4 +-- .../sis/image/processing/isoline/Joiner.java | 2 +- .../org/apache/sis/pending/geoapi/filter/Name.java | 4 +-- .../org/apache/sis/coverage/CategoryListTest.java | 4 ++- .../test/org/apache/sis/coverage/CategoryTest.java | 4 ++- .../apache/sis/coverage/CoverageCombinerTest.java | 4 ++- .../apache/sis/coverage/SampleDimensionTest.java | 4 ++- .../apache/sis/coverage/SampleRangeFormatTest.java | 4 ++- .../grid/BandAggregateGridCoverageTest.java| 4 ++- .../coverage/grid/BufferedGridCoverageTest.java| 2 ++ .../coverage/grid/ConvertedGridCoverageTest.java | 6 ++-- .../coverage/grid/DimensionalityReductionTest.java | 4 ++- .../grid/FractionalGridCoordinatesTest.java| 3 +- .../sis/coverage/grid/GridCoverage2DTest.java | 4 ++- .../sis/coverage/grid/GridCoverageBuilderTest.java | 4 ++- .../sis/coverage/grid/GridDerivationTest.java | 4 ++- .../apache/sis/coverage/grid/GridExtentTest.java | 4 ++- .../apache/sis/coverage/grid/GridGeometryTest.java | 4 ++- .../sis/coverage/grid/GridOrientationTest.java | 4 ++- .../sis/coverage/grid/PixelTranslationTest.java| 4 ++- .../coverage/grid/ResampledGridCoverageTest.java | 6 ++-- .../sis/coverage/grid/ReshapedImageTest.java | 4 ++- .../coverage/grid/TranslatedGridCoverageTest.java | 4 ++- .../coverage/grid/j2d/ColorModelBuilderTest.java | 4 ++- .../sis/coverage/grid/j2d/ImageLayoutTest.java | 4 ++- .../sis/coverage/grid/j2d/ImageUtilitiesTest.java | 6 ++-- .../coverage/grid/j2d/SampleModelFactoryTest.java | 4 ++- .../coverage/grid/j2d/ScaledColorSpaceTest.java| 6 ++-- .../sis/coverage/internal/RangeArgumentTest.java | 4 ++- .../apache/sis/feature/AbstractFeatureTest.java| 2 ++ .../apache/sis/feature/AbstractOperationTest.java | 4 ++- .../apache/sis/feature/CharacteristicMapTest.java | 4 ++- .../sis/feature/CharacteristicTypeMapTest.java | 9 ++--- .../sis/feature/DefaultAssociationRoleTest.java| 6 +
[sis] 01/01: Merge branch 'geoapi-3.1'.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis.git commit 01f8dc22a908357a77f4999572bacd75f1bb3a9e Merge: 6affdaa155 80a27652f1 Author: Martin Desruisseaux AuthorDate: Thu Sep 28 18:21:13 2023 +0200 Merge branch 'geoapi-3.1'. .../org/apache/sis/buildtools/doclet/Doclet.java | 2 +- .../org/apache/sis/buildtools/doclet/Include.java | 4 +-- .../apache/sis/buildtools/gradle/ModularJAR.java | 4 +-- .../sis/buildtools/gradle/ModularJavadoc.java | 4 +-- .../resources/IndexedResourceCompilerTest.java | 2 ++ .../apache/sis/cloud/aws/s3/CachedByteChannel.java | 2 +- .../apache/sis/cloud/aws/s3/ClientFileSystem.java | 4 +-- .../org/apache/sis/cloud/aws/s3/FileService.java | 10 +++--- .../main/org/apache/sis/cloud/aws/s3/KeyPath.java | 6 ++-- .../apache/sis/cloud/aws/s3/ObjectAttributes.java | 6 ++-- .../sis/cloud/aws/s3/ClientFileSystemTest.java | 1 + .../sis/cloud/aws/s3/KeyPathMatcherTest.java | 1 + .../org/apache/sis/cloud/aws/s3/KeyPathTest.java | 4 ++- .../org/apache/sis/console/TransformCommand.java | 3 +- .../org/apache/sis/console/AboutCommandTest.java | 4 ++- .../org/apache/sis/console/CRSCommandTest.java | 4 ++- .../org/apache/sis/console/CommandRunnerTest.java | 4 ++- .../org/apache/sis/console/HelpCommandTest.java| 4 ++- .../apache/sis/console/MetadataCommandTest.java| 4 ++- .../apache/sis/console/MimeTypeCommandTest.java| 4 ++- .../apache/sis/coverage/grid/PixelTranslation.java | 5 ++- .../sis/feature/FeatureOperationException.java | 2 +- .../org/apache/sis/filter/AssociationValue.java| 2 +- .../main/org/apache/sis/filter/PropertyValue.java | 2 +- .../geometry/wrapper/SpatialOperationContext.java | 8 ++--- .../apache/sis/geometry/wrapper/jts/Factory.java | 16 - .../sis/geometry/wrapper/jts/FilteringContext.java | 4 +-- .../org/apache/sis/geometry/wrapper/jts/JTS.java | 6 ++-- .../wrapper/jts/PackedCoordinateSequence.java | 2 +- .../geometry/wrapper/jts/PathIteratorAdapter.java | 4 +-- .../sis/geometry/wrapper/jts/ShapeAdapter.java | 6 ++-- .../sis/geometry/wrapper/jts/ShapeConverter.java | 2 +- .../apache/sis/geometry/wrapper/jts/Wrapper.java | 38 +++--- .../main/org/apache/sis/image/ImageProcessor.java | 6 ++-- .../main/org/apache/sis/image/TransferType.java| 4 +-- .../sis/image/processing/isoline/Joiner.java | 2 +- .../org/apache/sis/pending/geoapi/filter/Name.java | 4 +-- .../org/apache/sis/coverage/CategoryListTest.java | 4 ++- .../test/org/apache/sis/coverage/CategoryTest.java | 4 ++- .../apache/sis/coverage/CoverageCombinerTest.java | 4 ++- .../apache/sis/coverage/SampleDimensionTest.java | 4 ++- .../apache/sis/coverage/SampleRangeFormatTest.java | 4 ++- .../grid/BandAggregateGridCoverageTest.java| 4 ++- .../coverage/grid/BufferedGridCoverageTest.java| 2 ++ .../coverage/grid/ConvertedGridCoverageTest.java | 6 ++-- .../coverage/grid/DimensionalityReductionTest.java | 4 ++- .../grid/FractionalGridCoordinatesTest.java| 3 +- .../sis/coverage/grid/GridCoverage2DTest.java | 4 ++- .../sis/coverage/grid/GridCoverageBuilderTest.java | 4 ++- .../sis/coverage/grid/GridDerivationTest.java | 4 ++- .../apache/sis/coverage/grid/GridExtentTest.java | 4 ++- .../apache/sis/coverage/grid/GridGeometryTest.java | 4 ++- .../sis/coverage/grid/GridOrientationTest.java | 4 ++- .../sis/coverage/grid/PixelTranslationTest.java| 4 ++- .../coverage/grid/ResampledGridCoverageTest.java | 6 ++-- .../sis/coverage/grid/ReshapedImageTest.java | 4 ++- .../coverage/grid/TranslatedGridCoverageTest.java | 4 ++- .../coverage/grid/j2d/ColorModelBuilderTest.java | 4 ++- .../sis/coverage/grid/j2d/ImageLayoutTest.java | 4 ++- .../sis/coverage/grid/j2d/ImageUtilitiesTest.java | 6 ++-- .../coverage/grid/j2d/SampleModelFactoryTest.java | 4 ++- .../coverage/grid/j2d/ScaledColorSpaceTest.java| 6 ++-- .../sis/coverage/internal/RangeArgumentTest.java | 4 ++- .../apache/sis/feature/AbstractFeatureTest.java| 2 ++ .../apache/sis/feature/AbstractOperationTest.java | 4 ++- .../apache/sis/feature/CharacteristicMapTest.java | 4 ++- .../sis/feature/CharacteristicTypeMapTest.java | 9 ++--- .../sis/feature/DefaultAssociationRoleTest.java| 6 ++-- .../sis/feature/DefaultAttributeTypeTest.java | 4 ++- .../apache/sis/feature/DefaultFeatureTypeTest.java | 4 ++- .../org/apache/sis/feature/DenseFeatureTest.java | 1 + .../apache/sis/feature/EnvelopeOperationTest.java | 4 ++- .../org/apache/sis/feature/FeatureFormatTest.java | 4 ++- .../apache/sis/feature/FeatureOperationsTest.java | 4 ++- .../org/apache/sis/feature/FeatureTestCase.java| 4 ++- .../test/org/apache/sis/feature
[sis] 01/01: Merge branch 'geoapi-4.0' into geoapi-3.1 (imports reordering).
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-3.1 in repository https://gitbox.apache.org/repos/asf/sis.git commit 80a27652f17105e29998567389fc45343cac04bb Merge: 611ffb816d 0158ef9590 Author: Martin Desruisseaux AuthorDate: Thu Sep 28 16:05:54 2023 +0200 Merge branch 'geoapi-4.0' into geoapi-3.1 (imports reordering). .../org/apache/sis/buildtools/doclet/Doclet.java | 2 +- .../org/apache/sis/buildtools/doclet/Include.java | 4 +-- .../apache/sis/buildtools/gradle/ModularJAR.java | 4 +-- .../sis/buildtools/gradle/ModularJavadoc.java | 4 +-- .../resources/IndexedResourceCompilerTest.java | 2 ++ .../apache/sis/cloud/aws/s3/CachedByteChannel.java | 2 +- .../apache/sis/cloud/aws/s3/ClientFileSystem.java | 4 +-- .../org/apache/sis/cloud/aws/s3/FileService.java | 10 +++--- .../main/org/apache/sis/cloud/aws/s3/KeyPath.java | 6 ++-- .../apache/sis/cloud/aws/s3/ObjectAttributes.java | 6 ++-- .../sis/cloud/aws/s3/ClientFileSystemTest.java | 1 + .../sis/cloud/aws/s3/KeyPathMatcherTest.java | 1 + .../org/apache/sis/cloud/aws/s3/KeyPathTest.java | 4 ++- .../org/apache/sis/console/AboutCommandTest.java | 4 ++- .../org/apache/sis/console/CRSCommandTest.java | 4 ++- .../org/apache/sis/console/CommandRunnerTest.java | 4 ++- .../org/apache/sis/console/HelpCommandTest.java| 4 ++- .../apache/sis/console/MetadataCommandTest.java| 4 ++- .../apache/sis/console/MimeTypeCommandTest.java| 4 ++- .../apache/sis/coverage/grid/PixelTranslation.java | 5 ++- .../sis/feature/FeatureOperationException.java | 2 +- .../main/org/apache/sis/filter/Capabilities.java | 4 +-- .../apache/sis/filter/DefaultFilterFactory.java| 2 +- .../apache/sis/filter/internal/CopyVisitor.java| 2 +- .../sis/filter/sqlmm/FunctionDescription.java | 2 +- .../main/org/apache/sis/filter/sqlmm/SQLMM.java| 2 +- .../geometry/wrapper/SpatialOperationContext.java | 8 ++--- .../apache/sis/geometry/wrapper/jts/Factory.java | 16 - .../sis/geometry/wrapper/jts/FilteringContext.java | 4 +-- .../org/apache/sis/geometry/wrapper/jts/JTS.java | 6 ++-- .../wrapper/jts/PackedCoordinateSequence.java | 2 +- .../geometry/wrapper/jts/PathIteratorAdapter.java | 4 +-- .../sis/geometry/wrapper/jts/ShapeAdapter.java | 6 ++-- .../sis/geometry/wrapper/jts/ShapeConverter.java | 2 +- .../apache/sis/geometry/wrapper/jts/Wrapper.java | 38 ++-- .../main/org/apache/sis/image/ImageProcessor.java | 6 ++-- .../main/org/apache/sis/image/TransferType.java| 4 +-- .../sis/image/processing/isoline/Joiner.java | 2 +- .../org/apache/sis/coverage/CategoryListTest.java | 4 ++- .../test/org/apache/sis/coverage/CategoryTest.java | 4 ++- .../apache/sis/coverage/CoverageCombinerTest.java | 4 ++- .../apache/sis/coverage/SampleDimensionTest.java | 4 ++- .../apache/sis/coverage/SampleRangeFormatTest.java | 4 ++- .../grid/BandAggregateGridCoverageTest.java| 4 ++- .../coverage/grid/BufferedGridCoverageTest.java| 2 ++ .../coverage/grid/ConvertedGridCoverageTest.java | 6 ++-- .../coverage/grid/DimensionalityReductionTest.java | 4 ++- .../grid/FractionalGridCoordinatesTest.java| 3 +- .../sis/coverage/grid/GridCoverage2DTest.java | 4 ++- .../sis/coverage/grid/GridCoverageBuilderTest.java | 4 ++- .../sis/coverage/grid/GridDerivationTest.java | 4 ++- .../apache/sis/coverage/grid/GridExtentTest.java | 4 ++- .../apache/sis/coverage/grid/GridGeometryTest.java | 4 ++- .../sis/coverage/grid/GridOrientationTest.java | 4 ++- .../sis/coverage/grid/PixelTranslationTest.java| 4 ++- .../coverage/grid/ResampledGridCoverageTest.java | 6 ++-- .../sis/coverage/grid/ReshapedImageTest.java | 4 ++- .../coverage/grid/TranslatedGridCoverageTest.java | 4 ++- .../coverage/grid/j2d/ColorModelBuilderTest.java | 4 ++- .../sis/coverage/grid/j2d/ImageLayoutTest.java | 4 ++- .../sis/coverage/grid/j2d/ImageUtilitiesTest.java | 6 ++-- .../coverage/grid/j2d/SampleModelFactoryTest.java | 4 ++- .../coverage/grid/j2d/ScaledColorSpaceTest.java| 6 ++-- .../sis/coverage/internal/RangeArgumentTest.java | 4 ++- .../apache/sis/feature/AbstractFeatureTest.java| 2 ++ .../apache/sis/feature/AbstractOperationTest.java | 4 ++- .../apache/sis/feature/CharacteristicMapTest.java | 4 ++- .../sis/feature/CharacteristicTypeMapTest.java | 9 ++--- .../sis/feature/DefaultAssociationRoleTest.java| 6 ++-- .../sis/feature/DefaultAttributeTypeTest.java | 4 ++- .../apache/sis/feature/DefaultFeatureTypeTest.java | 4 ++- .../org/apache/sis/feature/DenseFeatureTest.java | 1 + .../apache/sis/feature/EnvelopeOperationTest.java | 4 ++- .../org/apache/sis/feature/FeatureFormatTest.java | 4 ++- .../apache/sis/feature/FeatureOperationsTest.java | 4
[sis] branch geoapi-3.1 updated (611ffb816d -> 80a27652f1)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-3.1 in repository https://gitbox.apache.org/repos/asf/sis.git from 611ffb816d Merge branch 'geoapi-4.0' into geoapi-3.1. This is minor adjustments in preparation for a release proposal. add 0158ef9590 Another round of automatic import organization. This is done by the `ReorganizeImports` class in `buildSrc`. The result is not perfect and may need future refinements. new 80a27652f1 Merge branch 'geoapi-4.0' into geoapi-3.1 (imports reordering). The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../org/apache/sis/buildtools/doclet/Doclet.java | 2 +- .../org/apache/sis/buildtools/doclet/Include.java | 4 +-- .../apache/sis/buildtools/gradle/ModularJAR.java | 4 +-- .../sis/buildtools/gradle/ModularJavadoc.java | 4 +-- .../resources/IndexedResourceCompilerTest.java | 2 ++ .../apache/sis/cloud/aws/s3/CachedByteChannel.java | 2 +- .../apache/sis/cloud/aws/s3/ClientFileSystem.java | 4 +-- .../org/apache/sis/cloud/aws/s3/FileService.java | 10 +++--- .../main/org/apache/sis/cloud/aws/s3/KeyPath.java | 6 ++-- .../apache/sis/cloud/aws/s3/ObjectAttributes.java | 6 ++-- .../sis/cloud/aws/s3/ClientFileSystemTest.java | 1 + .../sis/cloud/aws/s3/KeyPathMatcherTest.java | 1 + .../org/apache/sis/cloud/aws/s3/KeyPathTest.java | 4 ++- .../org/apache/sis/console/AboutCommandTest.java | 4 ++- .../org/apache/sis/console/CRSCommandTest.java | 4 ++- .../org/apache/sis/console/CommandRunnerTest.java | 4 ++- .../org/apache/sis/console/HelpCommandTest.java| 4 ++- .../apache/sis/console/MetadataCommandTest.java| 4 ++- .../apache/sis/console/MimeTypeCommandTest.java| 4 ++- .../apache/sis/coverage/grid/PixelTranslation.java | 5 ++- .../sis/feature/FeatureOperationException.java | 2 +- .../main/org/apache/sis/filter/Capabilities.java | 4 +-- .../apache/sis/filter/DefaultFilterFactory.java| 2 +- .../apache/sis/filter/internal/CopyVisitor.java| 2 +- .../sis/filter/sqlmm/FunctionDescription.java | 2 +- .../main/org/apache/sis/filter/sqlmm/SQLMM.java| 2 +- .../geometry/wrapper/SpatialOperationContext.java | 8 ++--- .../apache/sis/geometry/wrapper/jts/Factory.java | 16 - .../sis/geometry/wrapper/jts/FilteringContext.java | 4 +-- .../org/apache/sis/geometry/wrapper/jts/JTS.java | 6 ++-- .../wrapper/jts/PackedCoordinateSequence.java | 2 +- .../geometry/wrapper/jts/PathIteratorAdapter.java | 4 +-- .../sis/geometry/wrapper/jts/ShapeAdapter.java | 6 ++-- .../sis/geometry/wrapper/jts/ShapeConverter.java | 2 +- .../apache/sis/geometry/wrapper/jts/Wrapper.java | 38 ++-- .../main/org/apache/sis/image/ImageProcessor.java | 6 ++-- .../main/org/apache/sis/image/TransferType.java| 4 +-- .../sis/image/processing/isoline/Joiner.java | 2 +- .../org/apache/sis/coverage/CategoryListTest.java | 4 ++- .../test/org/apache/sis/coverage/CategoryTest.java | 4 ++- .../apache/sis/coverage/CoverageCombinerTest.java | 4 ++- .../apache/sis/coverage/SampleDimensionTest.java | 4 ++- .../apache/sis/coverage/SampleRangeFormatTest.java | 4 ++- .../grid/BandAggregateGridCoverageTest.java| 4 ++- .../coverage/grid/BufferedGridCoverageTest.java| 2 ++ .../coverage/grid/ConvertedGridCoverageTest.java | 6 ++-- .../coverage/grid/DimensionalityReductionTest.java | 4 ++- .../grid/FractionalGridCoordinatesTest.java| 3 +- .../sis/coverage/grid/GridCoverage2DTest.java | 4 ++- .../sis/coverage/grid/GridCoverageBuilderTest.java | 4 ++- .../sis/coverage/grid/GridDerivationTest.java | 4 ++- .../apache/sis/coverage/grid/GridExtentTest.java | 4 ++- .../apache/sis/coverage/grid/GridGeometryTest.java | 4 ++- .../sis/coverage/grid/GridOrientationTest.java | 4 ++- .../sis/coverage/grid/PixelTranslationTest.java| 4 ++- .../coverage/grid/ResampledGridCoverageTest.java | 6 ++-- .../sis/coverage/grid/ReshapedImageTest.java | 4 ++- .../coverage/grid/TranslatedGridCoverageTest.java | 4 ++- .../coverage/grid/j2d/ColorModelBuilderTest.java | 4 ++- .../sis/coverage/grid/j2d/ImageLayoutTest.java | 4 ++- .../sis/coverage/grid/j2d/ImageUtilitiesTest.java | 6 ++-- .../coverage/grid/j2d/SampleModelFactoryTest.java | 4 ++- .../coverage/grid/j2d/ScaledColorSpaceTest.java| 6 ++-- .../sis/coverage/internal/RangeArgumentTest.java | 4 ++- .../apache/sis/feature/AbstractFeatureTest.java| 2 ++ .../apache/sis/feature/AbstractOperationTest.java | 4 ++- .../apache/sis/feature/CharacteristicMapTest.java | 4 ++- .../sis/feature/CharacteristicTypeM
[sis] 02/04: Tune the rule for ordering import statements. Those changes were used in the previous commit.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 9e623647ab7be1bd0f3a4243f0e95f99723b5ff0 Author: Martin Desruisseaux AuthorDate: Thu Sep 28 16:12:37 2023 +0200 Tune the rule for ordering import statements. Those changes were used in the previous commit. --- .../sis/buildtools/coding/ReorganizeImports.java | 105 - 1 file changed, 100 insertions(+), 5 deletions(-) diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/coding/ReorganizeImports.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/coding/ReorganizeImports.java index 3bdc57fedd..042adb95db 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/coding/ReorganizeImports.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/coding/ReorganizeImports.java @@ -121,12 +121,41 @@ public final class ReorganizeImports extends SimpleFileVisitor { */ private static final String PACKAGE = "package ", IMPORT = "import ", STATIC = "static "; +/** + * Order of import statements. + * + * @see Source#order(String) + */ +private static final String[] IMPORT_ORDER = { +"java", // Include also "javax" +"jakarta", +"org.locationtech.jts", // Optional dependency +"com.esri", // Optional dependency +null, // All other packages. +"javax.measure", +"org.opengis", +"org.apache.sis", +"org.junit", +"org.opengis.test", +"org.apache.sis.test" +}; + +/** + * Packages of test dependencies. The first time that one of those packages is found, + * a "// Test dependencies" header comment will be added. + */ +private static final String[] TEST_PACKAGES = { +"org.junit", +"org.opengis.test", +"org.apache.sis.test" +}; + /** * Whether to sort classes inside a group of classes (a package). * Packages are not sorted because the order used in source code * is usually intentional (Java classes first, then GeoAPI, etc.). */ -private static final boolean SORT = false; +private static final boolean SORT_LEXICOGRAPHY = false; /** * Root directory of the project for which to reorganize imports. @@ -254,6 +283,7 @@ public final class ReorganizeImports extends SimpleFileVisitor { break; } } +elements.sort(Source::compareImports); for (final String element : sort(elements)) { imports.put(element, bitmask); } @@ -269,7 +299,7 @@ public final class ReorganizeImports extends SimpleFileVisitor { * so we do not bother to optimize it. */ private static String[] sort(final List elements) { -final String[] ordered = new String[elements.size()]; +final String[] ordered = new String[elements.size()]; int count = 0; for (;;) { /* @@ -305,7 +335,7 @@ public final class ReorganizeImports extends SimpleFileVisitor { it.remove(); } } -if (SORT) { +if (SORT_LEXICOGRAPHY) { Arrays.sort(ordered, start, count); } } @@ -337,6 +367,47 @@ public final class ReorganizeImports extends SimpleFileVisitor { return prefix; } +/** + * Returns the order in which to sort the given statement. + * We only apply a gross sorting here, and otherwise preserve existing order. + * + * @param element name of the package to order. + * @return a rank to give to the specified package. + */ +private static int order(String element) { +int base = 0; +if (element.startsWith(STATIC)) { +element = element.substring(STATIC.length()).trim(); +base = 1000;// Arbitrary offset for sorting static imports last. +} +if (element.startsWith("org.apache.sis")) { +if (element.contains("Assert") || element.contains("Test") || element.contains("mock")) { +element = "org.apache.sis.test"; +} +// TODO: we should move above classes in a test package instead. +} +int fallback = IMPORT_ORDER.length; +
[sis] branch geoapi-4.0 updated (4ad7739f09 -> 2f6a07007c)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git from 4ad7739f09 Corrections in the README.md about GeoAPI snapshot used in "geoapi-xxx" branches. new 0158ef9590 Another round of automatic import organization. This is done by the `ReorganizeImports` class in `buildSrc`. The result is not perfect and may need future refinements. new 9e623647ab Tune the rule for ordering import statements. Those changes were used in the previous commit. new 1305b01fc8 Avoid using a method which has been deprecated in Gradle 8.3. new 2f6a07007c Convert text files and HTML files to Markdown format when those files were not used for tests. The intend is to have a less formats for documentation (Javadoc, Markdown, MathML), so all `*.txt` files can be considered as used in tests. The 4 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../sis/buildtools/coding/ReorganizeImports.java | 105 - .../org/apache/sis/buildtools/doclet/Doclet.java | 2 +- .../org/apache/sis/buildtools/doclet/Include.java | 4 +- .../apache/sis/buildtools/gradle/Assembler.java| 2 +- .../apache/sis/buildtools/gradle/Conventions.java | 17 ++- .../apache/sis/buildtools/gradle/JavaMaker.java| 3 +- .../sis/buildtools/gradle/ModularCompilation.java | 26 +--- .../apache/sis/buildtools/gradle/ModularJAR.java | 8 +- .../sis/buildtools/gradle/ModularJavadoc.java | 4 +- .../org/apache/sis/buildtools/gradle/UnoPkg.java | 4 +- .../resources/IndexedResourceCompilerTest.java | 2 + .../apache/sis/cloud/aws/s3/CachedByteChannel.java | 2 +- .../apache/sis/cloud/aws/s3/ClientFileSystem.java | 4 +- .../org/apache/sis/cloud/aws/s3/FileService.java | 10 +- .../main/org/apache/sis/cloud/aws/s3/KeyPath.java | 6 +- .../apache/sis/cloud/aws/s3/ObjectAttributes.java | 6 +- .../sis/cloud/aws/s3/ClientFileSystemTest.java | 1 + .../sis/cloud/aws/s3/KeyPathMatcherTest.java | 1 + .../org/apache/sis/cloud/aws/s3/KeyPathTest.java | 4 +- .../org/apache/sis/console/AboutCommandTest.java | 4 +- .../org/apache/sis/console/CRSCommandTest.java | 4 +- .../org/apache/sis/console/CommandRunnerTest.java | 4 +- .../org/apache/sis/console/HelpCommandTest.java| 4 +- .../apache/sis/console/MetadataCommandTest.java| 4 +- .../apache/sis/console/MimeTypeCommandTest.java| 4 +- .../apache/sis/coverage/grid/PixelTranslation.java | 5 +- .../sis/feature/FeatureOperationException.java | 2 +- .../org/apache/sis/feature/NamedFeatureType.java | 2 +- .../main/org/apache/sis/feature/README.md | 77 ++ .../main/org/apache/sis/feature/benchmarks.html| 114 -- .../main/org/apache/sis/filter/Capabilities.java | 4 +- .../apache/sis/filter/DefaultFilterFactory.java| 2 +- .../apache/sis/filter/internal/CopyVisitor.java| 2 +- .../sis/filter/sqlmm/FunctionDescription.java | 2 +- .../main/org/apache/sis/filter/sqlmm/SQLMM.java| 2 +- .../geometry/wrapper/SpatialOperationContext.java | 8 +- .../apache/sis/geometry/wrapper/jts/Factory.java | 16 +- .../sis/geometry/wrapper/jts/FilteringContext.java | 4 +- .../org/apache/sis/geometry/wrapper/jts/JTS.java | 6 +- .../wrapper/jts/PackedCoordinateSequence.java | 2 +- .../geometry/wrapper/jts/PathIteratorAdapter.java | 4 +- .../sis/geometry/wrapper/jts/ShapeAdapter.java | 6 +- .../sis/geometry/wrapper/jts/ShapeConverter.java | 2 +- .../apache/sis/geometry/wrapper/jts/Wrapper.java | 38 ++--- .../main/org/apache/sis/image/ImageProcessor.java | 6 +- .../main/org/apache/sis/image/TransferType.java| 4 +- .../sis/image/processing/isoline/Joiner.java | 2 +- .../org/apache/sis/coverage/CategoryListTest.java | 4 +- .../test/org/apache/sis/coverage/CategoryTest.java | 4 +- .../apache/sis/coverage/CoverageCombinerTest.java | 4 +- .../apache/sis/coverage/SampleDimensionTest.java | 4 +- .../apache/sis/coverage/SampleRangeFormatTest.java | 4 +- .../grid/BandAggregateGridCoverageTest.java| 4 +- .../coverage/grid/BufferedGridCoverageTest.java| 2 + .../coverage/grid/ConvertedGridCoverageTest.java | 6 +- .../coverage/grid/DimensionalityReductionTest.java | 4 +- .../grid/FractionalGridCoordinatesTest.java| 3 +- .../sis/coverage/grid/GridCoverage2DTest.java | 4 +- .../sis/coverage/grid/GridCoverageBuilderTest.java | 4 +- .../sis/coverage/grid/GridDerivationTest.java | 4 +- .../apache/sis/coverage/grid/GridExtentTest.java | 4 +- .../apache/sis/coverage/gr
[sis] 04/04: Convert text files and HTML files to Markdown format when those files were not used for tests. The intend is to have a less formats for documentation (Javadoc, Markdown, MathML), so all `
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 2f6a07007c31e417d5f78bdbf419126c20a743ff Author: Martin Desruisseaux AuthorDate: Thu Sep 28 18:18:33 2023 +0200 Convert text files and HTML files to Markdown format when those files were not used for tests. The intend is to have a less formats for documentation (Javadoc, Markdown, MathML), so all `*.txt` files can be considered as used in tests. --- .../sis/buildtools/gradle/ModularCompilation.java | 24 +-- .../main/org/apache/sis/feature/README.md | 77 ++ .../main/org/apache/sis/feature/benchmarks.html| 114 -- .../main/org/apache/sis/xml/README.md | 78 ++ .../sis/xml/bind/gco/ObjectIdentification.html | 59 .../sis/xml/bind/gco/ObjectIdentification.md | 31 .../main/org/apache/sis/xml/readme.html| 98 .../sis/metadata/internal/AxisDirectionsTest.md| 3 + .../sis/metadata/internal/AxisDirectionsTest.txt | 3 - .../src/org.apache.sis.openoffice/bundle/README.md | 100 .../bundle/build-instruction.html | 119 --- .../apache/sis/parameter/AbstractParameterValue.md | 5 + .../sis/parameter/AbstractParameterValue.txt | 5 - .../sis/referencing/factory/sql/EPSG_README.md | 7 + .../sis/referencing/factory/sql/EPSG_README.txt| 7 - .../sis/referencing/operation/builder/README.md| 33 .../sis/referencing/operation/builder/readme.html | 50 -- ...c3DtoVertical.txt => Geographic3DtoVertical.md} | 6 +- .../transform/SpecializableTransform1D.md | 3 + .../transform/SpecializableTransform1D.txt | 3 - .../sis/xml/bind/referencing/SC_GeographicCRS.md | 4 + .../sis/xml/bind/referencing/SC_GeographicCRS.txt | 4 - .../sis/referencing/factory/sql/epsg/README.md | 133 .../sis/referencing/factory/sql/epsg/package.html | 168 - .../shapefile/jdbc/{readme.txt => README.md} | 2 + 25 files changed, 487 insertions(+), 649 deletions(-) diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java index 5979bc45b5..ea85e0bbef 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java @@ -170,6 +170,7 @@ final class ModularCompilation extends Conventions { /** * File extensions of resources to not copy. + * In addition, everything in {@code doc-files} sub-directories will be excluded. * * @todo Reduce this list to IDL and Markdown by converting HTML and text files. */ @@ -177,8 +178,7 @@ final class ModularCompilation extends Conventions { "tmp", "bak", "log",// Same extensions than in `.gitignore`. "idl", // Source code for OpenOffice add-in. "md", // Notes in Markdown format. -"html", // Richer alternative to Markdown. -"txt"); // Simpler alternative to Markdown. +"html");// Richer alternative to Markdown. /** * Compiles the international resources that are found in all modules. @@ -262,22 +262,12 @@ final class ModularCompilation extends Conventions { * @return {@code true} for copying or {@code false} for ignoring. */ private static boolean include(File resource) { -String ext = resource.getName(); -ext = ext.substring(ext.lastIndexOf('.') + 1); -if (EXCLUDE_RESOURCES.contains(ext)) { -if (ext.equals("txt")) { -/* - * Special case: include text file for tests. - * TODO: remove that special case. See EXCLUDE_RESOURCES comment. - */ -while ((resource = resource.getParentFile()) != null) { -if (resource.getName().equals(TEST_DIRECTORY)) { -return true; -} -} -} +final File parent = resource.getParentFile(); +if (parent != null && parent.getName().equals("doc-files")) { return false; } -return true; +String ext = resource.getName(); +ext = ext.substring(ext.lastIndexOf('.') + 1); +return !EXCLUDE_RESOURCES.contains(ext); } } diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/README.md
[sis] 03/04: Avoid using a method which has been deprecated in Gradle 8.3.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 1305b01fc8ec8d93e4a62bbf0488f05e051bca9c Author: Martin Desruisseaux AuthorDate: Thu Sep 28 12:58:57 2023 +0200 Avoid using a method which has been deprecated in Gradle 8.3. --- .../org/apache/sis/buildtools/gradle/Assembler.java | 2 +- .../org/apache/sis/buildtools/gradle/Conventions.java | 17 ++--- .../org/apache/sis/buildtools/gradle/JavaMaker.java | 3 +-- .../sis/buildtools/gradle/ModularCompilation.java | 2 +- .../org/apache/sis/buildtools/gradle/ModularJAR.java| 4 ++-- .../main/org/apache/sis/buildtools/gradle/UnoPkg.java | 4 ++-- 6 files changed, 21 insertions(+), 11 deletions(-) diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Assembler.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Assembler.java index 35f49935fb..886f2231a5 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Assembler.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Assembler.java @@ -75,7 +75,7 @@ final class Assembler extends ZipWriter.Apache implements FilenameFilter { final Project project = task.getProject(); final File sourceDirectory = getBundleSourceDirectory(project, MODULE); if (sourceDirectory.isDirectory()) try { -File target = new File(project.getBuildDir(), BUNDLE_DIRECTORY); +File target = fileRelativeToBuild(project, BUNDLE_DIRECTORY); mkdir(target); String filename = FINALNAME_PREFIX + project.getVersion(); target = new File(target, filename + ".zip"); diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java index bbfd9c1090..68f1aa5ec2 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java @@ -129,6 +129,17 @@ abstract class Conventions { return new File(new File(new File(project.getProjectDir(), SOURCE_DIRECTORY), module), BUNDLE_DIRECTORY); } +/** + * Returns the path of a file in the build directory. + * + * @param project the sub-project being compiled. + * @param filename name of the file in the build directory. + * @return path to the file in the build directory. + */ +static File fileRelativeToBuild(final Project project, final String filename) { +return project.getLayout().getBuildDirectory().file(filename).get().getAsFile(); +} + /** * Returns a sub-directory of the directory where the compilation result is saved. * @@ -136,9 +147,9 @@ abstract class Conventions { * @return path of the given name relative to build directory. */ final File fileRelativeToBuild(final String... path) { -File file = project.getBuildDir(); -for (final String p : path) { -file = new File(file, p); +File file = fileRelativeToBuild(project, path[0]); +for (int i=1; i { final File moduleDirectory = Conventions.getBundleSourceDirectory(project, UnoPkg.MODULE); if (moduleDirectory.isDirectory()) try { File outputDirectory; // Path to "./build/classes/java/main/org.apache.sis.openoffice/" -outputDirectory = project.getBuildDir(); -outputDirectory = new File(outputDirectory, Conventions.MAIN_CLASSES_DIRECTORY); +outputDirectory = Conventions.fileRelativeToBuild(project, Conventions.MAIN_CLASSES_DIRECTORY); outputDirectory = new File(outputDirectory, UnoPkg.MODULE); final var c = new JavaMaker(moduleDirectory, outputDirectory); Files.walkFileTree(c.source, c); diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java index 2042d8ab2d..5979bc45b5 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java @@ -198,7 +198,7 @@ final class ModularCompilation extends Conventions { int errors = 0; @SuppressWarnings("LocalVariableHidesMemberVariable") // Should be the same value. final Project project = task.getProject(); -final File outputDir = new File(project.getBuildDir(), +final File o
[sis] 01/01: Merge branch 'geoapi-4.0' into geoapi-3.1. This is minor adjustments in preparation for a release proposal.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-3.1 in repository https://gitbox.apache.org/repos/asf/sis.git commit 611ffb816db174bc1ea84a4b468b77fa44436e0d Merge: c2bcdb964f 4ad7739f09 Author: Martin Desruisseaux AuthorDate: Thu Sep 28 12:22:16 2023 +0200 Merge branch 'geoapi-4.0' into geoapi-3.1. This is minor adjustments in preparation for a release proposal. README.md | 24 ++- endorsed/build.gradle.kts | 34 ++-- .../apache/sis/metadata/iso/extent/Extents.java| 57 +++--- .../main/module-info.java | 1 - .../main/org/apache/sis/io/wkt/Convention.java | 2 - .../main/org/apache/sis/referencing/CRS.java | 13 +- .../apache/sis/referencing/GeodeticCalculator.java | 1 - .../sis/referencing/cs/CoordinateSystems.java | 6 +- .../referencing/factory/AuthorityFactoryProxy.java | 32 ++- .../factory/ConcurrentAuthorityFactory.java| 75 +++ .../apache/sis/referencing/internal/Legacy.java| 6 +- .../sis/referencing/operation/package-info.java| 9 +- .../operation/projection/AlbersEqualArea.java | 2 +- .../operation/projection/CassiniSoldner.java | 2 +- .../operation/projection/CylindricalEqualArea.java | 2 +- .../projection/LambertConicConformal.java | 2 +- .../referencing/operation/projection/Mercator.java | 2 +- .../projection/ModifiedAzimuthalEquidistant.java | 2 +- .../operation/projection/ObliqueStereographic.java | 2 +- .../operation/projection/PolarStereographic.java | 2 +- .../operation/projection/Polyconic.java| 2 +- .../operation/projection/Sinusoidal.java | 2 +- .../operation/projection/TransverseMercator.java | 2 +- .../operation/projection/package-info.java | 7 +- .../operation/transform/ContextualParameters.java | 47 ++--- .../operation/transform/package-info.java | 2 +- .../apache/sis/storage/geotiff/GeoTiffStore.java | 2 +- .../main/org/apache/sis/storage/geotiff/Type.java | 25 +-- .../org/apache/sis/storage/DataStoreRegistry.java | 6 +- .../apache/sis/storage/image/DataStoreFilter.java | 29 ++- .../main/org/apache/sis/measure/Scalar.java| 4 +- .../org/apache/sis/measure/UnitNames.properties| 2 + .../main/org/apache/sis/measure/UnitRegistry.java | 3 +- .../main/org/apache/sis/measure/Units.java | 221 - .../main/org/apache/sis/util/ComparisonMode.java | 9 +- .../org/apache/sis/measure/UnitFormatTest.java | 2 + .../test/org/apache/sis/measure/UnitsTest.java | 8 +- geoapi/README.md | 10 +- incubator/build.gradle.kts | 6 +- netbeans-project/ivy.xml | 8 +- optional/build.gradle.kts | 2 +- .../gui/referencing/PositionableProjection.java| 8 - settings.gradle.kts| 10 +- 43 files changed, 422 insertions(+), 271 deletions(-)
[sis] branch geoapi-4.0 updated (2c76440e28 -> 4ad7739f09)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git from 2c76440e28 Add radioactivity units of measurement (becquerel and curie). new a0cf252abe Do not export the `org.apache.sis.referencing.operation.projection` package. It does not need to be used directly, and its design is non-trivial. new 1cb9a4913e After removing the export of projection packages, the `getClass() == Foo.class` verifications are no longer necessary. new 5a43124658 Upgrade dependencies new 4ad7739f09 Corrections in the README.md about GeoAPI snapshot used in "geoapi-xxx" branches. The 4 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../main/module-info.java | 1 - .../main/org/apache/sis/io/wkt/Convention.java | 2 - .../apache/sis/referencing/GeodeticCalculator.java | 1 - .../sis/referencing/cs/CoordinateSystems.java | 6 +-- .../sis/referencing/operation/package-info.java| 9 + .../operation/projection/AlbersEqualArea.java | 2 +- .../operation/projection/CassiniSoldner.java | 2 +- .../operation/projection/CylindricalEqualArea.java | 2 +- .../projection/LambertConicConformal.java | 2 +- .../referencing/operation/projection/Mercator.java | 2 +- .../projection/ModifiedAzimuthalEquidistant.java | 2 +- .../operation/projection/ObliqueStereographic.java | 2 +- .../operation/projection/PolarStereographic.java | 2 +- .../operation/projection/Polyconic.java| 2 +- .../operation/projection/Sinusoidal.java | 2 +- .../operation/projection/TransverseMercator.java | 2 +- .../operation/projection/package-info.java | 7 +--- .../operation/transform/ContextualParameters.java | 47 -- .../operation/transform/package-info.java | 2 +- .../main/org/apache/sis/util/ComparisonMode.java | 9 ++--- geoapi/README.md | 10 ++--- netbeans-project/ivy.xml | 8 ++-- .../gui/referencing/PositionableProjection.java| 8 settings.gradle.kts| 10 ++--- 24 files changed, 50 insertions(+), 92 deletions(-)
[sis] 04/04: Corrections in the README.md about GeoAPI snapshot used in "geoapi-xxx" branches.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 4ad7739f096cbc44a81a4aa2054ad28f5706603b Author: Martin Desruisseaux AuthorDate: Thu Sep 28 12:18:26 2023 +0200 Corrections in the README.md about GeoAPI snapshot used in "geoapi-xxx" branches. --- geoapi/README.md | 10 +++--- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/geoapi/README.md b/geoapi/README.md index 414fbf5602..691b236ee1 100644 --- a/geoapi/README.md +++ b/geoapi/README.md @@ -19,14 +19,10 @@ Following command should be executed once after a fresh checkout of SIS `geoapi- git submodule update --init ``` -Following command should be used for pulling changes from Apache SIS Git repository. -The `--recurse-submodules` option pulls changes in the GeoAPI submodule as well, -which is necessary for keeping the Apache SIS code in sync with the GeoAPI snapshot that it implements: - -```bash -git pull --recurse-submodules -``` +After above initialization, the usual `git pull` command should upgrade GeoAPI snapshot as well when needed. +If a Git error message said that the SHA1 is unknown, running `git fetch --recurse-submodules` first may help. ## Prerequisites Maven must be available on the classpath. The GeoAPI snapshot is built by a call to `mvn clean install`. +This call is done automatically by the Gradle build.
[sis] 01/04: Do not export the `org.apache.sis.referencing.operation.projection` package. It does not need to be used directly, and its design is non-trivial.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit a0cf252abed764910725553f9e8fb9d94f08d0a1 Author: Martin Desruisseaux AuthorDate: Thu Sep 28 11:16:31 2023 +0200 Do not export the `org.apache.sis.referencing.operation.projection` package. It does not need to be used directly, and its design is non-trivial. --- .../main/module-info.java | 1 - .../main/org/apache/sis/io/wkt/Convention.java | 2 - .../apache/sis/referencing/GeodeticCalculator.java | 1 - .../sis/referencing/cs/CoordinateSystems.java | 6 +-- .../sis/referencing/operation/package-info.java| 9 + .../operation/projection/package-info.java | 7 +--- .../operation/transform/ContextualParameters.java | 47 -- .../operation/transform/package-info.java | 2 +- .../main/org/apache/sis/util/ComparisonMode.java | 9 ++--- .../gui/referencing/PositionableProjection.java| 8 10 files changed, 27 insertions(+), 65 deletions(-) diff --git a/endorsed/src/org.apache.sis.referencing/main/module-info.java b/endorsed/src/org.apache.sis.referencing/main/module-info.java index 0f58149356..6b668db7a6 100644 --- a/endorsed/src/org.apache.sis.referencing/main/module-info.java +++ b/endorsed/src/org.apache.sis.referencing/main/module-info.java @@ -165,7 +165,6 @@ module org.apache.sis.referencing { exports org.apache.sis.referencing.operation; exports org.apache.sis.referencing.operation.builder; exports org.apache.sis.referencing.operation.matrix; -exports org.apache.sis.referencing.operation.projection; exports org.apache.sis.referencing.operation.transform; exports org.apache.sis.referencing.util to diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Convention.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Convention.java index 0810cbbc84..7b563387b8 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Convention.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Convention.java @@ -206,8 +206,6 @@ public enum Convention { * * * This convention is used only for debugging purpose. - * - * @see org.apache.sis.referencing.operation.projection.NormalizedProjection#getParameterValues() */ @Debug INTERNAL(false, false, false); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/GeodeticCalculator.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/GeodeticCalculator.java index c17e1dbcca..27d2f1d978 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/GeodeticCalculator.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/GeodeticCalculator.java @@ -1168,7 +1168,6 @@ public class GeodeticCalculator { * @throws GeodeticException if the projection cannot be computed. * * @see #moveToEndPoint() - * @see org.apache.sis.referencing.operation.projection.AzimuthalEquidistant * * @since 1.1 */ diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/CoordinateSystems.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/CoordinateSystems.java index 60503e213e..af4cc47552 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/CoordinateSystems.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/CoordinateSystems.java @@ -448,9 +448,8 @@ next: for (final CoordinateSystem cs : targets) { * Coordinate system normalization * This method is often used together with {@link #swapAndScaleAxes swapAndScaleAxes(…)} for normalizing the * coordinate values given to a {@linkplain org.apache.sis.referencing.operation.transform.AbstractMathTransform - * math transform}. + * math transform}. For example: * - * Example * {@snippet lang="java" : * CoordinateSystem sourceCS = ...; * CoordinateSystem targetCS = ...; @@ -459,9 +458,6 @@ next: for (final CoordinateSystem cs : targets) { * Matrix step3 = swapAndScaleAxes(replaceAxes(targetCS, AxisConvention.NORMALIZED), targetCS); * } * - * A rational for normalized axis order and units is explained in the Axis units and direction section - * in the description of the {@linkplain org.apache.sis.referencing.operation.projection map projection package}. - * * @param cs the coordinate system, or {@code null}. * @param filter the modifications to apply on coordinate system axes. * @return the modified coordinate system as a new instance, diff --git a/endorsed/src/org.apache.sis.refere
[sis] 02/04: After removing the export of projection packages, the `getClass() == Foo.class` verifications are no longer necessary.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 1cb9a4913e9c2f760afb6200ef190ec5697f892e Author: Martin Desruisseaux AuthorDate: Thu Sep 28 11:28:03 2023 +0200 After removing the export of projection packages, the `getClass() == Foo.class` verifications are no longer necessary. --- .../apache/sis/referencing/operation/projection/AlbersEqualArea.java| 2 +- .../org/apache/sis/referencing/operation/projection/CassiniSoldner.java | 2 +- .../sis/referencing/operation/projection/CylindricalEqualArea.java | 2 +- .../sis/referencing/operation/projection/LambertConicConformal.java | 2 +- .../main/org/apache/sis/referencing/operation/projection/Mercator.java | 2 +- .../referencing/operation/projection/ModifiedAzimuthalEquidistant.java | 2 +- .../sis/referencing/operation/projection/ObliqueStereographic.java | 2 +- .../apache/sis/referencing/operation/projection/PolarStereographic.java | 2 +- .../main/org/apache/sis/referencing/operation/projection/Polyconic.java | 2 +- .../org/apache/sis/referencing/operation/projection/Sinusoidal.java | 2 +- .../apache/sis/referencing/operation/projection/TransverseMercator.java | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/AlbersEqualArea.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/AlbersEqualArea.java index c8d94cb481..93a4fd502c 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/AlbersEqualArea.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/AlbersEqualArea.java @@ -203,7 +203,7 @@ public class AlbersEqualArea extends AuthalicConversion { @Override public MathTransform createMapProjection(final MathTransformFactory factory) throws FactoryException { AlbersEqualArea kernel = this; -if (eccentricity == 0 && getClass() == AlbersEqualArea.class) { +if (eccentricity == 0) { kernel = new Spherical(this); } return kernel.completeWithWraparound(factory); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CassiniSoldner.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CassiniSoldner.java index 6dbeaadb2a..1f176e8123 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CassiniSoldner.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CassiniSoldner.java @@ -225,7 +225,7 @@ public class CassiniSoldner extends MeridianArcBased { @Override public MathTransform createMapProjection(final MathTransformFactory factory) throws FactoryException { CassiniSoldner kernel = this; -if ((eccentricity == 0 && variant == null) && getClass() == CassiniSoldner.class) { +if (eccentricity == 0 && variant == null) { kernel = new Spherical(this); } return context.completeTransform(factory, kernel); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CylindricalEqualArea.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CylindricalEqualArea.java index 129252b61b..a547b5b675 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CylindricalEqualArea.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/CylindricalEqualArea.java @@ -211,7 +211,7 @@ public class CylindricalEqualArea extends AuthalicConversion { @Override public MathTransform createMapProjection(final MathTransformFactory factory) throws FactoryException { CylindricalEqualArea kernel = this; -if ((variant == Variant.SPHERICAL || eccentricity == 0) && getClass() == CylindricalEqualArea.class) { +if (variant == Variant.SPHERICAL || eccentricity == 0) { kernel = new Spherical(this); } return context.completeTransform(factory, kernel); diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/LambertConicConformal.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/LambertConicConformal.java index 66c558df56..261f28dd9c 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/projection/LambertConicConformal.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apa
[sis] 03/04: Upgrade dependencies
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 5a43124658824900072d52c57eb86d5a2b844fed Author: Martin Desruisseaux AuthorDate: Thu Sep 28 11:49:07 2023 +0200 Upgrade dependencies --- netbeans-project/ivy.xml | 8 settings.gradle.kts | 10 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/netbeans-project/ivy.xml b/netbeans-project/ivy.xml index 01c97e7812..a0b405974e 100644 --- a/netbeans-project/ivy.xml +++ b/netbeans-project/ivy.xml @@ -12,7 +12,7 @@ - + @@ -21,8 +21,8 @@ - - + + @@ -34,7 +34,7 @@ - + diff --git a/settings.gradle.kts b/settings.gradle.kts index 152fff8b2a..6f5cf90996 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -59,13 +59,13 @@ dependencyResolutionManagement { create("libs") { library("geoapi","org.opengis", "geoapi-pending") .version {strictly(geoapiVersion)} library("units", "javax.measure", "unit-api") .version {strictly("[2.1, 3.0["); prefer("2.1.3")} -library("jaxb.api", "jakarta.xml.bind", "jakarta.xml.bind-api").version {strictly("[4.0, 5.0["); prefer("4.0.0")} -library("jaxb.impl", "org.glassfish.jaxb", "jaxb-runtime") .version {strictly("[4.0, 5.0["); prefer("4.0.2")} +library("jaxb.api", "jakarta.xml.bind", "jakarta.xml.bind-api").version {strictly("[4.0, 5.0["); prefer("4.0.1")} +library("jaxb.impl", "org.glassfish.jaxb", "jaxb-runtime") .version {strictly("[4.0, 5.0["); prefer("4.0.3")} library("jts.core", "org.locationtech.jts", "jts-core") .version {strictly("[1.15, 2.0["); prefer("1.19.0")} library("esri.geometry", "com.esri.geometry", "esri-geometry-api") .version {strictly("[2.0, 3.0["); prefer("2.2.4")} -library("libreoffice", "org.libreoffice","libreoffice") .version {strictly("[7.0, 8.0["); prefer("7.3.6")} +library("libreoffice", "org.libreoffice","libreoffice") .version {strictly("[7.0, 8.0["); prefer("7.6.1")} library("ucar", "edu.ucar", "cdm-core") .version {strictly("[5.0, 6.0["); prefer("5.5.3")} -library("aws.s3","software.amazon.awssdk", "s3") .version {strictly("[2.0, 3.0["); prefer("2.18.40")} +library("aws.s3","software.amazon.awssdk", "s3") .version {strictly("[2.0, 3.0["); prefer("2.20.155")} } create("tests") { library("geoapi","org.opengis", "geoapi-conformance") .version {strictly(geoapiVersion)} @@ -88,7 +88,7 @@ dependencyResolutionManagement { library("derby.tools", "org.apache.derby", "derbytools") .versionRef("derby") library("postgres", "org.postgresql", "postgresql") .version {prefer("42.6.0")} library("hsql", "org.hsqldb", "hsqldb") .version {strictly("[2.0, 3.0["); prefer("2.7.2")} -library("h2","com.h2database", "h2") .version {strictly("[2.0, 3.0["); prefer("2.2.220")} +library("h2","com.h2database", "h2") .version {strictly("[2.0, 3.0["); prefer("2.2.224")} } } }
[sis] branch main updated (6eac04b166 -> 6affdaa155)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/sis.git from 6eac04b166 Merge branch 'geoapi-3.1'. add a8ca48dad6 Combine `DataStoreFilter` with user-supplied filter. add aa81075711 Avoid a direct dependencies of metadata `Extents` class toward referencing interfaces. add 03051e4384 Use existing contants for TIFF tag types. Opportunistic documentation fixes. add 1dc6f94da8 Resolve a new Gradle warning which appears with Gradle 8.3. Edit the RExADME.md file. add f83e8924f3 Add missing `createParametric[CRS|CS|Datum](String)` methods add 2c76440e28 Add radioactivity units of measurement (becquerel and curie). add a0cf252abe Do not export the `org.apache.sis.referencing.operation.projection` package. It does not need to be used directly, and its design is non-trivial. add 1cb9a4913e After removing the export of projection packages, the `getClass() == Foo.class` verifications are no longer necessary. add 5a43124658 Upgrade dependencies add 4ad7739f09 Corrections in the README.md about GeoAPI snapshot used in "geoapi-xxx" branches. add 611ffb816d Merge branch 'geoapi-4.0' into geoapi-3.1. This is minor adjustments in preparation for a release proposal. new 6affdaa155 Merge branch 'geoapi-3.1'. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: README.md | 24 ++- endorsed/build.gradle.kts | 34 ++-- .../main/module-info.java | 1 - .../main/org/apache/sis/io/wkt/Convention.java | 2 - .../main/org/apache/sis/referencing/CRS.java | 23 ++- .../apache/sis/referencing/GeodeticCalculator.java | 1 - .../sis/referencing/cs/CoordinateSystems.java | 6 +- .../referencing/factory/AuthorityFactoryProxy.java | 2 +- .../apache/sis/referencing/internal/Legacy.java| 4 - .../sis/referencing/operation/package-info.java| 9 +- .../operation/projection/AlbersEqualArea.java | 2 +- .../operation/projection/CassiniSoldner.java | 2 +- .../operation/projection/CylindricalEqualArea.java | 2 +- .../projection/LambertConicConformal.java | 2 +- .../referencing/operation/projection/Mercator.java | 2 +- .../projection/ModifiedAzimuthalEquidistant.java | 2 +- .../operation/projection/ObliqueStereographic.java | 2 +- .../operation/projection/PolarStereographic.java | 2 +- .../operation/projection/Polyconic.java| 2 +- .../operation/projection/Sinusoidal.java | 2 +- .../operation/projection/TransverseMercator.java | 2 +- .../operation/projection/package-info.java | 7 +- .../operation/transform/ContextualParameters.java | 47 ++--- .../operation/transform/package-info.java | 2 +- .../apache/sis/storage/geotiff/GeoTiffStore.java | 2 +- .../main/org/apache/sis/storage/geotiff/Type.java | 25 +-- .../org/apache/sis/storage/DataStoreRegistry.java | 6 +- .../apache/sis/storage/image/DataStoreFilter.java | 29 ++- .../main/org/apache/sis/measure/Scalar.java| 4 +- .../org/apache/sis/measure/UnitNames.properties| 2 + .../main/org/apache/sis/measure/UnitRegistry.java | 3 +- .../main/org/apache/sis/measure/Units.java | 221 - .../main/org/apache/sis/util/ComparisonMode.java | 9 +- .../org/apache/sis/measure/UnitFormatTest.java | 2 + .../test/org/apache/sis/measure/UnitsTest.java | 8 +- incubator/build.gradle.kts | 4 +- netbeans-project/ivy.xml | 8 +- optional/build.gradle.kts | 2 +- .../gui/referencing/PositionableProjection.java| 8 - settings.gradle.kts| 10 +- 40 files changed, 294 insertions(+), 233 deletions(-)
[sis] 01/01: Merge branch 'geoapi-3.1'.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis.git commit 6affdaa1555349f11ab16db0c38c342ff8ee8366 Merge: 6eac04b166 611ffb816d Author: Martin Desruisseaux AuthorDate: Thu Sep 28 12:37:07 2023 +0200 Merge branch 'geoapi-3.1'. README.md | 24 ++- endorsed/build.gradle.kts | 34 ++-- .../main/module-info.java | 1 - .../main/org/apache/sis/io/wkt/Convention.java | 2 - .../main/org/apache/sis/referencing/CRS.java | 23 ++- .../apache/sis/referencing/GeodeticCalculator.java | 1 - .../sis/referencing/cs/CoordinateSystems.java | 6 +- .../referencing/factory/AuthorityFactoryProxy.java | 2 +- .../apache/sis/referencing/internal/Legacy.java| 4 - .../sis/referencing/operation/package-info.java| 9 +- .../operation/projection/AlbersEqualArea.java | 2 +- .../operation/projection/CassiniSoldner.java | 2 +- .../operation/projection/CylindricalEqualArea.java | 2 +- .../projection/LambertConicConformal.java | 2 +- .../referencing/operation/projection/Mercator.java | 2 +- .../projection/ModifiedAzimuthalEquidistant.java | 2 +- .../operation/projection/ObliqueStereographic.java | 2 +- .../operation/projection/PolarStereographic.java | 2 +- .../operation/projection/Polyconic.java| 2 +- .../operation/projection/Sinusoidal.java | 2 +- .../operation/projection/TransverseMercator.java | 2 +- .../operation/projection/package-info.java | 7 +- .../operation/transform/ContextualParameters.java | 47 ++--- .../operation/transform/package-info.java | 2 +- .../apache/sis/storage/geotiff/GeoTiffStore.java | 2 +- .../main/org/apache/sis/storage/geotiff/Type.java | 25 +-- .../org/apache/sis/storage/DataStoreRegistry.java | 6 +- .../apache/sis/storage/image/DataStoreFilter.java | 29 ++- .../main/org/apache/sis/measure/Scalar.java| 4 +- .../org/apache/sis/measure/UnitNames.properties| 2 + .../main/org/apache/sis/measure/UnitRegistry.java | 3 +- .../main/org/apache/sis/measure/Units.java | 221 - .../main/org/apache/sis/util/ComparisonMode.java | 9 +- .../org/apache/sis/measure/UnitFormatTest.java | 2 + .../test/org/apache/sis/measure/UnitsTest.java | 8 +- incubator/build.gradle.kts | 4 +- netbeans-project/ivy.xml | 8 +- optional/build.gradle.kts | 2 +- .../gui/referencing/PositionableProjection.java| 8 - settings.gradle.kts| 10 +- 40 files changed, 294 insertions(+), 233 deletions(-) diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/CRS.java index 45e78ca27b,c0316a3cfd..6fda530af2 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/CRS.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/CRS.java @@@ -86,6 -87,12 +87,9 @@@ import org.apache.sis.metadata.iso.exte import org.apache.sis.util.resources.Errors; import org.apache.sis.util.logging.Logging; -// Specific to the geoapi-3.1 and geoapi-4.0 branches: -import org.opengis.geometry.Geometry; -import org.opengis.referencing.ObjectDomain; -import org.opengis.metadata.extent.BoundingPolygon; -import org.opengis.metadata.extent.GeographicExtent; ++// Specific to the main branch: ++import org.apache.sis.referencing.internal.Legacy; + /** * Static methods working on {@linkplain CoordinateReferenceSystem Coordinate Reference Systems}. @@@ -794,7 -798,15 +795,15 @@@ public final class CRS extends Static */ @OptionalCandidate public static GeographicBoundingBox getGeographicBoundingBox(final CoordinateReferenceSystem crs) { - return (crs != null) ? Extents.getGeographicBoundingBox(crs.getDomainOfValidity()) : null; + return (crs != null) ? getDomains(crs).orElse(null) : null; + } + + /** + * Returns the geographic bounding box computed from the domain of the given object. This method may be renamed and + * refactored as a replacement of {@link #getGeographicBoundingBox(CoordinateReferenceSystem)} in a future version. + */ + private static Optional getDomains(final IdentifiedObject object) { -return Extents.getGeographicBoundingBox(object.getDomains().stream().map(ObjectDomain::getDomainOfValidity)); ++return Extents.getGeographicBoundingBox(Legacy.getDomains(object).stream().map(DefaultObjectDomain::getDomainOfValidity)); } /** diff --cc netbeans-project/ivy.xml index 65fa430d8a,a0b405974e..d89626bbf0 --- a/netbeans-project/ivy.xml +++ b/netbeans-project/ivy.xml @@@ -11,10 -11,8 +11,10
[sis] branch geoapi-3.1 updated (c2bcdb964f -> 611ffb816d)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-3.1 in repository https://gitbox.apache.org/repos/asf/sis.git from c2bcdb964f Merge branch 'geoapi-4.0' into geoapi-3.1. Contains the beginning of a migration to JUnit 5, the beginning of an ISO 19111 upgrade, documentation fixes and some deprecations in preparation for SIS 1.4 release proposal. add a8ca48dad6 Combine `DataStoreFilter` with user-supplied filter. add aa81075711 Avoid a direct dependencies of metadata `Extents` class toward referencing interfaces. add 03051e4384 Use existing contants for TIFF tag types. Opportunistic documentation fixes. add 1dc6f94da8 Resolve a new Gradle warning which appears with Gradle 8.3. Edit the RExADME.md file. add f83e8924f3 Add missing `createParametric[CRS|CS|Datum](String)` methods add 2c76440e28 Add radioactivity units of measurement (becquerel and curie). add a0cf252abe Do not export the `org.apache.sis.referencing.operation.projection` package. It does not need to be used directly, and its design is non-trivial. add 1cb9a4913e After removing the export of projection packages, the `getClass() == Foo.class` verifications are no longer necessary. add 5a43124658 Upgrade dependencies add 4ad7739f09 Corrections in the README.md about GeoAPI snapshot used in "geoapi-xxx" branches. new 611ffb816d Merge branch 'geoapi-4.0' into geoapi-3.1. This is minor adjustments in preparation for a release proposal. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: README.md | 24 ++- endorsed/build.gradle.kts | 34 ++-- .../apache/sis/metadata/iso/extent/Extents.java| 57 +++--- .../main/module-info.java | 1 - .../main/org/apache/sis/io/wkt/Convention.java | 2 - .../main/org/apache/sis/referencing/CRS.java | 13 +- .../apache/sis/referencing/GeodeticCalculator.java | 1 - .../sis/referencing/cs/CoordinateSystems.java | 6 +- .../referencing/factory/AuthorityFactoryProxy.java | 32 ++- .../factory/ConcurrentAuthorityFactory.java| 75 +++ .../apache/sis/referencing/internal/Legacy.java| 6 +- .../sis/referencing/operation/package-info.java| 9 +- .../operation/projection/AlbersEqualArea.java | 2 +- .../operation/projection/CassiniSoldner.java | 2 +- .../operation/projection/CylindricalEqualArea.java | 2 +- .../projection/LambertConicConformal.java | 2 +- .../referencing/operation/projection/Mercator.java | 2 +- .../projection/ModifiedAzimuthalEquidistant.java | 2 +- .../operation/projection/ObliqueStereographic.java | 2 +- .../operation/projection/PolarStereographic.java | 2 +- .../operation/projection/Polyconic.java| 2 +- .../operation/projection/Sinusoidal.java | 2 +- .../operation/projection/TransverseMercator.java | 2 +- .../operation/projection/package-info.java | 7 +- .../operation/transform/ContextualParameters.java | 47 ++--- .../operation/transform/package-info.java | 2 +- .../apache/sis/storage/geotiff/GeoTiffStore.java | 2 +- .../main/org/apache/sis/storage/geotiff/Type.java | 25 +-- .../org/apache/sis/storage/DataStoreRegistry.java | 6 +- .../apache/sis/storage/image/DataStoreFilter.java | 29 ++- .../main/org/apache/sis/measure/Scalar.java| 4 +- .../org/apache/sis/measure/UnitNames.properties| 2 + .../main/org/apache/sis/measure/UnitRegistry.java | 3 +- .../main/org/apache/sis/measure/Units.java | 221 - .../main/org/apache/sis/util/ComparisonMode.java | 9 +- .../org/apache/sis/measure/UnitFormatTest.java | 2 + .../test/org/apache/sis/measure/UnitsTest.java | 8 +- geoapi/README.md | 10 +- incubator/build.gradle.kts | 6 +- netbeans-project/ivy.xml | 8 +- optional/build.gradle.kts | 2 +- .../gui/referencing/PositionableProjection.java| 8 - settings.gradle.kts| 10 +- 43 files changed, 422 insertions(+), 271 deletions(-)
[sis] 02/02: Add radioactivity units of measurement (becquerel and curie).
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 2c76440e2871a43a21a500d581512e2ac964b8a7 Author: Martin Desruisseaux AuthorDate: Wed Sep 27 16:55:39 2023 +0200 Add radioactivity units of measurement (becquerel and curie). --- .../main/org/apache/sis/measure/Scalar.java| 4 +- .../org/apache/sis/measure/UnitNames.properties| 2 + .../main/org/apache/sis/measure/UnitRegistry.java | 3 +- .../main/org/apache/sis/measure/Units.java | 221 - .../org/apache/sis/measure/UnitFormatTest.java | 2 + .../test/org/apache/sis/measure/UnitsTest.java | 8 +- 6 files changed, 142 insertions(+), 98 deletions(-) diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Scalar.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Scalar.java index f64177132c..2e8c5bf0a3 100644 --- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Scalar.java +++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Scalar.java @@ -404,8 +404,8 @@ class Scalar> extends Number implements Quantity, Compa /* * Following inner classes are straightforward implementations for some commonly used quantity types. - * We do not need to provide an implementation for every types; we will fallback on a proxy mechanism - * as a fallback for less frequently used types. + * We do not need to provide an implementation for every types, because we have a proxy mechanism as + * a fallback for less frequently used types. */ diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitNames.properties b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitNames.properties index 97fc5614ba..41ffd3b981 100644 --- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitNames.properties +++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitNames.properties @@ -4,8 +4,10 @@ A=ampere a=year atm=atmosphere B=bel +Bq=becquerel C=coulomb cd=candela +Ci=curie cm=centimetre d=day dB=decibel diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitRegistry.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitRegistry.java index 0d1dc55919..776c60a456 100644 --- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitRegistry.java +++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/UnitRegistry.java @@ -199,8 +199,9 @@ final class UnitRegistry implements SystemOfUnits, Serializable { * This method is invoked for assertions only. */ private static int filter(int existed, final SystemUnit unit, final String s) { +if ("cd".equals(s) || +"Hz".equals(s) || "Bq".equals(s)) existed &= ~(1); // Accepts dimension collisions only; if (unit.dimension.isDimensionless()) existed &= ~(1 | 2); // Accepts dimension and quantity collisions. -if ("cd".equals(s) || "Hz".equals(s)) existed &= ~(1); // Accepts dimension collisions only; return (s == null) || s.isEmpty() ? 0 : existed; } diff --git a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Units.java b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Units.java index 9be723171d..3087070e0f 100644 --- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Units.java +++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/measure/Units.java @@ -76,7 +76,7 @@ import static org.apache.sis.measure.UnitRegistry.PREFIXABLE; * * @author Martin Desruisseaux (IRD, Geomatys) * @author Alexis Manin (Geomatys) - * @version 1.2 + * @version 1.4 * @since 0.3 */ public final class Units extends Static { @@ -88,9 +88,9 @@ public final class Units extends Static { * * * Related units - * SI units: {@code NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, {@link #METRE}, {@link #KILOMETRE}. - * In other systems: {@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}. - * Derived units:{@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}. + * SI length units: {@code NANOMETRE}, {@link #MILLIMETRE}, {@link #CENTIMETRE}, {@link #METRE}, {@link #KILOMETRE}. + * Non-SI units:{@link #POINT}, {@link #INCH}, {@link #FOOT}, {@link #CLARKE_FOOT}, {@link #US_SURVEY_FOOT}, {@link #STATUTE_MILE}, {@link #NAUTICAL_MILE}. + * Derived units: {@link #SQUARE_METRE}, {@link #CUBIC_METRE}, {@link #METRES_PER_SECOND}. * * * @see org.apache.sis.metadata.iso.content.DefaultBand#getBoundUnits() @@ -106,9 +106,9 @@ public fina
[sis] branch geoapi-4.0 updated (1dc6f94da8 -> 2c76440e28)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git from 1dc6f94da8 Resolve a new Gradle warning which appears with Gradle 8.3. Edit the RExADME.md file. new f83e8924f3 Add missing `createParametric[CRS|CS|Datum](String)` methods new 2c76440e28 Add radioactivity units of measurement (becquerel and curie). The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../referencing/factory/AuthorityFactoryProxy.java | 32 ++- .../factory/ConcurrentAuthorityFactory.java| 75 +++ .../main/org/apache/sis/measure/Scalar.java| 4 +- .../org/apache/sis/measure/UnitNames.properties| 2 + .../main/org/apache/sis/measure/UnitRegistry.java | 3 +- .../main/org/apache/sis/measure/Units.java | 221 - .../org/apache/sis/measure/UnitFormatTest.java | 2 + .../test/org/apache/sis/measure/UnitsTest.java | 8 +- 8 files changed, 248 insertions(+), 99 deletions(-)
[sis] 01/02: Add missing `createParametric[CRS|CS|Datum](String)` methods
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit f83e8924f379efbba2326d37bd0b89d40a9d3a79 Author: Martin Desruisseaux AuthorDate: Wed Sep 27 14:20:03 2023 +0200 Add missing `createParametric[CRS|CS|Datum](String)` methods --- .../referencing/factory/AuthorityFactoryProxy.java | 32 - .../factory/ConcurrentAuthorityFactory.java| 75 ++ 2 files changed, 106 insertions(+), 1 deletion(-) diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/AuthorityFactoryProxy.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/AuthorityFactoryProxy.java index 140ca5ed55..6fb20e3476 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/AuthorityFactoryProxy.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/AuthorityFactoryProxy.java @@ -57,7 +57,7 @@ import org.apache.sis.util.internal.Strings; * } * * @author Martin Desruisseaux (Geomatys) - * @version 0.7 + * @version 1.4 * @since 0.7 */ abstract class AuthorityFactoryProxy { @@ -226,6 +226,16 @@ abstract class AuthorityFactoryProxy { } }; +static final AuthorityFactoryProxy PARAMETRIC_DATUM = +new AuthorityFactoryProxy(ParametricDatum.class, AuthorityFactoryIdentifier.DATUM) { +@Override ParametricDatum create(GeodeticAuthorityFactory factory, String code) throws FactoryException { +return factory.createParametricDatum(code); +} +@Override ParametricDatum createFromAPI(AuthorityFactory factory, String code) throws FactoryException { +return datumFactory(factory).createParametricDatum(code); +} +}; + static final AuthorityFactoryProxy VERTICAL_DATUM = new AuthorityFactoryProxy(VerticalDatum.class, AuthorityFactoryIdentifier.DATUM) { @Override VerticalDatum create(GeodeticAuthorityFactory factory, String code) throws FactoryException { @@ -366,6 +376,16 @@ abstract class AuthorityFactoryProxy { } }; +static final AuthorityFactoryProxy PARAMETRIC_CS = +new AuthorityFactoryProxy(ParametricCS.class, AuthorityFactoryIdentifier.CS) { +@Override ParametricCS create(GeodeticAuthorityFactory factory, String code) throws FactoryException { +return factory.createParametricCS(code); +} +@Override ParametricCS createFromAPI(AuthorityFactory factory, String code) throws FactoryException { +return csFactory(factory).createParametricCS(code); +} +}; + static final AuthorityFactoryProxy AXIS = new AuthorityFactoryProxy(CoordinateSystemAxis.class, AuthorityFactoryIdentifier.CS) { @Override CoordinateSystemAxis create(GeodeticAuthorityFactory factory, String code) throws FactoryException { @@ -487,6 +507,16 @@ abstract class AuthorityFactoryProxy { } }; +static final AuthorityFactoryProxy PARAMETRIC_CRS = +new AuthorityFactoryProxy(ParametricCRS.class, AuthorityFactoryIdentifier.CRS) { +@Override ParametricCRS create(GeodeticAuthorityFactory factory, String code) throws FactoryException { +return factory.createParametricCRS(code); +} +@Override ParametricCRS createFromAPI(AuthorityFactory factory, String code) throws FactoryException { +return crsFactory(factory).createParametricCRS(code); +} +}; + @SuppressWarnings("rawtypes") static final AuthorityFactoryProxy PARAMETER = new AuthorityFactoryProxy(ParameterDescriptor.class, AuthorityFactoryIdentifier.GEODETIC) { diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java index 3b9c0b38c6..d601928c9f 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/factory/ConcurrentAuthorityFactory.java @@ -1011,6 +1011,31 @@ public abstract class ConcurrentAuthorityFactory + * Return the cached instance for the given code if such instance already exists. + * Otherwise if the Data Access Object (DAO) overrides the {@code createParametricCRS(String)} + * method, invoke that method and cache the result for future use. + * Otherwise delegate to the {@link GeodeticAuthorityFactory#createParametricCRS(String)} + * method in the parent class. This allows to check if the more generic + *
[sis] branch geoapi-4.0 updated: Resolve a new Gradle warning which appears with Gradle 8.3. Edit the RExADME.md file.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git The following commit(s) were added to refs/heads/geoapi-4.0 by this push: new 1dc6f94da8 Resolve a new Gradle warning which appears with Gradle 8.3. Edit the RExADME.md file. 1dc6f94da8 is described below commit 1dc6f94da8238d991c257297d4918b24f250a082 Author: Martin Desruisseaux AuthorDate: Wed Sep 27 00:38:35 2023 +0200 Resolve a new Gradle warning which appears with Gradle 8.3. Edit the RExADME.md file. --- README.md | 24 +--- endorsed/build.gradle.kts | 34 +- incubator/build.gradle.kts | 6 +++--- optional/build.gradle.kts | 2 +- 4 files changed, 42 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 2289a852d7..e9919f5c0b 100644 --- a/README.md +++ b/README.md @@ -24,19 +24,37 @@ Apache SIS, SIS, Apache, the Apache feather logo, and the Apache SIS project logo are trademarks of The Apache Software Foundation. -## Getting Started +## Build from sources Running the library part of Apache SIS requires Java 11 or higher. Running the JavaFX application part requires Java 16 or higher. Building SIS requires Java 18 or higher -together with [Gradle](https://gradle.org/) build system. +together with [Gradle](https://gradle.org/) 8 build system. To build SIS, use the following command in this directory: gradle assemble +The JAR files will be located in the following directories, +together with their dependencies: + +* `endorsed/build/libs/` (core library) +* `optional/build/libs/` (requires JavaFX) +* `incubator/build/libs/` (not yet released) + +If JAR files seem missing, try `gradle jar`. +For publishing to the local `~/.m2` repository +(for example, for use with Maven projects): + +gradle publishToMavenLocal + + +## Getting Started + Information for running a [command-line tool](https://sis.apache.org/command-line.html) or an [optional JavaFX application](https://sis.apache.org/javafx.html) -can be found on the web site. +can be found on the web site. Java code examples for some common tasks +are given in the [How to…](https://sis.apache.org/howto.html) pages. +Complete API can be browsed in [online Javadoc](https://sis.apache.org/apidocs/index.html). ## License (see also LICENSE) diff --git a/endorsed/build.gradle.kts b/endorsed/build.gradle.kts index 82fe277188..3a545e2d08 100644 --- a/endorsed/build.gradle.kts +++ b/endorsed/build.gradle.kts @@ -236,7 +236,7 @@ publishing { create("util") { groupId= "org.apache.sis.core" artifactId = "sis-utility" -artifact(file("${buildDir}/libs/org.apache.sis.util.jar")) + artifact(layout.buildDirectory.file("libs/org.apache.sis.util.jar")) pom { name= "Apache SIS utilities" description = "Units of measurement and miscellaneous utility methods required by Apache SIS." @@ -245,7 +245,7 @@ publishing { create("metadata") { groupId= "org.apache.sis.core" artifactId = "sis-metadata" -artifact(file("${buildDir}/libs/org.apache.sis.metadata.jar")) + artifact(layout.buildDirectory.file("libs/org.apache.sis.metadata.jar")) pom { name= "Apache SIS metadata" description = "Implementations of metadata derived from ISO 19115. " + @@ -256,7 +256,7 @@ publishing { create("referencing") { groupId= "org.apache.sis.core" artifactId = "sis-referencing" -artifact(file("${buildDir}/libs/org.apache.sis.referencing.jar")) + artifact(layout.buildDirectory.file("libs/org.apache.sis.referencing.jar")) pom { name= "Apache SIS referencing" description = "Implementations of Coordinate Reference Systems (CRS), " + @@ -266,7 +266,7 @@ publishing { create("referencing.gazetteer") { groupId= "org.apache.sis.core" artifactId = "sis-referencing-by-identifiers" - artifact(file("${buildDir}/libs/org.apache.sis.referencing.gazetteer.jar")) + artifact(layout.buildDirectory.file("libs/org.apache.sis.referencing.gazetteer.jar")) pom { name= "Apache SIS referencing by geographic identifiers" description = "Implementations of Spatial Reference Systems using Geographic Identifiers " + @@ -276,7 +276,7 @@ publishing { creat
[sis] branch geoapi-4.0 updated: Use existing contants for TIFF tag types. Opportunistic documentation fixes.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git The following commit(s) were added to refs/heads/geoapi-4.0 by this push: new 03051e4384 Use existing contants for TIFF tag types. Opportunistic documentation fixes. 03051e4384 is described below commit 03051e4384704a77289dea59803e95260fd23d99 Author: Martin Desruisseaux AuthorDate: Tue Sep 26 14:32:47 2023 +0200 Use existing contants for TIFF tag types. Opportunistic documentation fixes. --- .../apache/sis/referencing/internal/Legacy.java| 6 +- .../apache/sis/storage/geotiff/GeoTiffStore.java | 2 +- .../main/org/apache/sis/storage/geotiff/Type.java | 25 +++--- 3 files changed, 15 insertions(+), 18 deletions(-) diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/Legacy.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/Legacy.java index bf950809d6..23b81df4f1 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/Legacy.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/Legacy.java @@ -23,7 +23,6 @@ import org.opengis.referencing.cs.AxisDirection; import org.opengis.referencing.cs.CartesianCS; import org.apache.sis.measure.Units; import org.apache.sis.referencing.CommonCRS; -import org.apache.sis.referencing.cs.AxisFilter; import org.apache.sis.referencing.cs.CoordinateSystems; import org.apache.sis.referencing.cs.DefaultCartesianCS; import org.apache.sis.referencing.cs.DefaultCoordinateSystemAxis; @@ -33,12 +32,9 @@ import static org.opengis.referencing.IdentifiedObject.NAME_KEY; /** - * Utilities related to version 1 of Well Known Text format. + * Utilities related to version 1 of Well Known Text format, or to ISO 19111:2007. * Defined in a separated classes for reducing classes loading when not necessary. * - * This class implements the {@link AxisFilter} interface for opportunistic reasons. - * Callers should ignore this implementation detail. - * * @author Martin Desruisseaux (Geomatys) * @version 0.8 * @since 0.4 diff --git a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTiffStore.java b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTiffStore.java index 192a7a4bf2..2bcb7c4a73 100644 --- a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTiffStore.java +++ b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/GeoTiffStore.java @@ -380,7 +380,7 @@ public class GeoTiffStore extends DataStore implements Aggregate { } /** - * Returns the reader if it is not closed, or thrown an exception otherwise. + * Returns the reader if it is not closed, or throws an exception otherwise. * * @see #close() */ diff --git a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/Type.java b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/Type.java index 95ae8022fd..e48129d0be 100644 --- a/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/Type.java +++ b/endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/Type.java @@ -20,6 +20,7 @@ import java.util.Arrays; import java.io.IOException; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; +import javax.imageio.plugins.tiff.TIFFTag; import org.apache.sis.io.stream.ChannelDataInput; import org.apache.sis.util.ArraysExt; import org.apache.sis.util.internal.Numerics; @@ -48,7 +49,7 @@ enum Type { * TIFF code: 7 * */ -UNDEFINED(7, Byte.BYTES, false) { +UNDEFINED(TIFFTag.TIFF_UNDEFINED, Byte.BYTES, false) { @Override public long readAsLong(final ChannelDataInput input, final long count) throws IOException { throw new UnsupportedOperationException(name()); } @@ -66,7 +67,7 @@ enum Type { * TIFF code: 6 * */ -BYTE(6, Byte.BYTES, false) { +BYTE(TIFFTag.TIFF_SBYTE, Byte.BYTES, false) { @Override public long readAsLong(final ChannelDataInput input, final long count) throws IOException { final long value = input.readByte(); for (long i=1; iTIFF code: 1 * */ -UBYTE(1, Byte.BYTES, true) { +UBYTE(TIFFTag.TIFF_BYTE, Byte.BYTES, true) { @Override public long readAsLong(final ChannelDataInput input, final long count) throws IOException { final long value = input.readUnsignedByte(); for (long i=1; iTIFF code: 8 * */ -SHORT(8, Short.BYTES, false) { +SHORT(TIFFTag.TIFF_SSHORT, Short.BYTES, false) { @Override public long readAsLong(final
[sis] 01/02: Combine `DataStoreFilter` with user-supplied filter.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit a8ca48dad6d0ca350c603091650d1600f9d1bc1d Author: Martin Desruisseaux AuthorDate: Tue Sep 26 10:22:19 2023 +0200 Combine `DataStoreFilter` with user-supplied filter. --- .../org/apache/sis/storage/DataStoreRegistry.java | 6 - .../apache/sis/storage/image/DataStoreFilter.java | 29 +- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStoreRegistry.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStoreRegistry.java index 91f0c46788..69ec2b1ee7 100644 --- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStoreRegistry.java +++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/DataStoreRegistry.java @@ -204,8 +204,12 @@ final class DataStoreRegistry extends LazySet { StorageConnector connector; // Will be reset to `null` if it shall not be closed. if (storage instanceof StorageConnector) { connector = (StorageConnector) storage; +final var p = connector.getOption(InternalOptionKey.PREFERRED_PROVIDERS); if (preferred == null) { -preferred = connector.getOption(InternalOptionKey.PREFERRED_PROVIDERS); +preferred = p; +} else { +preferred = preferred.and(p); +connector.setOption(InternalOptionKey.PREFERRED_PROVIDERS, preferred); } } else { connector = new StorageConnector(storage); diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/DataStoreFilter.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/DataStoreFilter.java index c2d9929e89..3f88702377 100644 --- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/DataStoreFilter.java +++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/DataStoreFilter.java @@ -49,6 +49,13 @@ public final class DataStoreFilter implements Predicate { */ private final boolean writer; +/** + * If there is another condition to apply, the other condition. Otherwise {@code null}. + * This is used for allowing {@code (foo instanceof DataStoreFilter)} to continue to work + * on the result of an {@code and} operation. + */ +private final Predicate other; + /** * Creates a new filter for the given data store name. * @@ -57,7 +64,17 @@ public final class DataStoreFilter implements Predicate { */ public DataStoreFilter(final String preferred, final boolean writer) { this.preferred = preferred; -this.writer = writer; +this.writer= writer; +this.other = null; +} + +/** + * Creates a new filter which is the result of a {@code AND} operation between the specified filters. + */ +private DataStoreFilter(final DataStoreFilter first, final Predicate other) { +this.preferred = first.preferred; +this.writer= first.writer; +this.other = other; } /** @@ -80,4 +97,14 @@ public final class DataStoreFilter implements Predicate { } return false; } + +/** + * Returns a filter which is the result of a AND operation between this filter and the other filter. + * The combined filter is still an instance of {@code DataStoreFilter}, so {@code instanceof} checks + * are still possible. + */ +@Override +public Predicate and(Predicate other) { +return new DataStoreFilter(this, other); +} }
[sis] 02/02: Avoid a direct dependencies of metadata `Extents` class toward referencing interfaces.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit aa810757115aaf211e7e2b0442752515894a5c90 Author: Martin Desruisseaux AuthorDate: Tue Sep 26 10:42:49 2023 +0200 Avoid a direct dependencies of metadata `Extents` class toward referencing interfaces. --- .../apache/sis/metadata/iso/extent/Extents.java| 57 +- .../main/org/apache/sis/referencing/CRS.java | 13 - 2 files changed, 34 insertions(+), 36 deletions(-) diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/Extents.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/Extents.java index f1c9cec939..6859de279e 100644 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/Extents.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/extent/Extents.java @@ -24,13 +24,16 @@ import java.util.Set; import java.util.LinkedHashSet; import java.util.Collection; import java.util.Collections; +import java.util.stream.Stream; import java.util.function.Function; import java.util.function.BiConsumer; +import java.util.Optional; import javax.measure.Unit; import org.opengis.geometry.Envelope; import org.opengis.geometry.DirectPosition; import org.opengis.geometry.Geometry; import org.opengis.temporal.TemporalPrimitive; +import org.opengis.geometry.MismatchedReferenceSystemException; import org.opengis.metadata.Metadata; import org.opengis.metadata.extent.Extent; import org.opengis.metadata.extent.VerticalExtent; @@ -48,6 +51,7 @@ import org.opengis.referencing.crs.CoordinateReferenceSystem; import org.opengis.referencing.datum.VerticalDatum; import org.opengis.referencing.datum.VerticalDatumType; import org.opengis.referencing.operation.TransformException; +import org.opengis.referencing.operation.CoordinateOperation; import org.apache.sis.metadata.InvalidMetadataException; import org.apache.sis.metadata.internal.ReferencingServices; import org.apache.sis.metadata.iso.ISOMetadata; @@ -67,12 +71,6 @@ import static org.apache.sis.util.collection.Containers.isNullOrEmpty; import static org.apache.sis.util.internal.CollectionsExt.nonNull; import static org.apache.sis.metadata.internal.ReferencingServices.AUTHALIC_RADIUS; -// Specific to the geoapi-3.1 and geoapi-4.0 branches: -import java.util.Optional; -import org.opengis.referencing.ObjectDomain; -import org.opengis.geometry.MismatchedReferenceSystemException; -import org.opengis.referencing.operation.CoordinateOperation; - /** * Convenience static methods for extracting information from {@link Extent} or {@link Metadata} objects. @@ -209,43 +207,34 @@ public final class Extents extends Static { } /** - * Returns a single geographic bounding box for the given domains of validity. - * For each domain, the bounding box is fetched with {@link #getGeographicBoundingBox(Extent)}. - * If more than one geographic domain of validity is found, this method computes their union. + * Returns a single geographic bounding box for the given extents. + * For each extent, the bounding box is fetched with {@link #getGeographicBoundingBox(Extent)}. + * If more than one geographic bound is found, this method computes their union. * - * This is a convenience method for fetching the domain of validity of {@link Datum}, - * {@link CoordinateReferenceSystem} or {@link CoordinateOperation} objects. + * This is a convenience method for fetching the domain of validity of + * {@link org.opengis.referencing.datum.Datum}, + * {@link org.opengis.referencing.crs.CoordinateReferenceSystem} or + * {@link org.opengis.referencing.operation.CoordinateOperation} objects. * - * @param domains the domains of validity for which to get a single geographic bounding box, or {@code null}. - * @return the union of all geographic bounding boxes found in all domains of validity. + * @param extents the extents for which to get a single geographic bounding box. + * @return the union of all geographic bounding boxes found in all extents. * @throws InvalidMetadataException if an envelope cannot be transformed to a geographic bounding box. * - * @see CoordinateReferenceSystem#getDomains() + * @see org.opengis.referencing.crs.CoordinateReferenceSystem#getDomains() * @see org.apache.sis.referencing.CRS#getDomainOfValidity(CoordinateReferenceSystem) * * @since 1.4 */ -public static Optional getGeographicBoundingBox(final Iterable domains) { -if (domains != null) { -Extents m = null; -for (final ObjectDomain domain : domains) { -final Extent extent = domain.getDomainOfValidity(); -if (extent != null) { -if (m
[sis] branch geoapi-4.0 updated (b03b235825 -> aa81075711)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git from b03b235825 Add a `DataStores.openWritable(…)` method. new a8ca48dad6 Combine `DataStoreFilter` with user-supplied filter. new aa81075711 Avoid a direct dependencies of metadata `Extents` class toward referencing interfaces. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../apache/sis/metadata/iso/extent/Extents.java| 57 +- .../main/org/apache/sis/referencing/CRS.java | 13 - .../org/apache/sis/storage/DataStoreRegistry.java | 6 ++- .../apache/sis/storage/image/DataStoreFilter.java | 29 ++- 4 files changed, 67 insertions(+), 38 deletions(-)
[sis] branch main updated (2d716eab6d -> 6eac04b166)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/sis.git from 2d716eab6d Remove references to the `org.apache.sis.cql` incubating module. This module is present on other branches but not on main because for avoiding the need to manage geoapi-pending dependencies. add dd3ddafcb2 Use deterministic dimension order for user-specified units. This commit fixes a random test failure where the order depended on which tests were executed first, because the dimension order of the first cached unit was the order used for other compatible units. add c92fa5ad66 Add JUnit 5 in test dependencies for progressive migration. Opportunistically upgrade `ArgumentChecks` to JUnit 5, after its change for testing negative zeros. add abafcba8a2 Skip the Ivy task if the "dependencies" directory is already present. add 350b496160 Partial upgrade to ISO 19111:2019: replace some (not yet all) usages of deprecated `getScope()` and `getDomainOfValidity()` methods by `getDomains()`. add 193b493363 Improve `DefaultObjectDomain` with the use of `NilObject` for telling when the value is missing. add ac061386c5 Minor formatting of table HTML for consistency with same change applied elsewhere. It makes the code a little bit easier to read by reducing the amount of scrolling. Contains also opportunistic javadoc typo fixes. add 1d735321d1 Rename `DefaultEllipsoid.getRadius(double)` as `getGeocentricRadius(double)`. add 7c107c57ee Move the check for perpendicular axes in the parent class. This is in anticipation for the addition of experimental coordinate systems such as `MinkowskiCS` in other branches. add 1448606ef8 Spelling and documentation fixes. add 200ed9511a Deprecate for removal `NullArgumentException`. add 6f65c2bacd Remove the boolean return value in WritableFeatureSet.removeIf(Predicate) add b03b235825 Add a `DataStores.openWritable(…)` method. add c2bcdb964f Merge branch 'geoapi-4.0' into geoapi-3.1. Contains the beginning of a migration to JUnit 5, the beginning of an ISO 19111 upgrade, documentation fixes and some deprecations in preparation for SIS 1.4 release proposal. new 6eac04b166 Merge branch 'geoapi-3.1'. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: endorsed/build.gradle.kts | 3 +- .../org.apache.sis.console/main/module-info.java | 2 + .../main/org/apache/sis/console/CommandRunner.java | 2 +- .../org/apache/sis/console/TransformCommand.java | 19 +- .../sis/coverage/grid/GridCoverageBuilder.java | 2 +- .../apache/sis/coverage/grid/ImageRenderer.java| 7 +- .../apache/sis/feature/builder/TypeBuilder.java| 4 +- .../apache/sis/geometry/wrapper/Geometries.java| 2 +- .../apache/sis/image/BandedSampleConverter.java| 12 +- .../main/org/apache/sis/image/ComputedImage.java | 2 +- .../test/org/apache/sis/filter/PeriodLiteral.java | 2 +- .../org.apache.sis.metadata/main/module-info.java | 2 +- .../metadata/internal/ImplementationHelper.java| 25 +- .../iso/DefaultApplicationSchemaInformation.java | 2 +- .../apache/sis/metadata/iso/DefaultIdentifier.java | 2 +- .../apache/sis/metadata/iso/extent/Extents.java| 38 ++- .../metadata/simple/SimpleIdentifiedObject.java| 6 + .../org/apache/sis/xml/TransformingWriter.java | 2 +- .../main/org/apache/sis/xml/XML.java | 6 +- .../sis/metadata/iso/citation/CitationsTest.java | 2 +- .../metadata/iso/citation/DefaultCitationTest.java | 2 +- .../org/apache/sis/metadata/xml/TestUsingFile.java | 2 +- .../sis/test/xml/AnnotationConsistencyCheck.java | 2 +- .../apache/sis/util/iso/DefaultLocalNameTest.java | 2 +- .../main/module-info.java | 3 +- .../main/org/apache/sis/openoffice/CalcAddins.java | 2 +- .../sis/openoffice/ReferencingFunctions.java | 40 +-- .../org/apache/sis/portrayal/CanvasFollower.java | 3 +- .../main/org/apache/sis/style/se1/Graphic.java | 2 +- .../org/apache/sis/style/se1/PointPlacement.java | 2 +- .../gazetteer/GeohashReferenceSystem.java | 8 +- .../gazetteer/MilitaryGridReferenceSystem.java | 6 +- .../main/module-info.java | 4 + .../main/org/apache/sis/geometry/Envelopes.java| 2 +- .../main/org/apache/sis/geometry/Shapes2D.java | 2 +- .../main/org/apache/sis/io/wkt/Formatter.java | 66 +++-- .../apache/sis/io/wkt/GeodeticObjectParser.java| 2 +- .../sis/referencing/AbstractIdentifiedObject.java | 242 ++ .../sis/referencing/Abstra
[sis] 01/01: Merge branch 'geoapi-4.0' into geoapi-3.1. Contains the beginning of a migration to JUnit 5, the beginning of an ISO 19111 upgrade, documentation fixes and some deprecations in preparatio
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-3.1 in repository https://gitbox.apache.org/repos/asf/sis.git commit c2bcdb964f0ef8343b5df422e2ac03acb612a3c5 Merge: 4b753152a6 b03b235825 Author: Martin Desruisseaux AuthorDate: Mon Sep 25 18:15:54 2023 +0200 Merge branch 'geoapi-4.0' into geoapi-3.1. Contains the beginning of a migration to JUnit 5, the beginning of an ISO 19111 upgrade, documentation fixes and some deprecations in preparation for SIS 1.4 release proposal. endorsed/build.gradle.kts | 3 +- .../org.apache.sis.console/main/module-info.java | 2 + .../main/org/apache/sis/console/CommandRunner.java | 2 +- .../org/apache/sis/console/TransformCommand.java | 17 +- .../sis/coverage/grid/GridCoverageBuilder.java | 2 +- .../apache/sis/coverage/grid/ImageRenderer.java| 7 +- .../apache/sis/feature/builder/TypeBuilder.java| 4 +- .../apache/sis/geometry/wrapper/Geometries.java| 2 +- .../apache/sis/image/BandedSampleConverter.java| 12 +- .../main/org/apache/sis/image/ComputedImage.java | 2 +- .../test/org/apache/sis/filter/PeriodLiteral.java | 2 +- .../org.apache.sis.metadata/main/module-info.java | 2 +- .../metadata/internal/ImplementationHelper.java| 25 +- .../iso/DefaultApplicationSchemaInformation.java | 2 +- .../apache/sis/metadata/iso/DefaultIdentifier.java | 2 +- .../apache/sis/metadata/iso/extent/Extents.java| 47 +++- .../metadata/simple/SimpleIdentifiedObject.java| 6 + .../org/apache/sis/xml/TransformingWriter.java | 2 +- .../main/org/apache/sis/xml/XML.java | 6 +- .../metadata/replace/ReferenceSystemMetadata.java | 3 +- .../sis/metadata/iso/citation/CitationsTest.java | 2 +- .../metadata/iso/citation/DefaultCitationTest.java | 2 +- .../org/apache/sis/metadata/xml/TestUsingFile.java | 2 +- .../sis/test/xml/AnnotationConsistencyCheck.java | 2 +- .../apache/sis/util/iso/DefaultLocalNameTest.java | 2 +- .../main/module-info.java | 3 +- .../main/org/apache/sis/openoffice/CalcAddins.java | 2 +- .../sis/openoffice/ReferencingFunctions.java | 37 +-- .../org/apache/sis/portrayal/CanvasFollower.java | 3 +- .../main/org/apache/sis/style/se1/Graphic.java | 2 +- .../org/apache/sis/style/se1/PointPlacement.java | 2 +- .../gazetteer/GeohashReferenceSystem.java | 8 +- .../gazetteer/MilitaryGridReferenceSystem.java | 6 +- .../main/org/apache/sis/geometry/Envelopes.java| 2 +- .../main/org/apache/sis/geometry/Shapes2D.java | 2 +- .../main/org/apache/sis/io/wkt/Formatter.java | 65 +++-- .../apache/sis/io/wkt/GeodeticObjectParser.java| 2 +- .../sis/referencing/AbstractIdentifiedObject.java | 238 + .../sis/referencing/AbstractReferenceSystem.java | 183 + .../main/org/apache/sis/referencing/CRS.java | 44 +-- .../main/org/apache/sis/referencing/CommonCRS.java | 2 +- .../sis/referencing/DefaultObjectDomain.java | 297 + .../apache/sis/referencing/IdentifiedObjects.java | 13 +- .../org/apache/sis/referencing/NameIterator.java | 32 ++- .../org/apache/sis/referencing/Properties.java | 89 +++--- .../apache/sis/referencing/crs/AbstractCRS.java| 31 +-- .../sis/referencing/crs/DefaultCompoundCRS.java| 26 +- .../sis/referencing/crs/DefaultDerivedCRS.java | 41 +-- .../sis/referencing/crs/DefaultEngineeringCRS.java | 26 +- .../sis/referencing/crs/DefaultGeocentricCRS.java | 26 +- .../sis/referencing/crs/DefaultGeographicCRS.java | 26 +- .../sis/referencing/crs/DefaultImageCRS.java | 26 +- .../sis/referencing/crs/DefaultParametricCRS.java | 26 +- .../sis/referencing/crs/DefaultProjectedCRS.java | 26 +- .../sis/referencing/crs/DefaultTemporalCRS.java| 26 +- .../sis/referencing/crs/DefaultVerticalCRS.java| 26 +- .../org/apache/sis/referencing/cs/AbstractCS.java | 86 +++--- .../apache/sis/referencing/cs/AxesConvention.java | 12 +- .../sis/referencing/cs/CoordinateSystems.java | 3 +- .../apache/sis/referencing/cs/DefaultAffineCS.java | 12 +- .../sis/referencing/cs/DefaultCartesianCS.java | 38 +-- .../sis/referencing/cs/DefaultCompoundCS.java | 12 +- .../cs/DefaultCoordinateSystemAxis.java| 24 +- .../sis/referencing/cs/DefaultCylindricalCS.java | 12 +- .../sis/referencing/cs/DefaultEllipsoidalCS.java | 12 +- .../apache/sis/referencing/cs/DefaultLinearCS.java | 12 +- .../sis/referencing/cs/DefaultParametricCS.java| 12 +- .../apache/sis/referencing/cs/DefaultPolarCS.java | 12 +- .../sis/referencing/cs/DefaultSphericalCS.java | 12 +- .../apache/sis/referencing/cs/DefaultTimeCS.java | 12 +- .../sis/referencing/cs/DefaultUserDefinedCS.java | 12 +- .../sis/referencing/cs
[sis] branch geoapi-3.1 updated (4b753152a6 -> c2bcdb964f)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-3.1 in repository https://gitbox.apache.org/repos/asf/sis.git from 4b753152a6 Merge branch 'geoapi-4.0' into geoapi-3.1 add dd3ddafcb2 Use deterministic dimension order for user-specified units. This commit fixes a random test failure where the order depended on which tests were executed first, because the dimension order of the first cached unit was the order used for other compatible units. add c92fa5ad66 Add JUnit 5 in test dependencies for progressive migration. Opportunistically upgrade `ArgumentChecks` to JUnit 5, after its change for testing negative zeros. add abafcba8a2 Skip the Ivy task if the "dependencies" directory is already present. add 350b496160 Partial upgrade to ISO 19111:2019: replace some (not yet all) usages of deprecated `getScope()` and `getDomainOfValidity()` methods by `getDomains()`. add 193b493363 Improve `DefaultObjectDomain` with the use of `NilObject` for telling when the value is missing. add ac061386c5 Minor formatting of table HTML for consistency with same change applied elsewhere. It makes the code a little bit easier to read by reducing the amount of scrolling. Contains also opportunistic javadoc typo fixes. add 1d735321d1 Rename `DefaultEllipsoid.getRadius(double)` as `getGeocentricRadius(double)`. add 7c107c57ee Move the check for perpendicular axes in the parent class. This is in anticipation for the addition of experimental coordinate systems such as `MinkowskiCS` in other branches. add 1448606ef8 Spelling and documentation fixes. add 200ed9511a Deprecate for removal `NullArgumentException`. add 6f65c2bacd Remove the boolean return value in WritableFeatureSet.removeIf(Predicate) add b03b235825 Add a `DataStores.openWritable(…)` method. new c2bcdb964f Merge branch 'geoapi-4.0' into geoapi-3.1. Contains the beginning of a migration to JUnit 5, the beginning of an ISO 19111 upgrade, documentation fixes and some deprecations in preparation for SIS 1.4 release proposal. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: endorsed/build.gradle.kts | 3 +- .../org.apache.sis.console/main/module-info.java | 2 + .../main/org/apache/sis/console/CommandRunner.java | 2 +- .../org/apache/sis/console/TransformCommand.java | 17 +- .../sis/coverage/grid/GridCoverageBuilder.java | 2 +- .../apache/sis/coverage/grid/ImageRenderer.java| 7 +- .../apache/sis/feature/builder/TypeBuilder.java| 4 +- .../apache/sis/geometry/wrapper/Geometries.java| 2 +- .../apache/sis/image/BandedSampleConverter.java| 12 +- .../main/org/apache/sis/image/ComputedImage.java | 2 +- .../test/org/apache/sis/filter/PeriodLiteral.java | 2 +- .../org.apache.sis.metadata/main/module-info.java | 2 +- .../metadata/internal/ImplementationHelper.java| 25 +- .../iso/DefaultApplicationSchemaInformation.java | 2 +- .../apache/sis/metadata/iso/DefaultIdentifier.java | 2 +- .../apache/sis/metadata/iso/extent/Extents.java| 47 +++- .../metadata/simple/SimpleIdentifiedObject.java| 6 + .../org/apache/sis/xml/TransformingWriter.java | 2 +- .../main/org/apache/sis/xml/XML.java | 6 +- .../metadata/replace/ReferenceSystemMetadata.java | 3 +- .../sis/metadata/iso/citation/CitationsTest.java | 2 +- .../metadata/iso/citation/DefaultCitationTest.java | 2 +- .../org/apache/sis/metadata/xml/TestUsingFile.java | 2 +- .../sis/test/xml/AnnotationConsistencyCheck.java | 2 +- .../apache/sis/util/iso/DefaultLocalNameTest.java | 2 +- .../main/module-info.java | 3 +- .../main/org/apache/sis/openoffice/CalcAddins.java | 2 +- .../sis/openoffice/ReferencingFunctions.java | 37 +-- .../org/apache/sis/portrayal/CanvasFollower.java | 3 +- .../main/org/apache/sis/style/se1/Graphic.java | 2 +- .../org/apache/sis/style/se1/PointPlacement.java | 2 +- .../gazetteer/GeohashReferenceSystem.java | 8 +- .../gazetteer/MilitaryGridReferenceSystem.java | 6 +- .../main/org/apache/sis/geometry/Envelopes.java| 2 +- .../main/org/apache/sis/geometry/Shapes2D.java | 2 +- .../main/org/apache/sis/io/wkt/Formatter.java | 65 +++-- .../apache/sis/io/wkt/GeodeticObjectParser.java| 2 +- .../sis/referencing/AbstractIdentifiedObject.java | 238 + .../sis/referencing/AbstractReferenceSystem.java | 183 + .../main/org/apache/sis/referencing/CRS.java | 44 +-- .../main/org/apache/sis/referencing/CommonCRS.java | 2 +- .../sis/referencing/Defaul
[sis] branch geoapi-4.0 updated: Add a `DataStores.openWritable(…)` method.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git The following commit(s) were added to refs/heads/geoapi-4.0 by this push: new b03b235825 Add a `DataStores.openWritable(…)` method. b03b235825 is described below commit b03b2358250885ea88fd64cb451c2543b619e01d Author: Martin Desruisseaux AuthorDate: Mon Sep 25 17:45:10 2023 +0200 Add a `DataStores.openWritable(…)` method. https://issues.apache.org/jira/browse/SIS-571 --- .../org/apache/sis/io/stream/ChannelFactory.java | 22 ++- .../main/org/apache/sis/io/stream/IOUtilities.java | 18 +++ .../apache/sis/io/stream/InternalOptionKey.java| 12 +- .../org/apache/sis/storage/DataStoreProvider.java | 15 +- .../org/apache/sis/storage/DataStoreRegistry.java | 152 +++-- .../main/org/apache/sis/storage/DataStores.java| 49 ++- .../org/apache/sis/storage/ProbeProviderPair.java | 37 - .../main/org/apache/sis/storage/ProbeResult.java | 2 +- .../org/apache/sis/storage/StorageConnector.java | 96 - .../apache/sis/storage/base/StoreUtilities.java| 10 +- .../apache/sis/storage/image/DataStoreFilter.java | 83 +++ .../org/apache/sis/storage/image/FormatFilter.java | 14 +- .../org/apache/sis/storage/image/FormatFinder.java | 34 +++-- .../sis/storage/image/WorldFileStoreProvider.java | 4 +- .../storage/image/WritableSingleImageStore.java| 4 +- .../apache/sis/storage/image/WritableStore.java| 6 +- .../apache/sis/gui/internal/io/FileAccessView.java | 12 +- 17 files changed, 476 insertions(+), 94 deletions(-) diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelFactory.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelFactory.java index 567d862b9d..4153019de3 100644 --- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelFactory.java +++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelFactory.java @@ -133,6 +133,8 @@ public abstract class ChannelFactory { * @param options the options to use for creating a new byte channel. Can be null or empty for read-only. * @return the channel factory for the given input, or {@code null} if the given input is of unknown type. * @throws IOException if an error occurred while processing the given input. + * + * @see IOUtilities#isWriteOnly(Object) */ public static ChannelFactory prepare(Object storage, final boolean allowWriteOnly, final String encoding, final OpenOption[] options) throws IOException @@ -286,6 +288,11 @@ public abstract class ChannelFactory { @Override public WritableByteChannel writable(String filename, StoreListeners listeners) throws IOException { return Files.newByteChannel(path, optionSet); } +@Override public boolean isCreateNew() { +if (optionSet.contains(StandardOpenOption.CREATE_NEW)) return true; +if (optionSet.contains(StandardOpenOption.CREATE)) return Files.notExists(path); +return false; +} }; } } @@ -311,10 +318,21 @@ public abstract class ChannelFactory { * * @return whether {@link #readable readable(…)} or {@link #writable writable(…)} can be invoked. */ -public boolean canOpen() { +public boolean canReopen() { return true; } +/** + * Returns {@code true} if opening the channel will create a new, initially empty, file. + * This is {@code true} only if the storage is some supported kind of file or URL and + * this factory has been created with an option that allows file creation. + * + * @return whether opening a channel will create a new file. + */ +public boolean isCreateNew() { +return false; +} + /** * Returns the readable channel as an input stream. The returned stream is not buffered; * it is caller's responsibility to wrap the stream in a {@link java.io.BufferedInputStream} if desired. @@ -418,7 +436,7 @@ public abstract class ChannelFactory { * Returns whether {@link #readable readable(…)} or {@link #writable writable(…)} can be invoked. */ @Override -public boolean canOpen() { +public boolean canReopen() { return storage != null; } diff --git a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/IOUtilities.java b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/IOUtilities.java index d47ad79c7c..7db901775e 100644 --- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/IOUtilities.java +++ b/endorsed/src/org.apache.sis.storage
[sis] 03/03: Remove the boolean return value in WritableFeatureSet.removeIf(Predicate)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 6f65c2bacd120b81235735611fb0480383e9670e Author: Martin Desruisseaux AuthorDate: Sat Sep 23 14:00:05 2023 +0200 Remove the boolean return value in WritableFeatureSet.removeIf(Predicate) https://issues.apache.org/jira/browse/SIS-560 --- .../org/apache/sis/storage/gpx/WritableStore.java | 7 --- .../sis/storage/xml/stream/RewriteOnUpdate.java| 22 +- .../org/apache/sis/storage/gpx/UpdaterTest.java| 4 +--- .../org/apache/sis/storage/WritableFeatureSet.java | 14 ++ 4 files changed, 12 insertions(+), 35 deletions(-) diff --git a/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/WritableStore.java b/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/WritableStore.java index a04fc2742e..2fd3599554 100644 --- a/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/WritableStore.java +++ b/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/WritableStore.java @@ -40,7 +40,7 @@ import org.opengis.feature.FeatureType; * * @author Johann Sorel (Geomatys) * @author Martin Desruisseaux (Geomatys) - * @version 1.3 + * @version 1.4 * @since 1.3 */ public final class WritableStore extends Store implements WritableFeatureSet { @@ -95,9 +95,10 @@ public final class WritableStore extends Store implements WritableFeatureSet { * @throws DataStoreException if the feature stream cannot be obtained or updated. */ @Override -public synchronized boolean removeIf(final Predicate filter) throws DataStoreException { +public synchronized void removeIf(final Predicate filter) throws DataStoreException { try (Updater updater = updater()) { -return updater.removeIf(filter); +updater.removeIf(filter); +updater.flush(); } } diff --git a/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/RewriteOnUpdate.java b/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/RewriteOnUpdate.java index cf1e77ac84..60ba5e50a4 100644 --- a/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/RewriteOnUpdate.java +++ b/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/RewriteOnUpdate.java @@ -161,29 +161,17 @@ public abstract class RewriteOnUpdate implements AutoCloseable { * Removes all feature instances from the {@code FeatureSet} which matches the given predicate. * * @param filter a predicate which returns {@code true} for feature instances to be removed. - * @return {@code true} if any elements were removed. * @throws DataStoreException if the feature stream cannot be obtained or updated. */ -public boolean removeIf(final Predicate filter) throws DataStoreException { +public void removeIf(final Predicate filter) throws DataStoreException { ArgumentChecks.ensureNonNull("filter", filter); -if (isEmpty()) { -return false; +if (!isEmpty()) { +filtered = filtered().filter((feature) -> { +return !filter.test(feature); +}); } -filtered = filtered().filter((feature) -> { -boolean r = filter.test(feature); -if (r) modified = true; -return !r; -}); -modified = false; -flush();// Need immediate execution for getting the boolean value. -return modified; } -/** - * A flag telling whether {@link #removeIf(Predicate)} removed at least one feature. - */ -private boolean modified; - /** * Updates all feature instances from the {@code FeatureSet} which match the given predicate. * If the given operator returns {@code null}, then the filtered feature is removed. diff --git a/endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/storage/gpx/UpdaterTest.java b/endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/storage/gpx/UpdaterTest.java index 7d7f9c4ff1..d15c85c75a 100644 --- a/endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/storage/gpx/UpdaterTest.java +++ b/endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/storage/gpx/UpdaterTest.java @@ -165,14 +165,12 @@ public final class UpdaterTest extends TestCase { Files.copy(in, file, StandardCopyOption.REPLACE_EXISTING); } assertTrue(containsLat20()); -final boolean result; try (final WritableStore store = create()) { -result = store.removeIf((feature) -> { +store.removeIf((feature) -> { Object point = feature.getPropertyValue("sis:geometry");
[sis] 02/03: Deprecate for removal `NullArgumentException`.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 200ed9511a0c569d4c55282bcdb58f4fe314b2be Author: Martin Desruisseaux AuthorDate: Sat Sep 23 13:36:15 2023 +0200 Deprecate for removal `NullArgumentException`. https://issues.apache.org/jira/browse/SIS-562 --- .../sis/coverage/grid/GridCoverageBuilder.java | 2 +- .../apache/sis/coverage/grid/ImageRenderer.java| 7 +- .../apache/sis/feature/builder/TypeBuilder.java| 4 +- .../org/apache/sis/portrayal/CanvasFollower.java | 3 +- .../sis/referencing/cs/CoordinateSystems.java | 3 +- .../apache/sis/storage/landsat/LandsatStore.java | 2 +- .../apache/sis/storage/geotiff/GeoTiffStore.java | 2 +- .../org/apache/sis/storage/netcdf/NetcdfStore.java | 2 +- .../org/apache/sis/storage/netcdf/base/Grid.java | 3 +- .../main/org/apache/sis/storage/sql/SQLStore.java | 2 +- .../main/org/apache/sis/util/ArraysExt.java| 172 - .../main/org/apache/sis/util/CharSequences.java| 4 +- .../org/apache/sis/util/NullArgumentException.java | 8 + .../main/org/apache/sis/util/StringBuilders.java | 10 +- .../apache/sis/util/collection/WeakHashSet.java| 5 +- .../sis/util/collection/WeakValueHashMap.java | 8 +- 16 files changed, 95 insertions(+), 142 deletions(-) diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverageBuilder.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverageBuilder.java index 86c2ec2574..d02a7a0130 100644 --- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverageBuilder.java +++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/GridCoverageBuilder.java @@ -442,7 +442,7 @@ public class GridCoverageBuilder { * {@linkplain GridGeometry#getExtent() grid extent} not matching image size or * {@linkplain #setRanges(SampleDimension...) number of sample dimensions} not matching * the number of bands. This exception often wraps an {@link IllegalGridGeometryException}, - * {@link IllegalArgumentException} or {@link org.apache.sis.util.NullArgumentException}. + * {@link IllegalArgumentException} or {@link NullPointerException}. */ public GridCoverage build() throws IllegalStateException { GridGeometry grid = domain; // May be replaced by an instance with extent. diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ImageRenderer.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ImageRenderer.java index bdda955ad8..dc419b87d4 100644 --- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ImageRenderer.java +++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/ImageRenderer.java @@ -47,7 +47,6 @@ import org.apache.sis.coverage.grid.j2d.ObservableImage; import org.apache.sis.coverage.grid.j2d.TiledImage; import org.apache.sis.coverage.grid.j2d.WritableTiledImage; import org.apache.sis.feature.internal.Resources; -import org.apache.sis.util.NullArgumentException; import org.apache.sis.util.ArgumentChecks; import org.apache.sis.util.ComparisonMode; import org.apache.sis.util.ArraysExt; @@ -538,7 +537,7 @@ public class ImageRenderer { * getExtent()}.{@linkplain GridExtent#getLow(int) getLow()}, as specified in class javadoc. * * @param data the Java2D buffer containing data for all bands. - * @throws NullArgumentException if {@code data} is null. + * @throws NullPointerException if {@code data} is null. * @throws MismatchedCoverageRangeException if the given data buffer does not have the expected amount of banks. */ public void setData(final DataBuffer data) { @@ -563,7 +562,7 @@ public class ImageRenderer { * * @param dataType type of data. * @param data the buffers wrapping arrays of primitive type. - * @throws NullArgumentException if {@code data} is null or one of {@code data} element is null. + * @throws NullPointerException if {@code data} is null or one of {@code data} element is null. * @throws MismatchedCoverageRangeException if the number of specified buffers is not equal to the number of bands. * @throws UnsupportedOperationException if a buffer is not backed by an accessible array or is read-only. * @throws ArrayStoreException if a buffer type is incompatible with {@code dataType}. @@ -589,7 +588,7 @@ public class ImageRenderer { * which can be overridden by subclasses if desired. * * @param data the vectors wrapping arrays of primitive type. - * @throws NullArgumentException if {@code data} is null or one of {@code data} element is null
[sis] 01/03: Spelling and documentation fixes.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 1448606ef86a0495409b474d8f14a0d9f5703b43 Author: Martin Desruisseaux AuthorDate: Sat Sep 16 20:50:16 2023 +0200 Spelling and documentation fixes. --- .../main/org/apache/sis/console/CommandRunner.java | 2 +- .../main/org/apache/sis/geometry/wrapper/Geometries.java | 2 +- .../main/org/apache/sis/image/BandedSampleConverter.java | 12 ++-- .../main/org/apache/sis/image/ComputedImage.java | 2 +- .../metadata/iso/DefaultApplicationSchemaInformation.java| 2 +- .../main/org/apache/sis/metadata/iso/DefaultIdentifier.java | 2 +- .../main/org/apache/sis/xml/TransformingWriter.java | 2 +- .../org.apache.sis.metadata/main/org/apache/sis/xml/XML.java | 6 +++--- .../org/apache/sis/metadata/iso/citation/CitationsTest.java | 2 +- .../sis/metadata/iso/citation/DefaultCitationTest.java | 2 +- .../test/org/apache/sis/metadata/xml/TestUsingFile.java | 2 +- .../org/apache/sis/test/xml/AnnotationConsistencyCheck.java | 2 +- .../main/org/apache/sis/style/se1/Graphic.java | 2 +- .../main/org/apache/sis/style/se1/PointPlacement.java| 2 +- .../referencing/gazetteer/MilitaryGridReferenceSystem.java | 2 +- .../main/org/apache/sis/geometry/Envelopes.java | 2 +- .../main/org/apache/sis/geometry/Shapes2D.java | 2 +- .../main/org/apache/sis/io/wkt/Formatter.java| 2 +- .../main/org/apache/sis/io/wkt/GeodeticObjectParser.java | 2 +- .../main/org/apache/sis/referencing/CommonCRS.java | 2 +- .../referencing/operation/CoordinateOperationRegistry.java | 2 +- .../operation/builder/LocalizationGridBuilder.java | 4 ++-- .../org/apache/sis/referencing/operation/provider/NTv2.java | 6 +++--- .../main/org/apache/sis/referencing/util/j2d/Bezier.java | 4 ++-- .../test/org/apache/sis/io/wkt/WKTFormatTest.java| 2 +- .../referencing/operation/CoordinateOperationFinderTest.java | 2 +- .../referencing/operation/provider/MapProjectionTest.java| 2 +- .../main/org/apache/sis/storage/geotiff/GeoTIFF.java | 2 +- .../main/org/apache/sis/storage/geotiff/NativeMetadata.java | 2 +- .../main/org/apache/sis/storage/geotiff/Reader.java | 4 ++-- .../org/apache/sis/storage/geotiff/internal/Compression.java | 2 +- .../org/apache/sis/storage/geotiff/SelfConsistencyTest.java | 2 +- .../org/apache/sis/storage/netcdf/base/FeatureSetTest.java | 2 +- .../org/apache/sis/storage/sql/postgis/ObjectGetter.java | 2 +- .../main/org/apache/sis/io/stream/ChannelDataOutput.java | 2 +- .../org/apache/sis/storage/DataStoreContentException.java| 2 +- .../main/org/apache/sis/storage/base/CodeType.java | 4 ++-- .../main/org/apache/sis/storage/base/MetadataBuilder.java| 2 +- .../main/org/apache/sis/storage/base/TiledGridResource.java | 2 +- .../org/apache/sis/storage/csv/MovingFeatureBuilder.java | 4 ++-- .../main/org/apache/sis/storage/image/WorldFileResource.java | 2 +- .../apache/sis/storage/internal/WritableResourceSupport.java | 2 +- .../main/org/apache/sis/measure/Units.java | 2 +- .../main/org/apache/sis/util/collection/TreeNodeList.java| 2 +- .../test/org/apache/sis/test/TestRunner.java | 2 +- .../org/apache/sis/gui/coverage/StyledRenderingData.java | 2 +- 46 files changed, 60 insertions(+), 60 deletions(-) diff --git a/endorsed/src/org.apache.sis.console/main/org/apache/sis/console/CommandRunner.java b/endorsed/src/org.apache.sis.console/main/org/apache/sis/console/CommandRunner.java index d4423df9ad..22e812b063 100644 --- a/endorsed/src/org.apache.sis.console/main/org/apache/sis/console/CommandRunner.java +++ b/endorsed/src/org.apache.sis.console/main/org/apache/sis/console/CommandRunner.java @@ -331,7 +331,7 @@ abstract class CommandRunner { /** * Shows the help instructions for a specific command. This method is invoked instead of {@link #run()} - * if the the user provided the {@code --help} option. The default implementation builds a description + * if the user provided the {@code --help} option. The default implementation builds a description * from the texts associated to the given {@code resourceKey} in various resource bundles provided in * this {@code org.apache.sis.console} module. Subclasses can override if needed. * diff --git a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/Geometries.java b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/Geometries.java index 0335f9a5b9..08cf842bad 100644 --- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/Geometries.java +++ b/endorsed/src
[sis] branch geoapi-4.0 updated (7c107c57ee -> 6f65c2bacd)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git from 7c107c57ee Move the check for perpendicular axes in the parent class. This is in anticipation for the addition of experimental coordinate systems such as `MinkowskiCS` in other branches. new 1448606ef8 Spelling and documentation fixes. new 200ed9511a Deprecate for removal `NullArgumentException`. new 6f65c2bacd Remove the boolean return value in WritableFeatureSet.removeIf(Predicate) The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../main/org/apache/sis/console/CommandRunner.java | 2 +- .../sis/coverage/grid/GridCoverageBuilder.java | 2 +- .../apache/sis/coverage/grid/ImageRenderer.java| 7 +- .../apache/sis/feature/builder/TypeBuilder.java| 4 +- .../apache/sis/geometry/wrapper/Geometries.java| 2 +- .../apache/sis/image/BandedSampleConverter.java| 12 +- .../main/org/apache/sis/image/ComputedImage.java | 2 +- .../iso/DefaultApplicationSchemaInformation.java | 2 +- .../apache/sis/metadata/iso/DefaultIdentifier.java | 2 +- .../org/apache/sis/xml/TransformingWriter.java | 2 +- .../main/org/apache/sis/xml/XML.java | 6 +- .../sis/metadata/iso/citation/CitationsTest.java | 2 +- .../metadata/iso/citation/DefaultCitationTest.java | 2 +- .../org/apache/sis/metadata/xml/TestUsingFile.java | 2 +- .../sis/test/xml/AnnotationConsistencyCheck.java | 2 +- .../org/apache/sis/portrayal/CanvasFollower.java | 3 +- .../main/org/apache/sis/style/se1/Graphic.java | 2 +- .../org/apache/sis/style/se1/PointPlacement.java | 2 +- .../gazetteer/MilitaryGridReferenceSystem.java | 2 +- .../main/org/apache/sis/geometry/Envelopes.java| 2 +- .../main/org/apache/sis/geometry/Shapes2D.java | 2 +- .../main/org/apache/sis/io/wkt/Formatter.java | 2 +- .../apache/sis/io/wkt/GeodeticObjectParser.java| 2 +- .../main/org/apache/sis/referencing/CommonCRS.java | 2 +- .../sis/referencing/cs/CoordinateSystems.java | 3 +- .../operation/CoordinateOperationRegistry.java | 2 +- .../operation/builder/LocalizationGridBuilder.java | 4 +- .../sis/referencing/operation/provider/NTv2.java | 6 +- .../apache/sis/referencing/util/j2d/Bezier.java| 4 +- .../test/org/apache/sis/io/wkt/WKTFormatTest.java | 2 +- .../operation/CoordinateOperationFinderTest.java | 2 +- .../operation/provider/MapProjectionTest.java | 2 +- .../apache/sis/storage/landsat/LandsatStore.java | 2 +- .../org/apache/sis/storage/geotiff/GeoTIFF.java| 2 +- .../apache/sis/storage/geotiff/GeoTiffStore.java | 2 +- .../apache/sis/storage/geotiff/NativeMetadata.java | 2 +- .../org/apache/sis/storage/geotiff/Reader.java | 4 +- .../sis/storage/geotiff/internal/Compression.java | 2 +- .../sis/storage/geotiff/SelfConsistencyTest.java | 2 +- .../org/apache/sis/storage/netcdf/NetcdfStore.java | 2 +- .../org/apache/sis/storage/netcdf/base/Grid.java | 3 +- .../sis/storage/netcdf/base/FeatureSetTest.java| 2 +- .../main/org/apache/sis/storage/sql/SQLStore.java | 2 +- .../sis/storage/sql/postgis/ObjectGetter.java | 2 +- .../org/apache/sis/storage/gpx/WritableStore.java | 7 +- .../sis/storage/xml/stream/RewriteOnUpdate.java| 22 +-- .../org/apache/sis/storage/gpx/UpdaterTest.java| 4 +- .../apache/sis/io/stream/ChannelDataOutput.java| 2 +- .../sis/storage/DataStoreContentException.java | 2 +- .../org/apache/sis/storage/WritableFeatureSet.java | 14 +- .../main/org/apache/sis/storage/base/CodeType.java | 4 +- .../apache/sis/storage/base/MetadataBuilder.java | 2 +- .../apache/sis/storage/base/TiledGridResource.java | 2 +- .../sis/storage/csv/MovingFeatureBuilder.java | 4 +- .../sis/storage/image/WorldFileResource.java | 2 +- .../storage/internal/WritableResourceSupport.java | 2 +- .../main/org/apache/sis/measure/Units.java | 2 +- .../main/org/apache/sis/util/ArraysExt.java| 172 - .../main/org/apache/sis/util/CharSequences.java| 4 +- .../org/apache/sis/util/NullArgumentException.java | 8 + .../main/org/apache/sis/util/StringBuilders.java | 10 +- .../apache/sis/util/collection/TreeNodeList.java | 2 +- .../apache/sis/util/collection/WeakHashSet.java| 5 +- .../sis/util/collection/WeakValueHashMap.java | 8 +- .../test/org/apache/sis/test/TestRunner.java | 2 +- .../sis/gui/coverage/StyledRenderingData.java | 2 +- 66 files changed, 167 insertions(+), 237 deletions(-)
[sis] branch main-with-gradle-wrapper updated (cd6f6b44b1 -> fff3ae5e86)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch main-with-gradle-wrapper in repository https://gitbox.apache.org/repos/asf/sis.git discard cd6f6b44b1 Move repository declaration to the right location for enabling publication. discard 3e66417a09 Defines a Maven repository for snapshots. discard efadc752d9 Remove references to `org.apache.sis.cql` module. discard b30980da2c Add Gradle wrapper for allowing execution on ASF Jenkins server. This is maybe a temporary branch, the project has not decided if gradlew should be officially added. This branch may also be removed if https://issues.apache.org/jira/browse/INFRA-24992 is fixed. add 2d716eab6d Remove references to the `org.apache.sis.cql` incubating module. This module is present on other branches but not on main because for avoiding the need to manage geoapi-pending dependencies. new 4bcfc803c4 Add Gradle wrapper for allowing execution on ASF Jenkins server. This is maybe a temporary branch, the project has not decided if gradlew should be officially added. This branch may also be removed if https://issues.apache.org/jira/browse/INFRA-24992 is fixed. new fff3ae5e86 Define Maven repositories for snapshots and release deployments. This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (cd6f6b44b1) \ N -- N -- N refs/heads/main-with-gradle-wrapper (fff3ae5e86) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes:
[sis] 01/02: Add Gradle wrapper for allowing execution on ASF Jenkins server. This is maybe a temporary branch, the project has not decided if gradlew should be officially added. This branch may also
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main-with-gradle-wrapper in repository https://gitbox.apache.org/repos/asf/sis.git commit 4bcfc803c47dde9af6f34af33ea38f6f086396b5 Author: Martin Desruisseaux AuthorDate: Fri Sep 15 10:53:44 2023 +0200 Add Gradle wrapper for allowing execution on ASF Jenkins server. This is maybe a temporary branch, the project has not decided if gradlew should be officially added. This branch may also be removed if https://issues.apache.org/jira/browse/INFRA-24992 is fixed. --- gradle/wrapper/gradle-wrapper.jar| Bin 0 -> 63375 bytes gradle/wrapper/gradle-wrapper.properties | 7 + gradlew | 248 +++ gradlew.bat | 92 4 files changed, 347 insertions(+) diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 00..033e24c4cd Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00..9f4197d5f4 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip +networkTimeout=1 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 00..fcb6fca147 --- /dev/null +++ b/gradlew @@ -0,0 +1,248 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while +APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path +[ -h "$app_path" ] +do +ls=$( ls -ld "$app_path" ) +link=${ls#*' -> '} +case $link in #( + /*) app_path=$link ;; #( + *)app_path=$APP_HOME$link ;; +esac +done + +# This is normally unused +# s
[sis] branch main updated: Remove references to the `org.apache.sis.cql` incubating module. This module is present on other branches but not on main because for avoiding the need to manage geoapi-pend
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/sis.git The following commit(s) were added to refs/heads/main by this push: new 2d716eab6d Remove references to the `org.apache.sis.cql` incubating module. This module is present on other branches but not on main because for avoiding the need to manage geoapi-pending dependencies. 2d716eab6d is described below commit 2d716eab6dcd6cb51dbf98ea134624e8fb1ebd6d Author: Martin Desruisseaux AuthorDate: Fri Sep 15 14:19:06 2023 +0200 Remove references to the `org.apache.sis.cql` incubating module. This module is present on other branches but not on main because for avoiding the need to manage geoapi-pending dependencies. --- endorsed/src/org.apache.sis.util/main/module-info.java | 1 - incubator/build.gradle.kts | 12 2 files changed, 13 deletions(-) diff --git a/endorsed/src/org.apache.sis.util/main/module-info.java b/endorsed/src/org.apache.sis.util/main/module-info.java index c61c9a93c4..227645d78a 100644 --- a/endorsed/src/org.apache.sis.util/main/module-info.java +++ b/endorsed/src/org.apache.sis.util/main/module-info.java @@ -125,7 +125,6 @@ module org.apache.sis.util { org.apache.sis.storage.netcdf, org.apache.sis.storage.geotiff, org.apache.sis.storage.earthobservation, -org.apache.sis.cql, // In the "incubator" sub-project. org.apache.sis.portrayal, org.apache.sis.cloud.aws, org.apache.sis.console, diff --git a/incubator/build.gradle.kts b/incubator/build.gradle.kts index 5d7bcce0ac..797f762d10 100644 --- a/incubator/build.gradle.kts +++ b/incubator/build.gradle.kts @@ -73,9 +73,6 @@ dependencies { * replace ANTLR generated code by hand-written code in a future version. */ var srcDir = file("src")// Must be the same as the hard-coded value in `BuildHelper.java`. -tasks.generateGrammarSource { -setOutputDirectory(file("${srcDir}/org.apache.sis.cql/main")) -} tasks.compileJava { dependsOn(":endorsed:compileJava") options.release.set(11) // The version of both Java source code and compiled byte code. @@ -113,15 +110,6 @@ tasks.test { */ publishing { publications { -create("cql") { -groupId= "org.apache.sis.core" -artifactId = "sis-cql" -artifact(file("${buildDir}/libs/org.apache.sis.cql.jar")) -pom { -name= "Apache SIS CQL" -description = "CQL parser." -} -} create("storage.shapefile") { groupId= "org.apache.sis.storage" artifactId = "sis-shapefile"
[sis] 02/02: Define Maven repositories for snapshots and release deployments.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main-with-gradle-wrapper in repository https://gitbox.apache.org/repos/asf/sis.git commit fff3ae5e862ecb1696561cab9ffa0da133537de8 Author: Martin Desruisseaux AuthorDate: Fri Sep 15 15:25:06 2023 +0200 Define Maven repositories for snapshots and release deployments. --- .../org/apache/sis/buildtools/gradle/BuildHelper.java | 1 + .../org/apache/sis/buildtools/gradle/ModularJAR.java| 11 ++- endorsed/build.gradle.kts | 17 + incubator/build.gradle.kts | 17 + optional/build.gradle.kts | 17 + settings.gradle.kts | 1 + 6 files changed, 63 insertions(+), 1 deletion(-) diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java index c17df41d9e..5b357d8ca9 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java @@ -165,6 +165,7 @@ public final class BuildHelper implements Plugin { task.setActions(List.of((t) -> {// Replace the default action by our own. ModularJAR.execute(BuildHelper.this, (Jar) t); })); +task.getOutputs().dir(ModularJAR.output(task.getProject())); }); final Task assemble = tasks.getByPath("assemble"); assemble.dependsOn("jar"); diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java index d551997e0b..64fb2f8e53 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java @@ -70,6 +70,15 @@ final class ModularJAR extends ZipWriter.JDK { super(project, out); } +/** + * {@return the output directory where JAR files will be written}. + * + * @param project the sub-project being compiled. + */ +static final File output(final Project project) { +return new File(project.getBuildDir(), LIBS_DIRECTORY); +} + /** * Lists all compiled modules in the current Gradle sub-project. * @@ -97,7 +106,7 @@ final class ModularJAR extends ZipWriter.JDK { classnameAttributes.put(classname, path); } } -final File target = new File(project.getBuildDir(), LIBS_DIRECTORY); +final File target = output(project); for (final File module : listModules(project)) { for (final Iterator> it = classnameAttributes.entrySet().iterator(); it.hasNext();) { final Map.Entry entry = it.next(); diff --git a/endorsed/build.gradle.kts b/endorsed/build.gradle.kts index d2399933a3..293b169713 100644 --- a/endorsed/build.gradle.kts +++ b/endorsed/build.gradle.kts @@ -392,4 +392,21 @@ publishing { } } } +/* Following block is currently repeated in all sub-projects. */ +repositories { +maven { +name = "Apache" +url = uri(if (version.toString().endsWith("SNAPSHOT")) + "https://repository.apache.org/content/repositories/snapshots; else + "https://repository.apache.org/service/local/staging/deploy/maven2;) +credentials { +val asfNexusUsername = System.getProperty("asfNexusUsername") +val asfNexusPassword = System.getProperty("asfNexusPassword") +if (asfNexusUsername != null && asfNexusPassword != null) { +username = asfNexusUsername +password = asfNexusPassword +} +} +} +} } diff --git a/incubator/build.gradle.kts b/incubator/build.gradle.kts index 797f762d10..7d1b756819 100644 --- a/incubator/build.gradle.kts +++ b/incubator/build.gradle.kts @@ -129,4 +129,21 @@ publishing { } } } +/* Following block is currently repeated in all sub-projects. */ +repositories { +maven { +name = "Apache" +url = uri(if (version.toString().endsWith("SNAPSHOT")) + "https://repository.apache.org/content/repositories/snapshots; else + "https://repository.apache.org/service/local/staging/deploy/maven2;) +credentials { +val as
[sis] branch main-with-gradle-wrapper updated: Move repository declaration to the right location for enabling publication.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main-with-gradle-wrapper in repository https://gitbox.apache.org/repos/asf/sis.git The following commit(s) were added to refs/heads/main-with-gradle-wrapper by this push: new cd6f6b44b1 Move repository declaration to the right location for enabling publication. cd6f6b44b1 is described below commit cd6f6b44b1a5df92e5dd53843c2a5910ec56d655 Author: Martin Desruisseaux AuthorDate: Fri Sep 15 16:48:53 2023 +0200 Move repository declaration to the right location for enabling publication. --- endorsed/build.gradle.kts | 17 + incubator/build.gradle.kts | 17 + optional/build.gradle.kts | 17 + settings.gradle.kts| 14 -- 4 files changed, 51 insertions(+), 14 deletions(-) diff --git a/endorsed/build.gradle.kts b/endorsed/build.gradle.kts index d2399933a3..293b169713 100644 --- a/endorsed/build.gradle.kts +++ b/endorsed/build.gradle.kts @@ -392,4 +392,21 @@ publishing { } } } +/* Following block is currently repeated in all sub-projects. */ +repositories { +maven { +name = "Apache" +url = uri(if (version.toString().endsWith("SNAPSHOT")) + "https://repository.apache.org/content/repositories/snapshots; else + "https://repository.apache.org/service/local/staging/deploy/maven2;) +credentials { +val asfNexusUsername = System.getProperty("asfNexusUsername") +val asfNexusPassword = System.getProperty("asfNexusPassword") +if (asfNexusUsername != null && asfNexusPassword != null) { +username = asfNexusUsername +password = asfNexusPassword +} +} +} +} } diff --git a/incubator/build.gradle.kts b/incubator/build.gradle.kts index 797f762d10..7d1b756819 100644 --- a/incubator/build.gradle.kts +++ b/incubator/build.gradle.kts @@ -129,4 +129,21 @@ publishing { } } } +/* Following block is currently repeated in all sub-projects. */ +repositories { +maven { +name = "Apache" +url = uri(if (version.toString().endsWith("SNAPSHOT")) + "https://repository.apache.org/content/repositories/snapshots; else + "https://repository.apache.org/service/local/staging/deploy/maven2;) +credentials { +val asfNexusUsername = System.getProperty("asfNexusUsername") +val asfNexusPassword = System.getProperty("asfNexusPassword") +if (asfNexusUsername != null && asfNexusPassword != null) { +username = asfNexusUsername +password = asfNexusPassword +} +} +} +} } diff --git a/optional/build.gradle.kts b/optional/build.gradle.kts index eddd8473fa..599a179eef 100644 --- a/optional/build.gradle.kts +++ b/optional/build.gradle.kts @@ -165,4 +165,21 @@ publishing { } } } +/* Following block is currently repeated in all sub-projects. */ +repositories { +maven { +name = "Apache" +url = uri(if (version.toString().endsWith("SNAPSHOT")) + "https://repository.apache.org/content/repositories/snapshots; else + "https://repository.apache.org/service/local/staging/deploy/maven2;) +credentials { +val asfNexusUsername = System.getProperty("asfNexusUsername") +val asfNexusPassword = System.getProperty("asfNexusPassword") +if (asfNexusUsername != null && asfNexusPassword != null) { +username = asfNexusUsername +password = asfNexusPassword +} +} +} +} } diff --git a/settings.gradle.kts b/settings.gradle.kts index 4ca1c0b860..a007dae0a1 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -48,20 +48,6 @@ dependencyResolutionManagement { releasesOnly() } } -maven { -name = "Snapshots" -url = uri("https://repository.apache.org/content/repositories/snapshots;) -credentials { -println("Looking for properties") -val asfNexusUsername = System.getProperty("asfNexusUsername") -val asfNexusPassword = System.getProperty("asfNexusPassword") -if (asfNexusUsername != null && asfNexusPassword != null) { -println("Properties found") -username = asfNexusUsername -password = asfNexusPassword -} -} -} } /* * All dependencies used by sub-projects, together with their versions.
[sis] branch main-with-gradle-wrapper created (now 3e66417a09)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch main-with-gradle-wrapper in repository https://gitbox.apache.org/repos/asf/sis.git at 3e66417a09 Defines a Maven repository for snapshots. This branch includes the following new commits: new b30980da2c Add Gradle wrapper for allowing execution on ASF Jenkins server. This is maybe a temporary branch, the project has not decided if gradlew should be officially added. This branch may also be removed if https://issues.apache.org/jira/browse/INFRA-24992 is fixed. new efadc752d9 Remove references to `org.apache.sis.cql` module. new 3e66417a09 Defines a Maven repository for snapshots. The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[sis] 01/03: Add Gradle wrapper for allowing execution on ASF Jenkins server. This is maybe a temporary branch, the project has not decided if gradlew should be officially added. This branch may also
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main-with-gradle-wrapper in repository https://gitbox.apache.org/repos/asf/sis.git commit b30980da2c0776bc271b107de311d986757680b3 Author: Martin Desruisseaux AuthorDate: Fri Sep 15 10:53:44 2023 +0200 Add Gradle wrapper for allowing execution on ASF Jenkins server. This is maybe a temporary branch, the project has not decided if gradlew should be officially added. This branch may also be removed if https://issues.apache.org/jira/browse/INFRA-24992 is fixed. --- gradle/wrapper/gradle-wrapper.jar| Bin 0 -> 63375 bytes gradle/wrapper/gradle-wrapper.properties | 7 + gradlew | 248 +++ gradlew.bat | 92 4 files changed, 347 insertions(+) diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 00..033e24c4cd Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00..9f4197d5f4 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip +networkTimeout=1 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 00..fcb6fca147 --- /dev/null +++ b/gradlew @@ -0,0 +1,248 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while +APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path +[ -h "$app_path" ] +do +ls=$( ls -ld "$app_path" ) +link=${ls#*' -> '} +case $link in #( + /*) app_path=$link ;; #( + *)app_path=$APP_HOME$link ;; +esac +done + +# This is normally unused +# s
[sis] 02/03: Remove references to `org.apache.sis.cql` module.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main-with-gradle-wrapper in repository https://gitbox.apache.org/repos/asf/sis.git commit efadc752d96b1e928106dc6406e96fd034c43156 Author: Martin Desruisseaux AuthorDate: Fri Sep 15 14:19:06 2023 +0200 Remove references to `org.apache.sis.cql` module. --- endorsed/src/org.apache.sis.util/main/module-info.java | 1 - incubator/build.gradle.kts | 12 2 files changed, 13 deletions(-) diff --git a/endorsed/src/org.apache.sis.util/main/module-info.java b/endorsed/src/org.apache.sis.util/main/module-info.java index c61c9a93c4..227645d78a 100644 --- a/endorsed/src/org.apache.sis.util/main/module-info.java +++ b/endorsed/src/org.apache.sis.util/main/module-info.java @@ -125,7 +125,6 @@ module org.apache.sis.util { org.apache.sis.storage.netcdf, org.apache.sis.storage.geotiff, org.apache.sis.storage.earthobservation, -org.apache.sis.cql, // In the "incubator" sub-project. org.apache.sis.portrayal, org.apache.sis.cloud.aws, org.apache.sis.console, diff --git a/incubator/build.gradle.kts b/incubator/build.gradle.kts index 5d7bcce0ac..797f762d10 100644 --- a/incubator/build.gradle.kts +++ b/incubator/build.gradle.kts @@ -73,9 +73,6 @@ dependencies { * replace ANTLR generated code by hand-written code in a future version. */ var srcDir = file("src")// Must be the same as the hard-coded value in `BuildHelper.java`. -tasks.generateGrammarSource { -setOutputDirectory(file("${srcDir}/org.apache.sis.cql/main")) -} tasks.compileJava { dependsOn(":endorsed:compileJava") options.release.set(11) // The version of both Java source code and compiled byte code. @@ -113,15 +110,6 @@ tasks.test { */ publishing { publications { -create("cql") { -groupId= "org.apache.sis.core" -artifactId = "sis-cql" -artifact(file("${buildDir}/libs/org.apache.sis.cql.jar")) -pom { -name= "Apache SIS CQL" -description = "CQL parser." -} -} create("storage.shapefile") { groupId= "org.apache.sis.storage" artifactId = "sis-shapefile"
[sis] 03/03: Defines a Maven repository for snapshots.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch main-with-gradle-wrapper in repository https://gitbox.apache.org/repos/asf/sis.git commit 3e66417a09e6de9b60058e1ff6800170693f54fb Author: Martin Desruisseaux AuthorDate: Fri Sep 15 15:25:06 2023 +0200 Defines a Maven repository for snapshots. --- .../org/apache/sis/buildtools/gradle/BuildHelper.java | 1 + .../main/org/apache/sis/buildtools/gradle/ModularJAR.java | 11 ++- settings.gradle.kts | 15 +++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java index c17df41d9e..5b357d8ca9 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java @@ -165,6 +165,7 @@ public final class BuildHelper implements Plugin { task.setActions(List.of((t) -> {// Replace the default action by our own. ModularJAR.execute(BuildHelper.this, (Jar) t); })); +task.getOutputs().dir(ModularJAR.output(task.getProject())); }); final Task assemble = tasks.getByPath("assemble"); assemble.dependsOn("jar"); diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java index d551997e0b..64fb2f8e53 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java @@ -70,6 +70,15 @@ final class ModularJAR extends ZipWriter.JDK { super(project, out); } +/** + * {@return the output directory where JAR files will be written}. + * + * @param project the sub-project being compiled. + */ +static final File output(final Project project) { +return new File(project.getBuildDir(), LIBS_DIRECTORY); +} + /** * Lists all compiled modules in the current Gradle sub-project. * @@ -97,7 +106,7 @@ final class ModularJAR extends ZipWriter.JDK { classnameAttributes.put(classname, path); } } -final File target = new File(project.getBuildDir(), LIBS_DIRECTORY); +final File target = output(project); for (final File module : listModules(project)) { for (final Iterator> it = classnameAttributes.entrySet().iterator(); it.hasNext();) { final Map.Entry entry = it.next(); diff --git a/settings.gradle.kts b/settings.gradle.kts index f0522902d4..4ca1c0b860 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -39,6 +39,7 @@ dependencyResolutionManagement { repositories { mavenCentral() maven { +name = "UCAR" url = uri("https://artifacts.unidata.ucar.edu/repository/unidata-releases;) content { includeGroup("edu.ucar")// Restrict usage to those dependencies. @@ -47,6 +48,20 @@ dependencyResolutionManagement { releasesOnly() } } +maven { +name = "Snapshots" +url = uri("https://repository.apache.org/content/repositories/snapshots;) +credentials { +println("Looking for properties") +val asfNexusUsername = System.getProperty("asfNexusUsername") +val asfNexusPassword = System.getProperty("asfNexusPassword") +if (asfNexusUsername != null && asfNexusPassword != null) { +println("Properties found") +username = asfNexusUsername +password = asfNexusPassword +} +} +} } /* * All dependencies used by sub-projects, together with their versions.
[sis] branch geoapi-4.0 updated (193b493363 -> 7c107c57ee)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git from 193b493363 Improve `DefaultObjectDomain` with the use of `NilObject` for telling when the value is missing. new ac061386c5 Minor formatting of table HTML for consistency with same change applied elsewhere. It makes the code a little bit easier to read by reducing the amount of scrolling. Contains also opportunistic javadoc typo fixes. new 1d735321d1 Rename `DefaultEllipsoid.getRadius(double)` as `getGeocentricRadius(double)`. new 7c107c57ee Move the check for perpendicular axes in the parent class. This is in anticipation for the addition of experimental coordinate systems such as `MinkowskiCS` in other branches. The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../test/org/apache/sis/filter/PeriodLiteral.java | 2 +- .../gazetteer/GeohashReferenceSystem.java | 8 +-- .../gazetteer/MilitaryGridReferenceSystem.java | 4 +- .../sis/referencing/crs/DefaultDerivedCRS.java | 15 ++--- .../sis/referencing/crs/DefaultGeographicCRS.java | 3 +- .../org/apache/sis/referencing/cs/AbstractCS.java | 74 +++--- .../sis/referencing/cs/DefaultCartesianCS.java | 26 .../sis/referencing/datum/DefaultEllipsoid.java| 19 +- .../referencing/datum/DefaultGeodeticDatum.java| 2 +- .../referencing/datum/DefaultVerticalDatum.java| 2 +- .../operation/DefaultConcatenatedOperation.java| 6 +- .../referencing/operation/DefaultConversion.java | 9 +-- .../DefaultCoordinateOperationFactory.java | 36 --- .../operation/DefaultOperationMethod.java | 18 ++ .../operation/DefaultPassThroughOperation.java | 6 +- .../operation/DefaultTransformation.java | 12 ++-- .../org/apache/sis/referencing/util/Formulas.java | 6 +- .../referencing/datum/DefaultEllipsoidTest.java| 12 ++-- .../apache/sis/referencing/util/FormulasTest.java | 12 ++-- .../main/org/apache/sis/util/Version.java | 2 +- 20 files changed, 128 insertions(+), 146 deletions(-)
[sis] 03/03: Move the check for perpendicular axes in the parent class. This is in anticipation for the addition of experimental coordinate systems such as `MinkowskiCS` in other branches.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 7c107c57eed0a428250c035556917da27fa8f8ff Author: Martin Desruisseaux AuthorDate: Wed Sep 6 18:27:50 2023 +0200 Move the check for perpendicular axes in the parent class. This is in anticipation for the addition of experimental coordinate systems such as `MinkowskiCS` in other branches. --- .../org/apache/sis/referencing/cs/AbstractCS.java | 74 +++--- .../sis/referencing/cs/DefaultCartesianCS.java | 26 2 files changed, 51 insertions(+), 49 deletions(-) diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/AbstractCS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/AbstractCS.java index 81d87e70ad..df9acffdca 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/AbstractCS.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/AbstractCS.java @@ -47,10 +47,11 @@ import org.apache.sis.system.Modules; import org.apache.sis.util.Utilities; import org.apache.sis.util.ComparisonMode; import org.apache.sis.util.internal.Constants; -import org.apache.sis.io.wkt.ElementKind; -import org.apache.sis.io.wkt.Formatter; import org.apache.sis.util.logging.Logging; import org.apache.sis.util.resources.Errors; +import org.apache.sis.io.wkt.ElementKind; +import org.apache.sis.io.wkt.Formatter; +import org.apache.sis.measure.Angle; import static org.apache.sis.util.ArgumentChecks.*; @@ -214,6 +215,54 @@ public class AbstractCS extends AbstractIdentifiedObject implements CoordinateSy } } +/** + * Returns {@link #VALID} if the given argument values are allowed for an axis in this coordinate system, + * or an {@code INVALID_*} error code otherwise. This method is invoked at construction time for checking + * argument validity. The default implementation returns {@code VALID} in all cases. Subclasses override + * this method in order to put more restrictions on allowed axis directions and check for compatibility + * with {@linkplain org.apache.sis.measure.Units#METRE metre} or + * {@linkplain org.apache.sis.measure.Units#DEGREE degree} units. + * + * Note for implementers: since this method is invoked at construction time, it shall not depend + * on this object's state. This method is not in public API for that reason. + * + * @param direction the direction to test for compatibility (never {@code null}). + * @param unit the unit to test for compatibility (never {@code null}). + * @return {@link #VALID} if the given direction and unit are compatible with this coordinate system, + * {@link #INVALID_DIRECTION} if the direction is invalid or {@link #INVALID_UNIT} if the unit + * is invalid. + */ +int validateAxis(final AxisDirection direction, final Unit unit) { +return VALID; +} + +/** + * Ensures that all known axes are perpendicular, ignoring unknown axis directions. + * This method can be invoked by the constructors of coordinate systems having this requirement. + * + * @param properties properties given at construction time. + * @throws IllegalArgumentException if an illegal angle is found between two axes. + */ +final void ensurePerpendicularAxis(final Map properties) throws IllegalArgumentException { +final int dimension = getDimension(); +for (int i=0; iNote for implementers: since this method is invoked at construction time, it shall not depend - * on this object's state. This method is not in public API for that reason. - * - * @param direction the direction to test for compatibility (never {@code null}). - * @param unit the unit to test for compatibility (never {@code null}). - * @return {@link #VALID} if the given direction and unit are compatible with this coordinate system, - * {@link #INVALID_DIRECTION} if the direction is invalid or {@link #INVALID_UNIT} if the unit - * is invalid. - */ -int validateAxis(final AxisDirection direction, final Unit unit) { -return VALID; -} - /** * Returns the GeoAPI interface implemented by this class. * The default implementation returns {@code CoordinateSystem.class}. diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultCartesianCS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultCartesianCS.java index ee72d04efe..1959440f46 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultCartesianCS.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/cs/DefaultCartesianCS.java
[sis] 01/03: Minor formatting of table HTML for consistency with same change applied elsewhere. It makes the code a little bit easier to read by reducing the amount of scrolling. Contains also opportu
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit ac061386c5cfc1ce9e3d446ff8beed64783b35ad Author: Martin Desruisseaux AuthorDate: Wed Sep 6 14:04:16 2023 +0200 Minor formatting of table HTML for consistency with same change applied elsewhere. It makes the code a little bit easier to read by reducing the amount of scrolling. Contains also opportunistic javadoc typo fixes. --- .../test/org/apache/sis/filter/PeriodLiteral.java | 2 +- .../sis/referencing/crs/DefaultDerivedCRS.java | 15 +++-- .../sis/referencing/crs/DefaultGeographicCRS.java | 3 +- .../referencing/datum/DefaultGeodeticDatum.java| 2 +- .../referencing/datum/DefaultVerticalDatum.java| 2 +- .../operation/DefaultConcatenatedOperation.java| 6 ++-- .../referencing/operation/DefaultConversion.java | 9 ++ .../DefaultCoordinateOperationFactory.java | 36 -- .../operation/DefaultOperationMethod.java | 18 --- .../operation/DefaultPassThroughOperation.java | 6 ++-- .../operation/DefaultTransformation.java | 12 +++- .../main/org/apache/sis/util/Version.java | 2 +- 12 files changed, 39 insertions(+), 74 deletions(-) diff --git a/endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/PeriodLiteral.java b/endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/PeriodLiteral.java index 981f08649d..13ec6e0fae 100644 --- a/endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/PeriodLiteral.java +++ b/endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/PeriodLiteral.java @@ -96,7 +96,7 @@ final class PeriodLiteral implements Period, Literal, Serializab } /** - * Compare this period with given object. Used by the tests for checking the results of deserialization. + * Compares this period with given object. Used by the tests for checking the results of deserialization. */ @Override public boolean equals(final Object other) { diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultDerivedCRS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultDerivedCRS.java index 02fbcdb736..8f83f76329 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultDerivedCRS.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultDerivedCRS.java @@ -190,26 +190,21 @@ public class DefaultDerivedCRS extends AbstractDerivedCRS implements * Property name * Value type * Returned by - * - * + * * {@value org.opengis.referencing.IdentifiedObject#NAME_KEY} * {@link org.opengis.metadata.Identifier} or {@link String} * {@code this.getName()} - * - * + * * "conversion.name" * {@link org.opengis.metadata.Identifier} or {@link String} * {@code conversionFromBase.getName()} - * - * + * * Optional properties (non exhaustive list) - * - * + * * {@value org.opengis.referencing.IdentifiedObject#IDENTIFIERS_KEY} * {@link org.opengis.metadata.Identifier} (optionally as array) * {@code this.getIdentifiers()} - * - * + * * {@value org.opengis.referencing.operation.CoordinateOperation#DOMAIN_OF_VALIDITY_KEY} * {@link org.opengis.metadata.extent.Extent} * {@code conversionFromBase.getDomainOfValidity()} diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultGeographicCRS.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultGeographicCRS.java index 025930b1bc..12c60708ae 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultGeographicCRS.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/crs/DefaultGeographicCRS.java @@ -122,8 +122,7 @@ public class DefaultGeographicCRS extends DefaultGeodeticCRS implements Geograph * Property name * Value type * Returned by - * - * + * * {@value org.opengis.referencing.IdentifiedObject#NAME_KEY} * {@link org.opengis.metadata.Identifier} or {@link String} * {@link #getName()} diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java index c4b6ef8c56..a5809407a0 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/datum/DefaultGeodeticDatum.java +++ b/en
[sis] 02/03: Rename `DefaultEllipsoid.getRadius(double)` as `getGeocentricRadius(double)`.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git commit 1d735321d1b052152f9fd6ccead4705fd0cc8c85 Author: Martin Desruisseaux AuthorDate: Wed Sep 6 11:54:42 2023 +0200 Rename `DefaultEllipsoid.getRadius(double)` as `getGeocentricRadius(double)`. --- .../referencing/gazetteer/GeohashReferenceSystem.java | 8 .../gazetteer/MilitaryGridReferenceSystem.java| 4 ++-- .../sis/referencing/datum/DefaultEllipsoid.java | 19 --- .../org/apache/sis/referencing/util/Formulas.java | 6 -- .../sis/referencing/datum/DefaultEllipsoidTest.java | 12 ++-- .../org/apache/sis/referencing/util/FormulasTest.java | 12 ++-- 6 files changed, 38 insertions(+), 23 deletions(-) diff --git a/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java b/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java index b449626cd0..d049f4c42d 100644 --- a/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java +++ b/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/GeohashReferenceSystem.java @@ -322,9 +322,9 @@ public class GeohashReferenceSystem extends ReferencingByIdentifiers { if (position != null) try { position = toGeographic(position); double φ = Math.toRadians(position.getOrdinate(1)); -double a = Math.PI/2 * Formulas.getRadius(ellipsoid, φ); // Arc length of 90° using radius at φ. -double b = Math.cos(φ) * (2*a) / (1 << lonNumBits);// Precision along longitude axis. -a /= (1 << latNumBits);// Precision along latitude axis. +double a = Math.PI/2 * Formulas.geocentricRadius(ellipsoid, φ); // Arc length of 90° using radius at φ. +double b = Math.cos(φ) * (2*a) / (1 << lonNumBits); // Precision along longitude axis. +a /= (1 << latNumBits); // Precision along latitude axis. return Quantities.create(Math.max(a, b), unit); } catch (FactoryException | TransformException e) { recoverableException(Coder.class, "getPrecision", e); @@ -359,7 +359,7 @@ public class GeohashReferenceSystem extends ReferencingByIdentifiers { if (position != null) try { position = toGeographic(position); double φ = Math.toRadians(position.getOrdinate(1)); -numLat = Math.PI/2 * Formulas.getRadius(ellipsoid, φ) / p; +numLat = Math.PI/2 * Formulas.geocentricRadius(ellipsoid, φ) / p; numLon = Math.cos(φ) * (2*numLat); } catch (FactoryException | TransformException e) { recoverableException(Coder.class, "setPrecision", e); diff --git a/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java b/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java index 3266a2f602..723f16d979 100644 --- a/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java +++ b/endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/MilitaryGridReferenceSystem.java @@ -552,7 +552,7 @@ public class MilitaryGridReferenceSystem extends ReferencingByIdentifiers { if (crs != null) try { final double φ = encoder(crs).getLatitude(this, position); final double φr = Math.toRadians(φ); -radius = Formulas.getRadius(ellipsoid, φr); +radius = Formulas.geocentricRadius(ellipsoid, φr); if (φ >= TransverseMercator.Zoner.SOUTH_BOUNDS && φ < TransverseMercator.Zoner.NORTH_BOUNDS) { @@ -1658,7 +1658,7 @@ public class MilitaryGridReferenceSystem extends ReferencingByIdentifiers { */ if (precision > 0) { final double φr = Math.toRadians(φ); -precision *= Formulas.getRadius(owner.getEllipsoid(), φr); // Convert precision to metres. +precision *= Formulas.geocentricRadius(owner.getEllipsoid(), φr); // Convert precision to metres. if (isUTM) precision *= Math.cos(φr); owner.setPrecision(precision);
[sis] branch geoapi-4.0 updated: Improve `DefaultObjectDomain` with the use of `NilObject` for telling when the value is missing.
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git The following commit(s) were added to refs/heads/geoapi-4.0 by this push: new 193b493363 Improve `DefaultObjectDomain` with the use of `NilObject` for telling when the value is missing. 193b493363 is described below commit 193b4933634c42eb835be176246eb54d12fbf358 Author: Martin Desruisseaux AuthorDate: Wed Aug 30 12:30:03 2023 +0200 Improve `DefaultObjectDomain` with the use of `NilObject` for telling when the value is missing. --- .../metadata/internal/ImplementationHelper.java| 17 ++- .../metadata/simple/SimpleIdentifiedObject.java| 6 +- .../main/org/apache/sis/io/wkt/Formatter.java | 10 +- .../sis/referencing/AbstractIdentifiedObject.java | 51 --- .../sis/referencing/DefaultObjectDomain.java | 164 +++-- .../referencing/datum/DefaultGeodeticDatum.java| 38 ++--- .../org/apache/sis/util/resources/Vocabulary.java | 20 ++- 7 files changed, 200 insertions(+), 106 deletions(-) diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/ImplementationHelper.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/ImplementationHelper.java index f0516b2311..48750b280d 100644 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/ImplementationHelper.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/ImplementationHelper.java @@ -21,6 +21,8 @@ import java.util.List; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; +import java.util.Objects; +import org.apache.sis.xml.NilObject; import org.apache.sis.xml.NilReason; import org.apache.sis.xml.IdentifierSpace; import org.apache.sis.xml.IdentifiedObject; @@ -37,7 +39,7 @@ import org.apache.sis.util.internal.CollectionsExt; * This is not an helper class for usage of metadata. * * @author Martin Desruisseaux (Geomatys) - * @version 1.3 + * @version 1.4 * @since 0.3 */ public final class ImplementationHelper extends Static { @@ -74,6 +76,19 @@ public final class ImplementationHelper extends Static { return (value != Long.MIN_VALUE) ? new Date(value) : null; } +/** + * Returns {@code true} if the given object is non-null and not an instance of {@link NilObject}. + * This is a helper method for use in lambda expressions. + * + * @param value the value to test. + * @return whether the given value is non-null and non-nil. + * + * @see Objects#nonNull(Object) + */ +public static boolean nonNil(final Object value) { +return (value != null) && !(value instanceof NilObject); +} + /** * Returns the given collection if non-null and non-empty, or {@code null} otherwise. * This method is used for calls to {@code checkWritePermission(Object)}. diff --git a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleIdentifiedObject.java b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleIdentifiedObject.java index d1a948204e..68ccb00b6a 100644 --- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleIdentifiedObject.java +++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleIdentifiedObject.java @@ -97,7 +97,10 @@ public class SimpleIdentifiedObject implements IdentifiedObject, LenientComparab * revisit {@link #equals(Object, ComparisonMode)} in subclasses. * * @return the domain of validity, or {@code null} if none. + * + * @deprecated Removed from ISO 19111:2019 (moved to {@code ObjectDomain}). */ +@Deprecated public final Extent getDomainOfValidity() { return null; } @@ -123,10 +126,7 @@ public class SimpleIdentifiedObject implements IdentifiedObject, LenientComparab * The default implementation returns {@link Identifier#getDescription()}. * * @return a narrative explanation of the role of this object, or {@code null} if none. - * - * @deprecated Removed from ISO 19111:2019 (moved to {@code ObjectDomain}). */ -@Deprecated public InternationalString getDescription() { final Identifier name = this.name; return (name != null) ? name.getDescription() : null; diff --git a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Formatter.java b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Formatter.java index f27c538f41..3431b25267 100644 --- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Formatter.java +++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/Formatter.java @@ -70,7 +70,6 @@ import org.apache.sis.util.iso.Types; import org.apache.sis.util.resource
[sis] branch geoapi-4.0 updated (c92fa5ad66 -> 350b496160)
This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a change to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git from c92fa5ad66 Add JUnit 5 in test dependencies for progressive migration. Opportunistically upgrade `ArgumentChecks` to JUnit 5, after its change for testing negative zeros. new abafcba8a2 Skip the Ivy task if the "dependencies" directory is already present. new 350b496160 Partial upgrade to ISO 19111:2019: replace some (not yet all) usages of deprecated `getScope()` and `getDomainOfValidity()` methods by `getDomains()`. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../org.apache.sis.console/main/module-info.java | 2 + .../org/apache/sis/console/TransformCommand.java | 17 +- .../org.apache.sis.metadata/main/module-info.java | 2 +- .../metadata/internal/ImplementationHelper.java| 8 +- .../apache/sis/metadata/iso/extent/Extents.java| 47 - .../metadata/simple/SimpleIdentifiedObject.java| 6 + .../metadata/replace/ReferenceSystemMetadata.java | 3 +- .../apache/sis/util/iso/DefaultLocalNameTest.java | 2 +- .../main/module-info.java | 3 +- .../main/org/apache/sis/openoffice/CalcAddins.java | 2 +- .../sis/openoffice/ReferencingFunctions.java | 37 ++-- .../main/org/apache/sis/io/wkt/Formatter.java | 59 -- .../sis/referencing/AbstractIdentifiedObject.java | 227 - .../sis/referencing/AbstractReferenceSystem.java | 183 ++--- .../main/org/apache/sis/referencing/CRS.java | 44 ++-- .../sis/referencing/DefaultObjectDomain.java | 221 .../apache/sis/referencing/IdentifiedObjects.java | 13 +- .../org/apache/sis/referencing/NameIterator.java | 32 ++- .../org/apache/sis/referencing/Properties.java | 87 .../apache/sis/referencing/crs/AbstractCRS.java| 31 +-- .../sis/referencing/crs/DefaultCompoundCRS.java| 26 +-- .../sis/referencing/crs/DefaultDerivedCRS.java | 26 +-- .../sis/referencing/crs/DefaultEngineeringCRS.java | 26 +-- .../sis/referencing/crs/DefaultGeocentricCRS.java | 26 +-- .../sis/referencing/crs/DefaultGeographicCRS.java | 23 +-- .../sis/referencing/crs/DefaultImageCRS.java | 26 +-- .../sis/referencing/crs/DefaultParametricCRS.java | 26 +-- .../sis/referencing/crs/DefaultProjectedCRS.java | 26 +-- .../sis/referencing/crs/DefaultTemporalCRS.java| 26 +-- .../sis/referencing/crs/DefaultVerticalCRS.java| 26 +-- .../org/apache/sis/referencing/cs/AbstractCS.java | 12 +- .../apache/sis/referencing/cs/AxesConvention.java | 12 +- .../apache/sis/referencing/cs/DefaultAffineCS.java | 12 +- .../sis/referencing/cs/DefaultCartesianCS.java | 12 +- .../sis/referencing/cs/DefaultCompoundCS.java | 12 +- .../cs/DefaultCoordinateSystemAxis.java| 24 +-- .../sis/referencing/cs/DefaultCylindricalCS.java | 12 +- .../sis/referencing/cs/DefaultEllipsoidalCS.java | 12 +- .../apache/sis/referencing/cs/DefaultLinearCS.java | 12 +- .../sis/referencing/cs/DefaultParametricCS.java| 12 +- .../apache/sis/referencing/cs/DefaultPolarCS.java | 12 +- .../sis/referencing/cs/DefaultSphericalCS.java | 12 +- .../apache/sis/referencing/cs/DefaultTimeCS.java | 12 +- .../sis/referencing/cs/DefaultUserDefinedCS.java | 12 +- .../sis/referencing/cs/DefaultVerticalCS.java | 12 +- .../sis/referencing/datum/AbstractDatum.java | 129 ++-- .../sis/referencing/datum/DefaultEllipsoid.java| 12 +- .../referencing/datum/DefaultEngineeringDatum.java | 32 +-- .../sis/referencing/datum/DefaultImageDatum.java | 29 +-- .../referencing/datum/DefaultParametricDatum.java | 32 +-- .../referencing/datum/DefaultPrimeMeridian.java| 12 +- .../referencing/datum/DefaultTemporalDatum.java| 32 +-- .../referencing/datum/DefaultVerticalDatum.java| 32 +-- .../referencing/factory/GeodeticObjectFactory.java | 54 ++--- .../operation/AbstractCoordinateOperation.java | 122 ++- .../operation/DefaultConcatenatedOperation.java| 26 +-- .../apache/sis/referencing/util/WKTKeywords.java | 3 +- .../org/apache/sis/storage/base/Capability.java| 2 +- .../main/org/apache/sis/setup/About.java | 2 +- .../resources/ResourceInternationalString.java | 4 +- .../org/apache/sis/util/resources/Vocabulary.java | 10 +- .../sis/util/resources/Vocabulary.properties | 2 +- .../sis/util/resources/Vocabulary_fr.properties| 2 +- geoapi/snapshot| 2 +- netbeans-project/build.xml | 7 +-