Development Set Up
- Medha Parlikar (Unlicensed)
- Kyle Butt
- Michael Stay (Unlicensed)
Getting set up
Linux
You'll need a C++ compiler and the necessary supporting packages.
sudo apt-get update && apt-get install build-essential
You'll need git for version control and bnfc from github for building parsers
sudo apt-get install git haskell-platform cabal install jflex cup
cabal install BNFC
You'll need sbt for building the scala code. Installation instructions.
Mac
Get the Xcode C++ compiler and supporting packages from Apple. Install MacPorts and then type
sudo port selfupdate
to get the latest software packages, then
sudo port install hs-cabal-install
to install cabal
and hackage
. Install sbt.
sudo port install sbt
Finally, install bnfc.
cabal install BNFC
Getting the source code
Clone the rchain/Rholang and rchain/Rosette repos, then check out the working branch.
git clone https://github.com/rchain/Rholang.git
git clone https://github.com/rchain/Rosette.git
cd Rholang
git checkout installJars
cd ../Rosette
git checkout dev
Building
Rosette
make
Rholang
sbt compile
Branching Strategy
There is a master branch - current release.
Dev Branch - next release.
Every developer makes personal branches from dev. Create a pull request to merge with Dev. Choose a reviewer that will approve it using their reviewer tools. If you are a reviewer, it is your responsibility to thoroughly read all the code.
Once approved, the developer will perform the merge into Dev.
When it is time to merge to master, Greg would like to be involved. In future, we will schedule this discussion as part of a release cycle.
TBD: Need to figure out cutting releases. Medha to create a graph describing the branching and release cycles.