- You will need to download and install the correct version (usually the latest stable version) based on the dependency configured in core/build.gradle. As of April 2019, that's GraalVM Community Edition 1.0 RC8. Note that the open source Community Edition works fine, so don't bother with the Enterprise Edition unless you have a specific need for it. Follow instructions at https://www.graalvm.org/docs/getting-started/ for downloading and installing. In particular, set your JAVA_HOME and PATH variables appropriately. For example, something along the lines of the following at the end of your ~/.bash_profile in your home directory works well on Linux and Mac OS X:
export GRAALVM_HOME=~/Downloads/graalvm-ce-1.0.0-rc8/Contents/Home
export JAVA_HOME=$GRAALVM_HOME
export PATH=$GRAALVM_HOME/bin:$PATH
After then, you need to install ruby support for GraalVM:
gu install ruby
- Android SDK and Android Studio are not required by Amino. But many Amino demo applications are android applications. We recommend installing Android SDK and Android Studio.
- Follow instructions to install Android SDK and Android Studio. More details can be found at here.
// on Mac
$ brew cask install android-sdk
$ brew cask install android-ndk// on Mac
$ /usr/local/share/android-sdk/tools/bin/sdkmanager --licenses> cd Amino.Run/
> cat >> local.properties << EOF
ndk.dir=<your ndk dir>
sdk.dir=<your sdk dir>
EOF# checkout Amino.Run
$ git clone https://github.com/Amino-Distributed-OS/Amino.Run
> cd Amino.run/core> ../gradlew build> ./gradlew :examples:run> ./gradlew projects> ./gradlew tasks --all> ./gradlew clean
> ./gradlew goJF
# verify source code style
> ./gradlew verGJF> cd DCAP_Sapphire/sapphire/sapphire-core
> ../gradlew genStubs> ./gradlew properties
> ./gradlew jar- To join our Slack channels, send your public GitHub account, Slack account name and email address to Sungwook Moon (sungwook.moon@huawei.com)
- Read Papers
- Read Sapphire source code
- Read Code Study Notes
- Review the Principles of Distributed Systems. If you have not done a university course on distributed systems you will need to read the following to get a basic understanding of the principles and common terminology. Feel free to add more resource links below.
export BINTRAY_USER="<bintray_user>"
export BINTRAY_API_KEY="<bintray_api_key>"
> ./gradlew --info :core:bintrayUpload
# publish apache harmony to bintray
> ./gradlew --info :dependencies:apache.harmony:bintrayUpload