Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/azure-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
java-version: [ 11, 17, 21 ]
java-version: [ 17, 21 ]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
Expand Down Expand Up @@ -57,7 +57,7 @@ jobs:
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 11
java-version: 17
cache: 'maven'

- name: Tests against Azure
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ jobs:
runs-on: ubuntu-latest

steps:
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 11
java-version: 17
distribution: 'temurin'
- uses: actions/checkout@v4
- name: Maven repository caching
Expand Down
28 changes: 3 additions & 25 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,31 +7,9 @@ concurrency:
cancel-in-progress: true

env:
MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.count=3 -Xmx512m -Djava.awt.headless=true -Dorg.slf4j.simpleLogger.showDateTime=true -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss,SSS
MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.count=3 -Xmx1g -Djava.awt.headless=true -Dorg.slf4j.simpleLogger.showDateTime=true -Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss,SSS

jobs:
openjdk11:
runs-on: [ubuntu-22.04]
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: 11
distribution: 'temurin'
- name: Maven repository caching
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: gwc-${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Build with Maven
run: mvn -B clean install -Dspotless.apply.skip=true -Dall -T2 --file geowebcache/pom.xml
- name: Remove SNAPSHOT jars from repository
run: |
find .m2/repository -name "*SNAPSHOT*" -type d | xargs rm -rf {}

openjdk17:
runs-on: [ubuntu-22.04]
steps:
Expand Down Expand Up @@ -80,10 +58,10 @@ jobs:
runs-on: [ubuntu-22.04]
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 11
java-version: 17
distribution: 'temurin'
- name: Maven repository caching
uses: actions/cache@v3
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ jobs:

steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 11
java-version: 17
distribution: 'temurin'
- name: Maven repository caching
uses: actions/cache@v3
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ jobs:

steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 11
java-version: 17
distribution: 'temurin'
- name: Maven repository caching
uses: actions/cache@v3
Expand Down
8 changes: 6 additions & 2 deletions RELEASE_NOTES.txt
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
GeoWebCache 1.28-SNAPSHOT (2025-04-03)
--------------------------------------

<Release Description>
Stable release, GeoNetwork 1.28.0 is the first release requiring a Java 17 environment.

Improvements:
+++++++++++++
- <New feature>
- Java 17 minimum

Fixes:
++++++
- <Bug fix>

Updates:
++++++++

- Upgrade to GeoTools 34.x

GeoWebCache 1.27.0 (2025-04-02)
------------------------------
Expand Down
24 changes: 24 additions & 0 deletions documentation/en/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@

<target name="docs"
description="Generate html documentation">
<antcall target="sphinx-init"/>

<mkdir dir="${build.directory}"/>
<antcall target="sphinx">
Expand All @@ -72,13 +73,26 @@

<target name="site"
description="Generate html documentation">
<antcall target="autobuild-init"/>


<mkdir dir="${build.directory}"/>
<antcall target="autobuild">
<param name="id" value="user" />
</antcall>
</target>

<target name="sphinx-init" unless="sphinx.available">
<local name="message"/>
<property name="message" value="sphinx-build not available:${line.separator}
${line.separator}
virtualenv venv${line.separator}
source venv/bin/activate${line.separator}
pip install -r requirements.txt${line.separator}
"/>
<fail message="${message}"/>
</target>

<target name="sphinx" if="sphinx.available">
<local name="argLine"/>
<property name="argLine" value="-D release=${project.version} -q -W --keep-going -b html -d &quot;${build.directory}/user/doctrees&quot; . &quot;${build.directory}/user/html&quot;"/>
Expand All @@ -88,6 +102,16 @@
</exec>
</target>

<target name="autobuild-init" unless="autobuild.available">
<local name="message"/>
<property name="message" value="autobuild not available:${line.separator}
${line.separator}
virtualenv venv${line.separator}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wondering if this would work with Windows installations?

On a related note, I've just upgraded to the latest Linux Mint and it's the first distro where I'm basically forced to use virtualenvs, the previous release allowed me to use pip directly.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see why it wouldn't, it's just printing a message and using ${line.separator} for cross platform compatibility.

In any case I'm pretty sure that was Jody's contribution. @jodygarnett do you know if that'll work on windows?

source venv/bin/activate${line.separator}
pip install -r requirements.txt${line.separator}
"/>
<fail message="${message}"/>
</target>

<target name="autobuild" if="autobuild.available">
<local name="argLine"/>
Expand Down
4 changes: 2 additions & 2 deletions documentation/en/user/source/configuration/layers/howto.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ It is recommended to use a special XML editing tool or at the very least a text

Two recommended free editors, both of which have support for XML validation, are:

* `jEdit <http://www.jedit.org/>`_ (cross platform)
* `Notepad++ <http://notepad-plus-plus.org/>`_ (Windows only)
* `jEdit <https://www.jedit.org>`_ (cross platform)
* `Notepad++ <https://notepad-plus-plus.org/>`_ (Windows only)

It is also possible to validate an XML document outside of a text editor environment.

Expand Down
58 changes: 31 additions & 27 deletions documentation/en/user/source/configuration/storage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,53 +23,57 @@ does not explicitly indicate which blobstore shall be used.

.. note:: **there will always be a "default" blobstore**. If a blobstore to be used by default is not explicitly configured, one will
be created automatically following the legacy cache location lookup mechanism used in versions prior to 1.8.0.


.. _configuration.file

Configuration File
------------------

The location of the configuration file, :file:`geowebcache.xml`, will be defined by the ``GEOWEBCACHE_CACHE_DIR`` application argument.
The location of the configuration file, :file:`geowebcache.xml`, will be defined by the ``GEOWEBCACHE_CACHE_DIR`` application parameter.

There are a few ways to define this argument:
There are a few ways to define ``GEOWEBCACHE_CACHE_DIR``:

* JVM system environment variable
* Servlet context parameteter
* Operating system environment variable

The variable in all cases is defined as ``GEOWEBCACHE_CACHE_DIR``.

To set as a JVM system environment variable, add the parameter ``-DGEOWEBCACHE_CACHE_DIR=<path>`` to your servlet startup script.
In Tomcat, this can be added to the Java Options (JAVA_OPTS) variable in the startup script.

To set as a servlet context parameter, edit the GeoWebCache :file:`web.xml` file and add the following code:

.. code-block:: xml

<context-param>
<param-name>GEOWEBCACHE_CACHE_DIR</param-name>
<param-value>PATH</param-value>
</context-param>

where ``PATH`` is the location of the cache directory.
1. To set as a JVM system environment variable, add the parameter ``-DGEOWEBCACHE_CACHE_DIR=<path>`` to your servlet startup script.

To set as an operating system environment variable, run one of the the following commands:
In Tomcat, this can be added to the Java Options (``JAVA_OPTS``) variable in the startup script, or by creating :file:`setenv.sh` / :file:`setenv.bat`:

Windows::
2. To set as a servlet context parameter, edit the GeoWebCache :file:`web.xml` file and add the following code:

> set GEOWEBCACHE_CACHE_DIR=<path>
.. code-block:: xml

<context-param>
<param-name>GEOWEBCACHE_CACHE_DIR</param-name>
<param-value>PATH</param-value>
</context-param>

Linux/OS X::
where ``PATH`` is the location of the cache directory.

$ export GEOWEBCACHE_CACHE_DIR=<path>
3. To set as an operating system environment variable, run one of the the following commands:

Finally, although not recommended, it is possible to set this location directly in the :file:`geowebcache-core-context.xml` file. Uncomment this code:
Windows::

> set GEOWEBCACHE_CACHE_DIR=<path>

Linux/OS X::

$ export GEOWEBCACHE_CACHE_DIR=<path>

.. code-block:: xml
4. Not recommended: It is possible to set this location directly in the :file:`geowebcache-core-context.xml` file.
However this file will be replaced each update:

<!-- bean id="gwcBlobStore" class="org.geowebcache.storage.blobstore.file.FileBlobStore" destroy-method="destroy">
<constructor-arg value="/tmp/gwc_blobstore" />
</bean -->
.. code-block:: xml

<!-- bean id="gwcBlobStore" class="org.geowebcache.storage.blobstore.file.FileBlobStore" destroy-method="destroy">
<constructor-arg value="/tmp/gwc_blobstore" />
</bean -->

making sure to edit the path. As usual, any changes to the servlet configuration files will require :ref:`configuration.reload`.
making sure to edit the path. As usual, any changes to the servlet configuration files will require :ref:`configuration.reload`.

.. note:: if ``GEOWEBCACHE_CACHE_DIR`` is not provided by any of the above mentioned methods, the directory will default
to the temporary storage folder specified by the web application container. (For Tomcat, this is the :file:`temp` directory inside the root.)
Expand Down
21 changes: 12 additions & 9 deletions documentation/en/user/source/development/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ You are encouraged to help contribute code to GeoWebCache. To do so, you will f

This is the current prerequisites:

* Java 8 (`OpenJDK <http://openjdk.java.net>`__ linux, `OpenJDK Temurin 8 <https://adoptium.net/?variant=openjdk8&jvmVariant=hotspot>` windows and macOS installers)
* `Maven <http://maven.apache.org/>`_
* `Git <http://git-scm.com>`_
* Java 17 (`OpenJDK <https://openjdk.java.net>`__ linux, `OpenJDK Temurin 17 <https://adoptium.net/temurin/releases/?variant=openjdk8&jvmVariant=hotspot&os=any&arch=any&version=17>` windows and macOS installers)
* `Maven <https://maven.apache.org/>`_
* `Git <https://git-scm.com>`_

Please make sure you use **Java 8** to compile to ensure that we don't accidentally use new features only available in Java 11.
Please make sure you use **Java 17** to compile to ensure that we don't accidentally use new features only available in Java 21.

You are encouraged to join the `GeoWebCache Developers mailing list <https://lists.sourceforge.net/lists/listinfo/geowebcache-devel>`__ to discuss your work. It is always a good idea to ask whether anyone else has already solved the same problem.

Expand All @@ -27,28 +27,28 @@ Setting Up

.. code-block:: bash

set JAVA_HOME=c:\Program Files\Temurin\jdk8u322-b06
set JAVA_HOME=c:\Program Files\Temurin\jdk-17.0.15_6

Linux/OS X:

.. code-block:: bash

export JAVA_HOME=/opt/jdk1.7.0_79
export JAVA_HOME=/opt/jdk-17.0.15_6

#. You can download maven from http://maven.apache.org/download.html, unpack and include the :file:`bin` directory in your PATH variable.
#. You can download maven from https://maven.apache.org/download.html, unpack and include the :file:`bin` directory in your PATH variable.

Windows:

.. code-block:: bash

set M2_HOME = C:\java\apache-maven-3.8.5
set M2_HOME = C:\java\apache-maven-3.9.5
set PATH=%PATH%;%M2_HOME%\bin;%JAVA_HOME%\bin

Linux:

.. code-block:: bash

export M2_HOME = ~/java/apache-maven-3.8.5
export M2_HOME = ~/java/apache-maven-3.9.5
export PATH=$PATH:$M2_HOME/bin:$JAVA_HOME/bin

For more detail instructions on maven see the `download page <http://maven.apache.org/download.cgi>`_.
Expand Down Expand Up @@ -89,6 +89,9 @@ Build

cd web
mvn jetty:run

The service is available on http://localhost:8081/geonetwork allowing local testing with http://localhost:8080/geoserver layers. To change the port number use ``jetty.http.port``
as describde in `jetty 10 documentation <https://jetty.org/docs/jetty/10/programming-guide/maven-jetty/jetty-maven-plugin.html>`_.

#. A WAR is built as the last step in ``mvn clean install`` above.

Expand Down
4 changes: 3 additions & 1 deletion documentation/en/user/source/faq/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,7 @@ Frequently Asked Questions
This section will answer common questions about GeoWebCache.

Does GeoWebCache support WFS feature caching?
Not currently. Earlier versions of GeoWebCache had an experimental prototype of vector feature caching, but it was highly unstable and was removed from GeoWebCache as of version 1.2.5.

Not currently. Earlier versions of GeoWebCache had an experimental prototype of vector feature caching, but it was highly unstable and was removed from GeoWebCache as of version 1.2.5.

However when used with a vector tiles output format GeoWebCache can cache a vector representation of the features within each tile. It is up to client software to stich together the resulting shapes during vector tile rendering.
24 changes: 17 additions & 7 deletions documentation/en/user/source/installation/geowebcache.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
Installing GeoWebCache
======================

Once the :ref:`Java Servlet environment <prerequisites>` is in place, installing GeoWebCache is simple.
Once the :ref:`Java Servlet environment <prerequisites>` is in place:

The latest Web ARchive (WAR) file can be downloaded from `GeoWebCache.osgeo.org <https://geowebcache.osgeo.org>`_.
1. The :file:`geowebcache-war.zip` Web ARchive (WAR) file can be downloaded from `GeoWebCache.osgeo.org <https://geowebcache.osgeo.org>`_.

Unpack the zip file and make sure to read the software :ref:`license`.
2. Unpack the zip file and make sure to read the software :ref:`license`, and locate the :file:`geowebcache.war` for deployment.

Option 1: Tomcat Administration Tool
------------------------------------
Expand All @@ -18,13 +18,23 @@ Option 1: Tomcat Administration Tool

#. After the upload is complete, look for :guilabel:`geowebcache` in the :guilabel:`Applications` table.

#. GeoWebCache should be installed at ``http://localhost:8080/geowebcache``.
#. Once the application is started, GeoWebCache is available ``http://localhost:8080/geowebcache``.

Option 2: Manual Installation
-----------------------------

The file :file:`geowebcache.war` is just a zip file. The Tomcat Administration Tool unpacks this file to a folder inside the Tomcat webapps directory called ``<tomcat dir>/webapps/geowebcache``. If you wish, you can unpack this archive manually in this location. You can also make configuration changes before copying to the webapps directory.
1. Tomcat will need to be stopped before making any changes to the webapps directory.

Ensure that the Tomcat process is stopped before proceeding, as the JVM does not always release file handles immediately.

.. note:: Tomcat will need to be stopped before making any changes to the webapps directory. Ensure that the Tomcat process is stopped before proceeding, as the JVM does not always release file handles immediately.
2. To manually deploy:

After restarting Tomcat, GeoWebCache should be installed at ``http://localhost:8080/geowebcache``.
* Copy the file :file:`geowebcache.war` to :file:`<tomcat dir>/webapps`.

On startup Tomcat will deploy the application to the folder :file:`<tomcat dir>/webapps/geowebcache`

* If you wish, you can unpack this archive manually in this location. The :file:`geowebcache.war` may be treated as a zip file and be unpacked to :file:`<tomcat dir>/webapps/geowebcache`.

This approach allows you to make configuration changes before restartig Tomcat.

3. After restarting Tomcat, GeoWebCache is available ``http://localhost:8080/geowebcache``.
Loading
Loading