The Schema repository holds the protocol buffer message schemas used to exchange data between systems.
The commands below will create Protobuf classes for use in iOS, Python, Golang, and JVM (Clojure, Java, Android) runtimes.
Javascript will use the actions.json and events.json since the contents of these files are already native to the language.
docker run -it -v <ABSOLUTE_PATH_TO>/schema:/code quay.io/boundlessgeo/schema bash script/<LANGUAGE>.sh
Golang source must be updated manually
The schema definitions are contained in actions.json and events.json. For artifacts that need/use a version number,
the version is in script/version.json. Any PRs that make changes to the schema (or add/delete schema definition files)
should always bump the version in script/version.json. The helper scripts (documented below) will convert the schema
JSON files into appropriate source for the target language/platform and compile the artifact, versioning them where
applicable. The bulk of the conversion logic is contained and documented in script/index.sh.
Currently, there is a Jenkins job that will automatically deploy the Java and Python artifacts, located here:
https://ciapi.boundlessgeo.io/job/boundless-schema-deploy
Any time a commit is pushed to master, that job will pick up the changes and deploy new artifacts.
java.shwill put a schema jar in your local maven repoobjc.shwill build to a folder calledobjc_buildin the root dirpython.shwill build a distribution in thepython/distdirectorygolang.shplaces go source inpkg/schema