Content Atom Model Definition
This is the Thrift definition of the Content Atom model, and the published versions of this repository are built from the autogenerated code in various languages.
Thrift
You need to have french-thrift 0.9.3 installed locally.
How to release
$ sbt 'release cross'
This will release 3 artifacts to Maven Central:
content-atom-model-thrift-$version.jar
contains only the Thrift filescontent-atom-model_2.11-$version.jar
contains the Thrift files and Scrooge-generated Scala 2.11 classescontent-atom-model_2.12-$version.jar
contains the Thrift files and Scrooge-generated Scala 2.12 classes
You will need a PGP key and Sonatype credentials. See here and here for some helpful guides.
To cross release locally use
$ sbt '+publishLocal'
JavaScript
The JS library should be published to npmjs, see:
https://www.npmjs.com/package/publish
and npm help publish
.
If you're unfamiliar with publishing on npm the following commands can be useful:
npm whoami
- to find out your username (if you have created one)npm adduser
- to create a usernpm owner ls
- to check the owners of content-atom.npm owner add <username>
- to add a new owner allowing them to publish content-atom.
But in summary:
-
Bump the version number in
package.json
-
Make sure you have built the latest version of the JS library with
sbt compile
-
If you've added another type, be sure to add it to
js/main.js
-
Then,
npm publish
in the same directory aspackage.json