Quick Start¶
Download and install GraalVM Community Edition¶
- 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
Install Android SDK and Android Studio (optional)¶
- 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
Accept Android SDK License¶
// on Mac
$ /usr/local/share/android-sdk/tools/bin/sdkmanager --licenses
Add Android Properties¶
> cd Amino.Run/
> cat >> local.properties << EOF
ndk.dir=<your ndk dir>
sdk.dir=<your sdk dir>
EOF
Get and Build the Source Code¶
Check out from Github¶
# checkout Amino.Run
$ git clone https://github.com/amino-os/Amino.Run
> cd Amino.Run/core
Build and Test the Core¶
> ../gradlew build
Build and Run Basic Example Applications¶
> ./gradlew :examples:run
Other Gradle Tasks and Tips¶
List Projects¶
> ./gradlew projects
List All Gradle Tasks¶
> ./gradlew tasks --all
Clean All Build Artifacts¶
> ./gradlew clean
Format Source Code¶
> ./gradlew goJF
# verify source code style
> ./gradlew verGJF
Generate Policy Stub¶
> cd Amino.Run/core
> ../gradlew genStubs
Other Gradle Tips¶
> ./gradlew properties
> ./gradlew jar
Communicate¶
- To join our Slack channels, send your public GitHub account, Slack account name and email address to Sungwook Moon (sungwook.moon@huawei.com)
Some additional Background Reading for the Curious¶
- 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.