guardian / content-entity

Content entity model

GitHub

Content Entity Model Definition

This is the Thrift definition of the Content entity model, and the published versions of this repository are built from the autogenerated code in various languages.

Maven Central

How to release

$ sbt release cross

This will release 2 artifacts to Maven Central:

  • content-entity-model_2.13-$version.jar contains the Thrift files and Scrooge-generated Scala 2.13 classes
  • content-entity-model-thrift-$version.jar contains only the Thrift files

The package is cross-built against Scala 2.12 and 2.11

You will need a PGP key and Sonatype credentials.

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 user
  • npm owner ls - to check the owners of content-entity.
  • npm owner add <username> - to add a new owner allowing them to publish content-entity.

But in summary:

  1. Bump the version number in package.json

  2. Make sure you have built the latest version of the JS library with sbt compile

  3. If you've added another type, be sure to add it to js/main.js

  4. Then, npm publish in the same directory as package.json