Development Set Up
Getting set up
Linux
You'll need a C++ compiler and the necessary supporting packages.
sudo apt-get update && apt-get install build-essentialYou'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 BNFCYou'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 selfupdateto get the latest software packages, then
sudo port install hs-cabal-installto install cabal and hackage. Install sbt.
sudo port install sbtFinally, install bnfc.
cabal install BNFCGetting 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 devBuilding
Rosette
makeRholang
sbt compileBranching 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.