Building from source

Requirements

  • Java 21 — tested with Eclipse Temurin 21. The version is pinned in .sdkmanrc; if you use SDKMAN! run sdk env in the project root.
  • The Gradle wrapper (./gradlew / gradlew.bat) downloads Gradle automatically — no separate Gradle installation is required.

Building

git clone https://github.com/fredrik-rambris/portamos.git
cd portamos
./gradlew build

This runs all tests and produces a fat JAR at:

build/libs/portamos-<version>-all.jar

Run it directly:

java -jar build/libs/portamos-*-all.jar --help

Running without installing

You can invoke the tool via Gradle during development:

./gradlew run --args="list program.AMOS program.Asc"

Native binaries

The release workflow builds native executables with GraalVM Native Image. To reproduce a native build locally you need GraalVM 21 with the native-image component installed:

./gradlew nativeCompile

The binary is written to build/native/nativeCompile/portamos.

Running the tests

./gradlew test

Integration tests round-trip several reference .AMOS / .Asc pairs and verify byte-identical output.


Portamos is open-source software licensed under the Apache 2.0 License.

This site uses Just the Docs, a documentation theme for Jekyll.