# Apache Baremaps (incubating) ${project.version}

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!
