Name: schema
Owner: Boundless
Description: null
Created: 2016-08-04 15:22:37.0
Updated: 2018-05-16 12:59:02.0
Pushed: 2018-05-16 12:59:00.0
Homepage: null
Size: 143
Language: Shell
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
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.
brew install bash
to get v4.#!/usr/local/bin/bash
master
must increment the version in script/version.json
.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.
This will put a schema jar in your local maven repo
cript/java.sh
After running the above command, if you want to publish the artifact,
ava
deploy
Note: your ~/.m2/settings.xml must be setup with authentication credentials required to publish to the Boundless maven repo
This will build to a folder called objc_build
in the root dir
cript/objc.sh
This will build a distribution in the python/dist
directory
script/python.sh
Places go source in pkg/schema
cript/golang.sh