You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@baremaps.apache.org by bc...@apache.org on 2023/02/23 12:22:48 UTC

[incubator-baremaps] branch main updated: First release of Apache Baremaps (#535)

This is an automated email from the ASF dual-hosted git repository.

bchapuis pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-baremaps.git


The following commit(s) were added to refs/heads/main by this push:
     new 19baee6e First release of Apache Baremaps (#535)
19baee6e is described below

commit 19baee6e9c65367523091f44307436f859018e87
Author: Bertil Chapuis <bc...@gmail.com>
AuthorDate: Thu Feb 23 13:22:43 2023 +0100

    First release of Apache Baremaps (#535)
    
    * Add distribution to the license section of the pom
    
    * Add project's description to the pom file
    
    * Include the word incubating in the release file name
    
    * Add checksums and signatures computation to release process
    
    * Add DISCLAIMER-WIP, NOTICE, and README files to the release
    
    * Add license to xml files
    
    * Add license header to bash and bat file
    
    * Upgrade maven wrapper to version 3.1.1
    
    * Upgrade proj4j and add proj4j-epsg
    
    * Upgrade jib docker image
---
 .github/workflows/release.yml                 | 128 +++++++++++++-------------
 .mvn/jvm.config                               |   2 +-
 .mvn/wrapper/maven-wrapper.jar                | Bin 58727 -> 59925 bytes
 .mvn/wrapper/maven-wrapper.properties         |  10 +-
 DISCLAIMER-WIP                                |  19 ++++
 LICENSE                                       |  14 +++
 NOTICE                                        |  39 ++++++++
 README                                        |  17 ++++
 baremaps-benchmark/pom.xml                    |  11 +++
 baremaps-cli/pom.xml                          |  33 ++++++-
 baremaps-cli/src/assembly/assembly.xml        |  44 ---------
 baremaps-cli/src/assembly/bin.xml             |  68 ++++++++++++++
 baremaps-cli/src/assembly/src.xml             |  36 ++++++++
 baremaps-cli/src/bin/baremaps                 |  11 +++
 baremaps-cli/src/bin/baremaps.bat             |  10 ++
 baremaps-cli/src/main/resources/log4j2.xml    |  11 +++
 baremaps-core/pom.xml                         |  16 ++++
 baremaps-ogcapi/pom.xml                       |  11 +++
 baremaps-ogcapi/src/main/resources/log4j2.xml |  11 +++
 baremaps-server/pom.xml                       |  11 +++
 codestyle.xml                                 |  11 +++
 mvnw                                          |  91 +++++++-----------
 mvnw.cmd                                      |  13 ++-
 pom.xml                                       |  29 +++++-
 24 files changed, 456 insertions(+), 190 deletions(-)

diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 703abbaa..2fa522f5 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -18,71 +18,71 @@ jobs:
         with:
           java-version: 17
           distribution: temurin
-      - name: Build with maven
-        run: ./mvnw install -B
-      - name: Create Release
-        id: create_release
-        uses: actions/create-release@v1
+      - name: Create release
+        run: |
+          set -x
+          echo "$GPG_PRIVATE_KEY" | gpg --import --no-tty --batch --yes
+          version=$(./mvnw -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)
+          ./mvnw install -B
+          cd ./baremaps-cli/target/
+          assets=()
+          for asset in ./baremaps-$version-incubating-*; do
+            shasum -a 512 "$asset" > "$asset.sha512"
+            gpg --no-tty --pinentry-mode loopback --batch --yes --passphrase "$GPG_PASSPHRASE" --output "$asset.asc" --detach-sign --armor "$asset"
+            assets+=("-a" "$asset")
+            assets+=("-a" "$asset.sha512")
+            assets+=("-a" "$asset.asc")
+          done
+          tag_name="${GITHUB_REF##*/}"
+          hub release create "${assets[@]}" -d -m "Baremaps $tag_name" "$tag_name"
         env:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-        with:
-          tag_name: ${{ github.ref }}
-          release_name: Baremaps ${{ github.ref }}
-          draft: false
-          prerelease: false
-      - name: Upload release
-        id: upload-release-asset
-        uses: actions/upload-release-asset@v1
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-        with:
-          upload_url: ${{ steps.create_release.outputs.upload_url }}
-          asset_path: ./baremaps-cli/target/baremaps.zip
-          asset_name: baremaps.zip
-          asset_content_type: application/zip
+          GPG_PRIVATE_KEY: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
+          GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
 
-  maven-central:
-    name: Release on Maven Central
-    runs-on: ubuntu-latest
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v3
-      - name: Set up Java 17
-        uses: actions/setup-java@v3
-        with:
-          java-version: 17
-          distribution: temurin
-          server-id: maven
-          server-username: MAVEN_USERNAME
-          server-password: MAVEN_CENTRAL_TOKEN
-          gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
-          gpg-passphrase: MAVEN_GPG_PASSPHRASE
-      - name: Build with maven
-        run: ./mvnw package -P release -B
-      - name: Deploy artifacts
-        run: ./mvnw deploy -P release -B
-        env:
-          MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
-          MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }}
-          MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
 
-  dockerhub:
-    name: Release on DockerHub
-    runs-on: ubuntu-latest
-    steps:
-      - name: Checkout code
-        uses: actions/checkout@v3
-      - name: Login to Docker Hub
-        uses: docker/login-action@v1
-        with:
-          username: ${{ secrets.DOCKERHUB_USERNAME }}
-          password: ${{ secrets.DOCKERHUB_PASSWORD }}
-      - name: Set up Java 17
-        uses: actions/setup-java@v3
-        with:
-          java-version: 17
-          distribution: temurin
-      - name: Build with maven
-        run: ./mvnw install -B
-      - name: Publish docker image with maven
-        run: ./mvnw jib:build -pl baremaps-cli -B
+#  maven-central:
+#    name: Release on Maven Central
+#    runs-on: ubuntu-latest
+#    steps:
+#      - name: Checkout code
+#        uses: actions/checkout@v3
+#      - name: Set up Java 17
+#        uses: actions/setup-java@v3
+#        with:
+#          java-version: 17
+#          distribution: temurin
+#          server-id: maven
+#          server-username: MAVEN_USERNAME
+#          server-password: MAVEN_CENTRAL_TOKEN
+#          gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }}
+#          gpg-passphrase: MAVEN_GPG_PASSPHRASE
+#      - name: Build with maven
+#        run: ./mvnw package -P release -B
+#      - name: Deploy artifacts
+#        run: ./mvnw deploy -P release -B
+#        env:
+#          MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
+#          MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }}
+#          MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
+
+#  dockerhub:
+#    name: Release on DockerHub
+#    runs-on: ubuntu-latest
+#    steps:
+#      - name: Checkout code
+#        uses: actions/checkout@v3
+#      - name: Login to Docker Hub
+#        uses: docker/login-action@v1
+#        with:
+#          username: ${{ secrets.DOCKERHUB_USERNAME }}
+#          password: ${{ secrets.DOCKERHUB_PASSWORD }}
+#      - name: Set up Java 17
+#        uses: actions/setup-java@v3
+#        with:
+#          java-version: 17
+#          distribution: temurin
+#      - name: Build with maven
+#        run: ./mvnw install -B
+#      - name: Publish docker image with maven
+#        run: ./mvnw jib:build -pl baremaps-cli -B
diff --git a/.mvn/jvm.config b/.mvn/jvm.config
index 61a567f8..faf08556 100644
--- a/.mvn/jvm.config
+++ b/.mvn/jvm.config
@@ -2,4 +2,4 @@
 --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
 --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
 --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
---add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
+--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
\ No newline at end of file
diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar
index c1dd12f1..bf82ff01 100644
Binary files a/.mvn/wrapper/maven-wrapper.jar and b/.mvn/wrapper/maven-wrapper.jar differ
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
index 8c79a83a..ca5ab4ba 100644
--- a/.mvn/wrapper/maven-wrapper.properties
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -5,14 +5,14 @@
 # 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
-# 
+#
+#   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.
-distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip
-wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.7/apache-maven-3.8.7-bin.zip
+wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar
diff --git a/DISCLAIMER-WIP b/DISCLAIMER-WIP
new file mode 100644
index 00000000..97c77ea5
--- /dev/null
+++ b/DISCLAIMER-WIP
@@ -0,0 +1,19 @@
+Apache Baremaps is an effort undergoing incubation at The Apache Software Foundation (ASF),
+sponsored by the Apache Incubator. Incubation is required of all newly accepted projects
+until a further review indicates that the infrastructure, communications, and decision-making
+process have stabilized in a manner consistent with other successful ASF projects. While incubation
+status is not necessarily a reflection of the completeness or stability of the code, it does
+indicate that the project has yet to be fully endorsed by the ASF.
+
+Some of the incubating project’s releases may not be fully compliant with ASF policy. For example,
+releases may have incomplete or un-reviewed licensing conditions. What follows is a list of issues
+the project is currently aware of (this list is likely to be incomplete):
+
+ * Releases may have incomplete licensing conditions.
+ * Releases may not have been voted on by the community.
+ * Releases contain the incompatible proj4j-epsg dependency.
+
+If you are planning to incorporate this work into your product/project, please be aware that you
+will need to conduct a thorough licensing review to determine the overall implications of including
+this work. For the current status of this project through the Apache Incubator,
+visit: https://incubator.apache.org/projects/Apache Podling-Name.html
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
index 261eeb9e..1307b508 100644
--- a/LICENSE
+++ b/LICENSE
@@ -199,3 +199,17 @@
    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.
+
+   THIRD PARTY LICENSES: This project bundles third party code and data
+
+   Code and data produced outside the ASF that is included in the
+   distribution of this product is subject to the following
+   additional license terms:
+
+       - OSMPBF, MIT License
+       - Palantir Streams, Apache License 2.0
+       - Planetiler, Apache License 2.0
+       - EPSG, EPSG Terms of Use
+       - OpenStreetMap, Open Data Commons Open Database License (ODbL)
+       - GeoNames, Creative Commons Attribution 4.0 License
+       - RIPE NCC, RIPE NCC Terms and Conditions
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 00000000..f1f5f5fa
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,39 @@
+Apache Baremaps (incubating)
+Copyright 2022-2023 The Apache Software Foundation.
+
+Baremaps development team
+Copyright 2020-2022.
+
+This product includes protocol buffers definitions copied from OSMPBF.
+MIT License.
+Please visit the following URLs for the licensing information:
+https://github.com/openstreetmap/OSM-binary/issues/18
+https://github.com/openstreetmap/OSM-binary/pull/35
+
+This product includes code derived from Palantir Streams.
+Apache License, Version 2.0
+Please visit the following URL for the full text of the Palantir license:
+https://github.com/palantir/streams/blob/develop/LICENSE
+
+This product includes code derived from Planetiler.
+Apache License, Version 2.0
+Please visit the following URL for the full text of the Planetiler license:
+https://github.com/onthegomap/planetiler/blob/main/LICENSE
+
+This product includes data from the European Petroleum Survey Group (EPSG).
+Please visit the following URL for the full text of the EPSG Terms of Use:
+https://epsg.org/terms-of-use.html
+
+This product includes test data derived from OpenStreetMap.
+Open Data Commons Open Database License (ODbL).
+Please visit the following URL for the full text of the ODbL license:
+https://opendatacommons.org/licenses/odbl/1.0/
+
+This product includes test data derived from GeoNames.
+Creative Commons Attribution 4.0 License.
+Please visit the following URL for the full text of the CC-BY license:
+https://creativecommons.org/licenses/by/4.0/
+
+This product includes test data derived from the RIPE NCC database.
+Please visit the following URL for the full text of the RIPE NCC Terms and Conditions:
+https://www.ripe.net/manage-ips-and-asns/db/support/documentation/terms
diff --git a/README b/README
new file mode 100644
index 00000000..deb4bdc9
--- /dev/null
+++ b/README
@@ -0,0 +1,17 @@
+# Apache Baremaps (incubating)
+
+Apache Baremaps is a toolkit for creating custom vector tiles from OpenStreetMap
+and other data sources with Postgis and Java.
+
+In order to build Baremaps from source, you first need to install Java 17 and Maven 3.8.1.
+Then, from this directory, you can build Baremaps with the following command:
+
+    $ mvn clean install
+
+More information about Baremaps can be found on our website:
+
+    https://baremaps.apache.org
+
+We appreciate any feedback, bug reports, and pull requests, so don't hesitate to reach out!
+
+Happy mapping!
\ No newline at end of file
diff --git a/baremaps-benchmark/pom.xml b/baremaps-benchmark/pom.xml
index 58202114..34ee5167 100644
--- a/baremaps-benchmark/pom.xml
+++ b/baremaps-benchmark/pom.xml
@@ -1,4 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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
+
+  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.
+  -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
diff --git a/baremaps-cli/pom.xml b/baremaps-cli/pom.xml
index b8ba6a63..6d819f88 100644
--- a/baremaps-cli/pom.xml
+++ b/baremaps-cli/pom.xml
@@ -1,4 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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
+
+  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.
+  -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
@@ -68,7 +79,7 @@
         <version>${version.plugin.jib-maven-plugin}</version>
         <configuration>
           <from>
-            <image>adoptopenjdk/openjdk11:alpine</image>
+            <image>eclipse-temurin:17</image>
           </from>
           <to>
             <image>registry.hub.docker.com/baremaps/baremaps</image>
@@ -82,16 +93,30 @@
         <version>3.3.0</version>
         <executions>
           <execution>
-            <id>make-zip</id>
+            <id>src</id>
+            <goals>
+              <goal>single</goal>
+            </goals>
+            <phase>package</phase>
+            <configuration>
+              <finalName>${project.parent.artifactId}-${project.parent.version}-incubating-src</finalName>
+              <appendAssemblyId>false</appendAssemblyId>
+              <descriptors>
+                <descriptor>src/assembly/src.xml</descriptor>
+              </descriptors>
+            </configuration>
+          </execution>
+          <execution>
+            <id>bin</id>
             <goals>
               <goal>single</goal>
             </goals>
             <phase>package</phase>
             <configuration>
-              <finalName>baremaps</finalName>
+              <finalName>${project.parent.artifactId}-${project.parent.version}-incubating-bin</finalName>
               <appendAssemblyId>false</appendAssemblyId>
               <descriptors>
-                <descriptor>src/assembly/assembly.xml</descriptor>
+                <descriptor>src/assembly/bin.xml</descriptor>
               </descriptors>
             </configuration>
           </execution>
diff --git a/baremaps-cli/src/assembly/assembly.xml b/baremaps-cli/src/assembly/assembly.xml
deleted file mode 100644
index ed27aaae..00000000
--- a/baremaps-cli/src/assembly/assembly.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
-  <id>zip</id>
-  <includeBaseDirectory>true</includeBaseDirectory>
-  <formats>
-    <format>zip</format>
-  </formats>
-  <fileSets>
-    <fileSet>
-      <directory>src/bin</directory>
-      <outputDirectory>bin</outputDirectory>
-      <includes>
-        <include>baremaps</include>
-      </includes>
-      <lineEnding>unix</lineEnding>
-      <fileMode>0755</fileMode>
-    </fileSet>
-    <fileSet>
-      <directory>src/bin</directory>
-      <outputDirectory>bin</outputDirectory>
-      <includes>
-        <include>baremaps.bat</include>
-      </includes>
-      <lineEnding>windows</lineEnding>
-      <fileMode>0755</fileMode>
-    </fileSet>
-    <fileSet>
-      <directory>target</directory>
-      <outputDirectory>lib</outputDirectory>
-      <includes>
-        <include>*.jar</include>
-      </includes>
-    </fileSet>
-  </fileSets>
-  <dependencySets>
-    <dependencySet>
-      <outputDirectory>lib</outputDirectory>
-      <excludes>
-        <exclude>${project.groupId}:${project.artifactId}:jar:*</exclude>
-      </excludes>
-    </dependencySet>
-  </dependencySets>
-</assembly>
\ No newline at end of file
diff --git a/baremaps-cli/src/assembly/bin.xml b/baremaps-cli/src/assembly/bin.xml
new file mode 100644
index 00000000..14fbe120
--- /dev/null
+++ b/baremaps-cli/src/assembly/bin.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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
+
+  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.
+  -->
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
+  <id>zip</id>
+  <includeBaseDirectory>true</includeBaseDirectory>
+  <formats>
+    <format>zip</format>
+  </formats>
+  <fileSets>
+    <fileSet>
+      <directory>../.</directory>
+      <outputDirectory>.</outputDirectory>
+      <includes>
+        <include>DISCLAIMER-WIP</include>
+        <include>LICENSE</include>
+        <include>NOTICE</include>
+        <include>README</include>
+      </includes>
+      <lineEnding>unix</lineEnding>
+      <fileMode>0755</fileMode>
+    </fileSet>
+    <fileSet>
+      <directory>src/bin</directory>
+      <outputDirectory>bin</outputDirectory>
+      <includes>
+        <include>baremaps</include>
+      </includes>
+      <lineEnding>unix</lineEnding>
+      <fileMode>0755</fileMode>
+    </fileSet>
+    <fileSet>
+      <directory>src/bin</directory>
+      <outputDirectory>bin</outputDirectory>
+      <includes>
+        <include>baremaps.bat</include>
+      </includes>
+      <lineEnding>windows</lineEnding>
+      <fileMode>0755</fileMode>
+    </fileSet>
+    <fileSet>
+      <directory>target</directory>
+      <outputDirectory>lib</outputDirectory>
+      <includes>
+        <include>*.jar</include>
+      </includes>
+    </fileSet>
+  </fileSets>
+  <dependencySets>
+    <dependencySet>
+      <outputDirectory>lib</outputDirectory>
+      <excludes>
+        <exclude>${project.groupId}:${project.artifactId}:jar:*</exclude>
+      </excludes>
+    </dependencySet>
+  </dependencySets>
+</assembly>
diff --git a/baremaps-cli/src/assembly/src.xml b/baremaps-cli/src/assembly/src.xml
new file mode 100644
index 00000000..35522a9a
--- /dev/null
+++ b/baremaps-cli/src/assembly/src.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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
+
+  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.
+  -->
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
+    <id>zip</id>
+    <includeBaseDirectory>true</includeBaseDirectory>
+    <formats>
+        <format>zip</format>
+    </formats>
+    <fileSets>
+        <fileSet>
+            <directory>../.</directory>
+            <outputDirectory>.</outputDirectory>
+            <includes>
+                <include>**/pom.xml</include>
+                <include>**/src/**/*</include>
+                <include>codestyle.xml</include>
+                <include>DISCLAIMER-WIP</include>
+                <include>LICENSE</include>
+                <include>NOTICE</include>
+                <include>README</include>
+            </includes>
+        </fileSet>
+    </fileSets>
+</assembly>
diff --git a/baremaps-cli/src/bin/baremaps b/baremaps-cli/src/bin/baremaps
index 8154dcdb..9e5e960a 100644
--- a/baremaps-cli/src/bin/baremaps
+++ b/baremaps-cli/src/bin/baremaps
@@ -1,3 +1,14 @@
 #!/bin/sh
+
+# 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
+#
+# 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.
+
 DIR="$( cd "$(dirname "$0")" ; pwd -P )"
 java -cp "$DIR/../lib/*" org.apache.baremaps.cli.Baremaps "$@"
diff --git a/baremaps-cli/src/bin/baremaps.bat b/baremaps-cli/src/bin/baremaps.bat
index 5708c46e..4a094b50 100644
--- a/baremaps-cli/src/bin/baremaps.bat
+++ b/baremaps-cli/src/bin/baremaps.bat
@@ -1,3 +1,13 @@
+:: 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
+::
+:: 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.
+
 @echo off
 set dir=%~dp0%
 set LIB="%dir%..\lib\*"
diff --git a/baremaps-cli/src/main/resources/log4j2.xml b/baremaps-cli/src/main/resources/log4j2.xml
index 79f77624..eda9b8d4 100644
--- a/baremaps-cli/src/main/resources/log4j2.xml
+++ b/baremaps-cli/src/main/resources/log4j2.xml
@@ -1,4 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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
+
+  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.
+  -->
 <Configuration status="INFO">
   <Appenders>
     <console name="console" target="SYSTEM_OUT">
diff --git a/baremaps-core/pom.xml b/baremaps-core/pom.xml
index 3a2ad586..8f89e026 100644
--- a/baremaps-core/pom.xml
+++ b/baremaps-core/pom.xml
@@ -1,4 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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
+
+  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.
+  -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
@@ -98,6 +109,11 @@
       <groupId>org.locationtech.proj4j</groupId>
       <artifactId>proj4j</artifactId>
     </dependency>
+    <!-- TODO: Remove this dependency due to license incompatibility -->
+    <dependency>
+      <groupId>org.locationtech.proj4j</groupId>
+      <artifactId>proj4j-epsg</artifactId>
+    </dependency>
     <dependency>
       <groupId>org.postgresql</groupId>
       <artifactId>postgresql</artifactId>
diff --git a/baremaps-ogcapi/pom.xml b/baremaps-ogcapi/pom.xml
index 01c8f97c..06177605 100644
--- a/baremaps-ogcapi/pom.xml
+++ b/baremaps-ogcapi/pom.xml
@@ -1,4 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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
+
+  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.
+  -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 
   <modelVersion>4.0.0</modelVersion>
diff --git a/baremaps-ogcapi/src/main/resources/log4j2.xml b/baremaps-ogcapi/src/main/resources/log4j2.xml
index e5c99bab..d6597857 100644
--- a/baremaps-ogcapi/src/main/resources/log4j2.xml
+++ b/baremaps-ogcapi/src/main/resources/log4j2.xml
@@ -1,4 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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
+
+  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.
+  -->
 <Configuration status="INFO">
   <Appenders>
     <console name="console" target="SYSTEM_OUT">
diff --git a/baremaps-server/pom.xml b/baremaps-server/pom.xml
index 538b2d47..98c45a4c 100644
--- a/baremaps-server/pom.xml
+++ b/baremaps-server/pom.xml
@@ -1,4 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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
+
+  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.
+  -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
diff --git a/codestyle.xml b/codestyle.xml
index e7c3770e..ad9577c8 100644
--- a/codestyle.xml
+++ b/codestyle.xml
@@ -1,4 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+  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
+
+  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.
+  -->
 <profiles version="13">
   <profile kind="CodeFormatterProfile" name="GoogleStyle" version="13">
     <setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
diff --git a/mvnw b/mvnw
index 5643201c..b7f06462 100755
--- a/mvnw
+++ b/mvnw
@@ -19,7 +19,7 @@
 # ----------------------------------------------------------------------------
 
 # ----------------------------------------------------------------------------
-# Maven Start Up Batch script
+# Apache Maven Wrapper startup batch script, version 3.1.1
 #
 # Required ENV vars:
 # ------------------
@@ -27,7 +27,6 @@
 #
 # Optional ENV vars
 # -----------------
-#   M2_HOME - location of maven2's installed home dir
 #   MAVEN_OPTS - parameters passed to the Java VM when running Maven
 #     e.g. to debug Maven itself, use
 #       set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@@ -62,9 +61,9 @@ case "`uname`" in
     # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
     if [ -z "$JAVA_HOME" ]; then
       if [ -x "/usr/libexec/java_home" ]; then
-        export JAVA_HOME="`/usr/libexec/java_home`"
+        JAVA_HOME="`/usr/libexec/java_home`"; export JAVA_HOME
       else
-        export JAVA_HOME="/Library/Java/Home"
+        JAVA_HOME="/Library/Java/Home"; export JAVA_HOME
       fi
     fi
     ;;
@@ -76,36 +75,8 @@ if [ -z "$JAVA_HOME" ] ; then
   fi
 fi
 
-if [ -z "$M2_HOME" ] ; then
-  ## resolve links - $0 may be a link to maven's home
-  PRG="$0"
-
-  # need this for relative symlinks
-  while [ -h "$PRG" ] ; do
-    ls=`ls -ld "$PRG"`
-    link=`expr "$ls" : '.*-> \(.*\)$'`
-    if expr "$link" : '/.*' > /dev/null; then
-      PRG="$link"
-    else
-      PRG="`dirname "$PRG"`/$link"
-    fi
-  done
-
-  saveddir=`pwd`
-
-  M2_HOME=`dirname "$PRG"`/..
-
-  # make it fully qualified
-  M2_HOME=`cd "$M2_HOME" && pwd`
-
-  cd "$saveddir"
-  # echo Using m2 at $M2_HOME
-fi
-
 # For Cygwin, ensure paths are in UNIX format before anything is touched
 if $cygwin ; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME=`cygpath --unix "$M2_HOME"`
   [ -n "$JAVA_HOME" ] &&
     JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
   [ -n "$CLASSPATH" ] &&
@@ -114,8 +85,6 @@ fi
 
 # For Mingw, ensure paths are in UNIX format before anything is touched
 if $mingw ; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME="`(cd "$M2_HOME"; pwd)`"
   [ -n "$JAVA_HOME" ] &&
     JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
 fi
@@ -163,12 +132,9 @@ if [ -z "$JAVA_HOME" ] ; then
   echo "Warning: JAVA_HOME environment variable is not set."
 fi
 
-CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
-
 # traverses directory structure from process work directory to filesystem root
 # first directory with .mvn subdirectory is considered project base directory
 find_maven_basedir() {
-
   if [ -z "$1" ]
   then
     echo "Path not specified to find_maven_basedir"
@@ -188,7 +154,7 @@ find_maven_basedir() {
     fi
     # end of workaround
   done
-  echo "${basedir}"
+  printf '%s' "$(cd "$basedir"; pwd)"
 }
 
 # concatenates all lines of a file
@@ -198,11 +164,16 @@ concat_lines() {
   fi
 }
 
-BASE_DIR=`find_maven_basedir "$(pwd)"`
+BASE_DIR=$(find_maven_basedir "$(dirname $0)")
 if [ -z "$BASE_DIR" ]; then
   exit 1;
 fi
 
+MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR
+if [ "$MVNW_VERBOSE" = true ]; then
+  echo $MAVEN_PROJECTBASEDIR
+fi
+
 ##########################################################################################
 # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
 # This allows using the maven wrapper in projects that prohibit checking in binary data.
@@ -216,16 +187,16 @@ else
       echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
     fi
     if [ -n "$MVNW_REPOURL" ]; then
-      jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
+      wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar"
     else
-      jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
+      wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar"
     fi
     while IFS="=" read key value; do
-      case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
+      case "$key" in (wrapperUrl) wrapperUrl="$value"; break ;;
       esac
     done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
     if [ "$MVNW_VERBOSE" = true ]; then
-      echo "Downloading from: $jarUrl"
+      echo "Downloading from: $wrapperUrl"
     fi
     wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
     if $cygwin; then
@@ -233,42 +204,49 @@ else
     fi
 
     if command -v wget > /dev/null; then
+        QUIET="--quiet"
         if [ "$MVNW_VERBOSE" = true ]; then
           echo "Found wget ... using wget"
+          QUIET=""
         fi
         if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
-            wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
+            wget $QUIET "$wrapperUrl" -O "$wrapperJarPath"
         else
-            wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
+            wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath"
         fi
+        [ $? -eq 0 ] || rm -f "$wrapperJarPath"
     elif command -v curl > /dev/null; then
+        QUIET="--silent"
         if [ "$MVNW_VERBOSE" = true ]; then
           echo "Found curl ... using curl"
+          QUIET=""
         fi
         if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
-            curl -o "$wrapperJarPath" "$jarUrl" -f
+            curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L
         else
-            curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
+            curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L
         fi
-
+        [ $? -eq 0 ] || rm -f "$wrapperJarPath"
     else
         if [ "$MVNW_VERBOSE" = true ]; then
           echo "Falling back to using Java to download"
         fi
-        javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
+        javaSource="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
+        javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class"
         # For Cygwin, switch paths to Windows format before running javac
         if $cygwin; then
+          javaSource=`cygpath --path --windows "$javaSource"`
           javaClass=`cygpath --path --windows "$javaClass"`
         fi
-        if [ -e "$javaClass" ]; then
-            if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+        if [ -e "$javaSource" ]; then
+            if [ ! -e "$javaClass" ]; then
                 if [ "$MVNW_VERBOSE" = true ]; then
                   echo " - Compiling MavenWrapperDownloader.java ..."
                 fi
                 # Compiling the Java class
-                ("$JAVA_HOME/bin/javac" "$javaClass")
+                ("$JAVA_HOME/bin/javac" "$javaSource")
             fi
-            if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+            if [ -e "$javaClass" ]; then
                 # Running the downloader
                 if [ "$MVNW_VERBOSE" = true ]; then
                   echo " - Running MavenWrapperDownloader.java ..."
@@ -282,16 +260,10 @@ fi
 # End of extension
 ##########################################################################################
 
-export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
-if [ "$MVNW_VERBOSE" = true ]; then
-  echo $MAVEN_PROJECTBASEDIR
-fi
 MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
 
 # For Cygwin, switch paths to Windows format before running java
 if $cygwin; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME=`cygpath --path --windows "$M2_HOME"`
   [ -n "$JAVA_HOME" ] &&
     JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
   [ -n "$CLASSPATH" ] &&
@@ -311,6 +283,5 @@ exec "$JAVACMD" \
   $MAVEN_OPTS \
   $MAVEN_DEBUG_OPTS \
   -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
-  "-Dmaven.home=${M2_HOME}" \
   "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
   ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/mvnw.cmd b/mvnw.cmd
index 23b7079a..cba1f040 100644
--- a/mvnw.cmd
+++ b/mvnw.cmd
@@ -18,13 +18,12 @@
 @REM ----------------------------------------------------------------------------
 
 @REM ----------------------------------------------------------------------------
-@REM Maven Start Up Batch script
+@REM Apache Maven Wrapper startup batch script, version 3.1.1
 @REM
 @REM Required ENV vars:
 @REM JAVA_HOME - location of a JDK home dir
 @REM
 @REM Optional ENV vars
-@REM M2_HOME - location of maven2's installed home dir
 @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
 @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
 @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@@ -120,10 +119,10 @@ SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
 set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
 set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
 
-set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
+set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar"
 
 FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
-    IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
+    IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B
 )
 
 @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
@@ -134,11 +133,11 @@ if exist %WRAPPER_JAR% (
     )
 ) else (
     if not "%MVNW_REPOURL%" == "" (
-        SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
+        SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar"
     )
     if "%MVNW_VERBOSE%" == "true" (
         echo Couldn't find %WRAPPER_JAR%, downloading it ...
-        echo Downloading from: %DOWNLOAD_URL%
+        echo Downloading from: %WRAPPER_URL%
     )
 
     powershell -Command "&{"^
@@ -146,7 +145,7 @@ if exist %WRAPPER_JAR% (
 		"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
 		"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
 		"}"^
-		"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
+		"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^
 		"}"
     if "%MVNW_VERBOSE%" == "true" (
         echo Finished downloading %WRAPPER_JAR%
diff --git a/pom.xml b/pom.xml
index 4f594705..3229486f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,4 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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
+
+  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.
+  -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
@@ -7,8 +18,8 @@
   <version>0.7.1-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>baremaps</name>
-  <description>Baremaps</description>
-  <url>https://github.com/baremaps/baremaps</url>
+  <description>Apache Baremaps (incubating) is a toolkit and a set of infrastructure components for creating, publishing, and operating online maps.</description>
+  <url>https://github.com/apache/baremaps</url>
 
   <organization>
     <name>baremaps</name>
@@ -19,6 +30,7 @@
     <license>
       <name>Apache License, Version 2.0</name>
       <url>http://www.apache.org/licenses/LICENSE-2.0</url>
+      <distribution>repo</distribution>
     </license>
   </licenses>
 
@@ -91,7 +103,7 @@
     <version.lib.pgbulkinsert>8.1.0</version.lib.pgbulkinsert>
     <version.lib.picocli>4.6.3</version.lib.picocli>
     <version.lib.postgresql>42.5.0</version.lib.postgresql>
-    <version.lib.proj4j>1.1.5</version.lib.proj4j>
+    <version.lib.proj4j>1.2.3</version.lib.proj4j>
     <version.lib.protobuf>3.21.6</version.lib.protobuf>
     <version.lib.roaringbitmap>0.9.38</version.lib.roaringbitmap>
     <version.lib.servicetalk>0.42.18</version.lib.servicetalk>
@@ -433,6 +445,11 @@
         <artifactId>proj4j</artifactId>
         <version>${version.lib.proj4j}</version>
       </dependency>
+      <dependency>
+        <groupId>org.locationtech.proj4j</groupId>
+        <artifactId>proj4j-epsg</artifactId>
+        <version>${version.lib.proj4j}</version>
+      </dependency>
       <dependency>
         <groupId>org.postgresql</groupId>
         <artifactId>postgresql</artifactId>
@@ -593,6 +610,8 @@
             </includes>
             <sortPom>
               <encoding>UTF-8</encoding>
+              <expandEmptyElements>false</expandEmptyElements>
+              <spaceBeforeCloseEmptyElement>true</spaceBeforeCloseEmptyElement>
               <nrOfIndentSpace>2</nrOfIndentSpace>
               <sortDependencies>groupId,artifactId</sortDependencies>
               <sortPlugins>groupId,artifactId</sortPlugins>
@@ -601,8 +620,8 @@
             </sortPom>
           </pom>
           <java>
-            <importOrder></importOrder>
-            <removeUnusedImports></removeUnusedImports>
+            <importOrder />
+            <removeUnusedImports />
             <eclipse>
               <!-- versions 4.20.0 and newer don't with records -->
               <version>4.19.0</version>