boundlessgeo/schema

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

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Schema

Version v0.16.4

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.

Building Schema Artifacts
Commits merged to master must increment the version in script/version.json.
Also run golang.sh to update the go source as it's not auto-generated and deployed by Jenkins

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

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

Objective-C

This will build to a folder called objc_build in the root dir

cript/objc.sh
Python

This will build a distribution in the python/dist directory

 script/python.sh
Golang

Places go source in pkg/schema

cript/golang.sh

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.