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 27465f381eead2554a852a1fe6f03e267ae4f7a8
Author: Martin Desruisseaux <martin.desruisse...@geomatys.com>
AuthorDate: Tue Oct 1 16:53:13 2024 +0200

    Move the GDAL module from "incubator" to "optional".
    The use of `optional` is temporary since the GDAL license is not a problem.
    This is because the module depends on Java 22, while the core library 
depends on Java 11.
---
 incubator/build.gradle.kts                           |  17 ++---------------
 optional/README.md                                   |   3 +++
 optional/build.gradle.kts                            |  19 +++++++++++++++++--
 optional/src/org.apache.sis.gui/bundle/README        |   5 +++--
 .../org.apache.sis.storage.DataStoreProvider         |   0
 .../main/module-info.java                            |   0
 .../main/org/apache/sis/storage/gdal/Band.java       |   0
 .../apache/sis/storage/gdal/ColorInterpretation.java |   0
 .../main/org/apache/sis/storage/gdal/DataType.java   |   0
 .../main/org/apache/sis/storage/gdal/Driver.java     |   0
 .../org/apache/sis/storage/gdal/ErrorHandler.java    |   0
 .../main/org/apache/sis/storage/gdal/GDAL.java       |   0
 .../main/org/apache/sis/storage/gdal/GDALStore.java  |   0
 .../apache/sis/storage/gdal/GDALStoreProvider.java   |   0
 .../main/org/apache/sis/storage/gdal/OpenFlag.java   |   0
 .../main/org/apache/sis/storage/gdal/Opener.java     |   0
 .../main/org/apache/sis/storage/gdal/SpatialRef.java |   0
 .../main/org/apache/sis/storage/gdal/Subdataset.java |   0
 .../org/apache/sis/storage/gdal/SubdatasetList.java  |   0
 .../org/apache/sis/storage/gdal/TiledCoverage.java   |   0
 .../org/apache/sis/storage/gdal/TiledResource.java   |   0
 .../org/apache/sis/storage/gdal/package-info.java    |   0
 .../org/apache/sis/storage/panama/LibraryLoader.java |   0
 .../org/apache/sis/storage/panama/LibraryStatus.java |   0
 .../apache/sis/storage/panama/NativeFunctions.java   |   0
 .../org/apache/sis/storage/panama/Resources.java     |   0
 .../apache/sis/storage/panama/Resources.properties   |   0
 .../org/apache/sis/storage/panama/Resources_en.java  |   0
 .../org/apache/sis/storage/panama/Resources_fr.java  |   0
 .../sis/storage/panama/Resources_fr.properties       |   0
 .../org/apache/sis/storage/panama/package-info.java  |   0
 .../org/apache/sis/storage/gdal/GDALStoreTest.java   |   0
 .../test/org/apache/sis/storage/gdal/test.tiff       | Bin
 33 files changed, 25 insertions(+), 19 deletions(-)

