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 <martin.desruisse...@geomatys.com>
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 following commands.
@@ -297,44 +299,62 @@ It is okay to checkout the branch in a separated 
directory if desired.
 The `SIS_RC_DIR` environment variable will specify that directory.
 
 {{< highlight bash >}}
-cd ../master
+cd ../main
 git checkout -b $NEW_VERSION-RC
 export SIS_RC_DIR=`pwd`
 {{< / highlight >}}
 
-Remove the files and modules that are not yet ready for a release.
-This may require removing `<module>` elements in the parent `pom.xml` file.
+Remove the files and modules that are not intended to be released.
+Edit at least the files listed below for removing all occurrences of 
"incubator"
+(the search is easier to do after the removal of "incubator" directory):
+
+* `endorsed/src/org.apache.sis.util/main/module-info.java`
+* `netbeans-project/nbproject/project.properties`
+* `netbeans-project/nbproject/project.xml`
+* `settings.gradle.kts`
+* `README.md`
 
 {{< highlight bash >}}
 git rm .asf.yaml
-git rm -r core/sis-cql
-git rm -r storage/sis-shapefile
-git rm -r application/sis-webapp
+git rm -r incubator
+# Edit above-listed files before to continue.
 git add --update    # for the removal of <module> elements in pom.xml files.
 git commit --message="Remove the modules to be excluded from $NEW_VERSION 
release."
 {{< / highlight >}}
 
-Open the root `pom.xml` file in an editor and perform the following changes:
+Update SIS version numbers by removing all occurrences of the `-SNAPSHOT` 
suffix
+at least in the following files:
 
-* Remove the whole `<pluginRepositories>` block (including comment),
-  since it should not be needed for releases (and is actually not allowed).
+* `parent/pom.xml`
+* `optional/build.gradle.kts`
+* `endorsed/build.gradle.kts`
+* `endorsed/src/org.apache.sis.openoffice/bundle/README.md`
+* `endorsed/src/org.apache.sis.util/main/org/apache/sis/util/Version.java`
+* 
`endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/factory/sql/epsg/README.md`
 
-We need to update the SIS version numbers not only in the `pom.xml` files, but 
also in a few Java files.
-The following command performs the replacement using Ant.
+Then commit:
 
 {{< highlight bash >}}
-ant -buildfile core/sis-build-helper/src/main/ant/prepare-release.xml branch 
-Dsis.version=$NEW_VERSION
-git rm -r core/sis-build-helper/src/main/ant
+git add --update
+gradle test
+git commit --message="Set version number to $NEW_VERSION."
 {{< / highlight >}}
 
-Validate with `git diff --staged`, search `SNAPSHOT` in the whole source 
directory in case we missed some, then commit:
+## 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:
 
 {{< highlight bash >}}
-git add --update
-mvn clean install
-git commit --message="Set version number to $NEW_VERSION."
+gradle javadoc
+gedit endorsed/build/tmp/javadoc/javadoc.options
+javadoc @endorsed/build/tmp/javadoc/javadoc.options
 {{< / highlight >}}
 
+
 ## Test branch extensively    {#test-branch}
 
 Build the project with the `apache-release` profile enabled.
@@ -626,7 +646,7 @@ unzip apache-sis-$NEW_VERSION-bin.zip
 cd apache-sis-$NEW_VERSION
 unset SIS_DATA
 bin/sis about --verbose
-bin/sis crs 
https://github.com/apache/sis/raw/master/core/sis-referencing/src/test/resources/org/apache/sis/referencing/crs/ProjectedCRS.xml
 --format WKT
+bin/sis crs 
https://github.com/apache/sis/raw/main/core/sis-referencing/src/test/resources/org/apache/sis/referencing/crs/ProjectedCRS.xml
 --format WKT
 {{< / highlight >}}
 
 # Prepare OpenOffice add-in    {#openoffice}
@@ -773,9 +793,9 @@ svn delete 
https://dist.apache.org/repos/dist/release/sis/$OLD_VERSION \
     --message "Archive SIS-$OLD_VERSION after release of SIS-$NEW_VERSION."
 {{< / highlight >}}
 
-# Update master for the next development cycle    {#next-release}
+# Update main branch for the next development cycle    {#next-release}
 
-On the `master` branch:
+On the `main` branch:
 
 * Update the version numbers in all `pom.xml` files.
 * Edit the value of the `MAJOR_VERSION` or `MINOR_VERSION` constant in the
diff --git a/content/source.md b/content/source.md
index c7b768c0..07f511ea 100644
--- a/content/source.md
+++ b/content/source.md
@@ -56,16 +56,16 @@ 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.
+* `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.
+* `endorsed/build/bundle/` for the OXT add-in for Open/LibreOffice Calc.
 * `optional/build/bundle/` for the JavaFX application if optional dependencies 
were specified.
 
 The remaining of this page describes optional configurations for more advanced 
developments.

Reply via email to