High performance Scala library and Spark Polyglot (Scala, Python, SQL, etc.) connector for OpenStreetMap Pbf files.
⚠ Full usage documentation at https://simplexspatial.github.io/osm4scala/
It's possible to develop using a Windows machine, but all documentation suppose that you are using Linux or Mac.
The only special requirement is to execute sbt compile
to generate the protobuf source code.
```shell script
sbt compile
## PATCH_211 flag
Because depending on the Scala version, there are projects that are disabled (No spark3 for Scala 2.11) and different
libraries dependencies. Because this, there is a flag called PATCH_211 (default value is false) to enable or disable
Scala 2.11 compatibility.
### Cross versions
The project is using cross version to manage 2.11, 2.12 and 2.13 using the same code base, so remember to use '+' to
trigger all versions versions.
So remember, as example, for testing:
```shell script
PATCH_211=false sbt +test
PATCH_211=true sbt +test
The publication into Maven Central has been removed from the release process, so now there are few steps:
1. Release.
shell script
git checkout master
sbt release
2. Publish into Maven Central. Information about configuration in plugins involved:
- sbt-pgp using gpg
command-line utility under the cover.
- Sonatype GPG documentation
- xerial/sbt-sonatype
- scala-lang documentation
Basically:
- Set the keys as sbt-pgp#working-with-pgp-signatures explains.
- Be sure that public key has been uploaded into, at least last time, pgp.mit.edu
: gpg --keyserver hkp://pgp.mit.edu --send-keys <key>
- Set the right credentials file at $HOME/.sbt/1.0/sonatype.sbt
.
- Execute:
shell script
git checkout v1.*.*
sbt clean
PATCH_211=false sbt +publishSigned
PATCH_211=true sbt +publishSigned
# In this point, tree target/sonatype-staging/ will show all artifacts to publish.
sbt sonatypeBundleRelease
3. Publish documentation and site.
bash
git checkout v1.*.*
cd website
nvm use
export GIT_USER=<username>; export USE_SSH=true; npm run deploy