diff --git a/incubator/build.gradle.kts b/incubator/build.gradle.kts
index 6a4a938e89..85c219f390 100644
--- a/incubator/build.gradle.kts
+++ b/incubator/build.gradle.kts
@@ -85,7 +85,7 @@ tasks.compileJava {
 }
 tasks.compileTestJava {
     options.compilerArgs.add("-source")         // "source", not "release", 
because we accept any target version.
-    options.compilerArgs.add("16")              // For consistency with the 
value set in the `endorsed` modules.
+    options.compilerArgs.add("22")
     srcDir.list().forEach {
         addRead(options.compilerArgs, it, 
"org.apache.sis.test.incubator,org.junit.jupiter.api")
     }
@@ -140,7 +140,7 @@ fun addExportForTests(args : MutableList<String>) {
 tasks.test {
     val args = mutableListOf("-enableassertions")
     args.add("--enable-native-access")
-    args.add("org.apache.sis.storage.gdal")
+    args.add("org.apache.sis.storage.gsf")
     addExportForTests(args)
     addExport(args, "org.apache.sis.cql", "org.apache.sis.cql", "ALL-UNNAMED")
     setAllJvmArgs(args)
@@ -206,19 +206,6 @@ publishing {
                 description = "Read and write files in the GeoPackage format."
             }
         }
-        create<MavenPublication>("storage.gdal") {
-            var module = "org.apache.sis.storage.gdal"
-            groupId    = "org.apache.sis.storage"
-            artifactId = "sis-gdal"
-            artifact(layout.buildDirectory.file("libs/${module}.jar"))
-            artifact(layout.buildDirectory.file("docs/${module}-sources.jar")) 
{classifier = "sources"}
-            artifact(layout.buildDirectory.file("docs/${module}-javadoc.jar")) 
{classifier = "javadoc"}
-            pom {
-                name        = "Apache SIS storage using GDAL through Panama"
-                description = "Read and write files using the GDAL library. " +
-                              "This module assumes that GDAL is pre-installed."
-            }
-        }
         create<MavenPublication>("storage.gsf") {
             var module = "org.apache.sis.storage.gsf"
             groupId    = "org.apache.sis.storage"
diff --git a/optional/README.md b/optional/README.md
index 87b33e8562..32cccd5bf5 100644
--- a/optional/README.md
+++ b/optional/README.md
@@ -7,6 +7,9 @@ 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).
 
+GDAL is temporarily provided as an optional module despite its permissive 
license
+because it requires Java 22, while the main Apache SIS modules target Java 11.
+
 ## Configuration
 
 Paths to dependencies are specified by the following environment variables.
diff --git a/optional/build.gradle.kts b/optional/build.gradle.kts
index 156e99e056..dbcd427a82 100644
--- a/optional/build.gradle.kts
+++ b/optional/build.gradle.kts
@@ -83,11 +83,11 @@ dependencies {
 var srcDir = file("src")            // Must be the same as the hard-coded 
value in `BuildHelper.java`.
 tasks.compileJava {
     dependsOn(":endorsed:compileJava")
-    options.release.set(16)         // The version of both Java source code 
and compiled byte code.
+    options.release.set(22)         // The version of both Java source code 
and compiled byte code.
 }
 tasks.compileTestJava {
     options.compilerArgs.add("-source")         // "source", not "release", 
because we accept any target version.
-    options.compilerArgs.add("16")
+    options.compilerArgs.add("22")
     patchForTests(options.compilerArgs);
     srcDir.list().forEach {
         addRead(options.compilerArgs, it, 
"org.apache.sis.test.optional,org.junit.jupiter.api")
@@ -187,6 +187,8 @@ fun addLicenseEPSG() {
  */
 tasks.test {
     val args = mutableListOf("-enableassertions")
+    args.add("--enable-native-access")
+    args.add("org.apache.sis.storage.gdal")
     patchForTests(args);
     addRead  (args, "org.apache.sis.util",                                
"ALL-UNNAMED")
     addExport(args, "org.apache.sis.util", "org.apache.sis.test",         
"ALL-UNNAMED")
@@ -293,6 +295,19 @@ publishing {
                               "See 
https://openjfx.io/openjfx-docs/#install-javafx for details."
             }
         }
+        create<MavenPublication>("storage.gdal") {
+            var module = "org.apache.sis.storage.gdal"
+            groupId    = "org.apache.sis.storage"
+            artifactId = "sis-gdal"
+            artifact(layout.buildDirectory.file("libs/${module}.jar"))
+            artifact(layout.buildDirectory.file("docs/${module}-sources.jar")) 
{classifier = "sources"}
+            artifact(layout.buildDirectory.file("docs/${module}-javadoc.jar")) 
{classifier = "javadoc"}
+            pom {
+                name        = "Apache SIS storage using GDAL through Panama"
+                description = "Read and write files using the GDAL library. " +
+                              "This module assumes that GDAL is pre-installed."
+            }
+        }
     }
     /* Following block is currently repeated in all sub-projects. */
     repositories {
diff --git a/optional/src/org.apache.sis.gui/bundle/README 
b/optional/src/org.apache.sis.gui/bundle/README
index 950807eb18..d7d8a71b87 100644
--- a/optional/src/org.apache.sis.gui/bundle/README
+++ b/optional/src/org.apache.sis.gui/bundle/README
@@ -14,8 +14,9 @@ Installation
 ============
 
 For developing applications using the SIS library or for using on command-line,
-the only requirement is Java 11 or later. For launching the desktop 
application,
-requirements are Java 16 or later and JavaFX 20 or later.
+the only requirement is Java 11 or later, except the GDAL module which requires
+Java 22. For launching the desktop application, requirements are Java 22 or 
later
+and JavaFX 20 or later.
 
 1) Unzip `apache-sis-1.4-bin.zip` in any directory.
 2) Invoke `./apache-sis-1.4/bin/sis` for the command-line.
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/META-INF.services/org.apache.sis.storage.DataStoreProvider
 
b/optional/src/org.apache.sis.storage.gdal/main/META-INF.services/org.apache.sis.storage.DataStoreProvider
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/META-INF.services/org.apache.sis.storage.DataStoreProvider
rename to 
optional/src/org.apache.sis.storage.gdal/main/META-INF.services/org.apache.sis.storage.DataStoreProvider
diff --git a/incubator/src/org.apache.sis.storage.gdal/main/module-info.java 
b/optional/src/org.apache.sis.storage.gdal/main/module-info.java
similarity index 100%
rename from incubator/src/org.apache.sis.storage.gdal/main/module-info.java
rename to optional/src/org.apache.sis.storage.gdal/main/module-info.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/Band.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/Band.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/Band.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/Band.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/ColorInterpretation.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/ColorInterpretation.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/ColorInterpretation.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/ColorInterpretation.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/DataType.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/DataType.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/DataType.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/DataType.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/Driver.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/Driver.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/Driver.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/Driver.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/ErrorHandler.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/ErrorHandler.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/ErrorHandler.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/ErrorHandler.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/GDAL.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/GDAL.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/GDAL.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/GDAL.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/GDALStore.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/GDALStore.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/GDALStore.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/GDALStore.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/GDALStoreProvider.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/GDALStoreProvider.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/GDALStoreProvider.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/GDALStoreProvider.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/OpenFlag.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/OpenFlag.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/OpenFlag.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/OpenFlag.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/Opener.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/Opener.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/Opener.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/Opener.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/SpatialRef.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/SpatialRef.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/SpatialRef.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/SpatialRef.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/Subdataset.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/Subdataset.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/Subdataset.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/Subdataset.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/SubdatasetList.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/SubdatasetList.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/SubdatasetList.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/SubdatasetList.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/TiledCoverage.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/TiledCoverage.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/TiledCoverage.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/TiledCoverage.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/TiledResource.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/TiledResource.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/TiledResource.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/TiledResource.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/package-info.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/package-info.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/package-info.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/gdal/package-info.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/LibraryLoader.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/LibraryLoader.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/LibraryLoader.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/LibraryLoader.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/LibraryStatus.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/LibraryStatus.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/LibraryStatus.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/LibraryStatus.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/NativeFunctions.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/NativeFunctions.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/NativeFunctions.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/NativeFunctions.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources.properties
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources.properties
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources.properties
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources.properties
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources_en.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources_en.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources_en.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources_en.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources_fr.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources_fr.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources_fr.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources_fr.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources_fr.properties
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources_fr.properties
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources_fr.properties
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/Resources_fr.properties
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/package-info.java
 
b/optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/package-info.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/package-info.java
rename to 
optional/src/org.apache.sis.storage.gdal/main/org/apache/sis/storage/panama/package-info.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/test/org/apache/sis/storage/gdal/GDALStoreTest.java
 
b/optional/src/org.apache.sis.storage.gdal/test/org/apache/sis/storage/gdal/GDALStoreTest.java
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/test/org/apache/sis/storage/gdal/GDALStoreTest.java
rename to 
optional/src/org.apache.sis.storage.gdal/test/org/apache/sis/storage/gdal/GDALStoreTest.java
diff --git 
a/incubator/src/org.apache.sis.storage.gdal/test/org/apache/sis/storage/gdal/test.tiff
 
b/optional/src/org.apache.sis.storage.gdal/test/org/apache/sis/storage/gdal/test.tiff
similarity index 100%
rename from 
incubator/src/org.apache.sis.storage.gdal/test/org/apache/sis/storage/gdal/test.tiff
rename to 
optional/src/org.apache.sis.storage.gdal/test/org/apache/sis/storage/gdal/test.tiff

Reply via email to