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

Releasing

Publish Core to Bintray

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