Switch branches/tags
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


#Building a release version of coweb-jsoe

##Code organization

The source code of the operational transformation algorithm lives in /src/coweb/jsoe. This code is included in all release packages as it is essential to having OT.

The code in /src/npm is used to generate a Node.JS module.

The code in /src/org is 3rd party library code used by coweb-jsoe. See the NOTICES file in the project root directory for licensing information.


The release packages are generated using scripts in this /bin directory. When releasing a new version of coweb-jsoe, change all references to version numbering. As of writing this README, there are three locations with version information: /src/coweb/jsoe/OperationEngine.js, /src/npm/package.json, and /docs/conf.py. Change the version number to that of what is about to be released.

###Build coweb-jsoe

The coweb-jsoe target contains only the source code required for creating an OTEngine JavaScript object. Run ./bin/release-jsoe.sh from the project root directory. The script will warn if the release tarball already exists in /dist. Use --force to overwrite any existing package in /dist.

###Build Node.JS coweb-jsoe module

The Node.JS module target is created by running ./bin/release-npm.sh and works similar to the above script. After creating the npm release target, run npm publish dist/npm/coweb-jsoe-$VERSION.tgz to publish the target to npm's central repository.

###Build documentation

You will need the sphinx docs tools for building the documentation. Navigate to /docs and run make to see a list of available options. make html will create an HTML version of the documentation.