Skip to content

Commit

Permalink
Merge pull request #177 from ergoplatform/develop
Browse files Browse the repository at this point in the history
Release v4.0.10 (with Sigma v4.0.5 and ergo-wallet v4.0.27)
  • Loading branch information
aslesarenko authored Jul 8, 2022
2 parents 4b4e5f9 + bb5dfc0 commit f3f38f8
Show file tree
Hide file tree
Showing 9 changed files with 227 additions and 305 deletions.
9 changes: 5 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,9 @@ jobs:

- name: Build fat jar
run: sbt clean assembly
- name: Save fat jar artifact
uses: actions/upload-artifact@v3
- name: Upload release binaries
uses: alexellis/upload-assets@0.2.2
env:
GITHUB_TOKEN: ${{ github.token }}
with:
name: ergo-appkit.jar
path: target/**/ergo-appkit-*.jar
asset_paths: '["target/**/ergo-appkit-*.jar"]'
64 changes: 64 additions & 0 deletions BUILD.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
### GraalVM

For using Appkit from non-JVM languages (JS, Python, Ruby) GraalVM can be used (Community
or Enterprise edition). It can be [downloaded](https://www.graalvm.org/downloads/) and
installed on the computer where the App is supposed to run. Community
edition should be enough for Ergo Appkit library.

#### Install GraalVM Community Edition on MacOS

First you need to download an archive with the [latest
release](https://github.com/oracle/graal/releases) of GraalVM (e.g.
`graalvm-ce-darwin-amd64-19.2.1.tar.gz` at the time of writing) for MacOS and
put the programs from it onto the `$PATH`.

```shell
$ cd <your/directory/with/downloaded/graal>
$ tar -zxf graalvm-ce-darwin-amd64-19.2.1.tar.gz
$ export GRAAL_HOME=<your/directory/with/downloaded/graal>/graalvm-ce-19.2.1/Contents/Home
$ export PATH=$PATH:${GRAAL_HOME}/bin
```

GraalVM comes with a package manager called `gu` that lets you install
additional languages (JavaScript comes with GraalVM). You will also need to
install the `native-image` tool. These all get downloaded from GitHub.
```
$ gu install native-image
$ gu install ruby
$ gu install python
$ gu install R
```
When you run `java` or `js` you'll get the GraalVM versions of those runtimes.
```
$ java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-20191009173705.graal.jdk8u-src-tar-gz-b07)
OpenJDK 64-Bit GraalVM CE 19.2.1 (build 25.232-b07-jvmci-19.2-b03, mixed mode)
$ js --version
GraalVM JavaScript (GraalVM CE Native 19.2.1)
```

### Building the Appkit jar file

Appkit is
[published](https://mvnrepository.com/artifact/org.ergoplatform/ergo-appkit),
however, you can clone the whole repository build it and published locally in
the Ivy repository.

```shell
$ git clone https://github.com/ergoplatform/ergo-appkit.git
$ cd ergo-appkit
$ sbt publishLocal
```

If you are working with Gradle/Maven, you might want to publish to your local Maven repository with

sbt publishM2

In case you need a fat JAR (or uber JAR), you can build it with

sbt clean assembly

and find it in the target/scala-* subfolder.

Loading

0 comments on commit f3f38f8

Please sign in to comment.