Java bindings for IMC.
IMC.xml resides in conf/imc/ imcjava supports multiple IMC versions.
Use ./gradlew generate to create the bindings.
This repository includes a GitHub Actions workflow that automatically publishes to GitHub Packages when:
- A new release is created
- The workflow is manually triggered
The workflow runs on every release and authenticates automatically using the GITHUB_TOKEN secret.
To publish to GitHub Packages, you need to authenticate with your GitHub credentials:
./gradlew publish -Pgpr.user=YOUR_GITHUB_USERNAME -Pgpr.token=YOUR_GITHUB_TOKENOr set environment variables:
export GITHUB_ACTOR=YOUR_GITHUB_USERNAME
export GITHUB_TOKEN=YOUR_GITHUB_TOKEN
./gradlew publishThis will publish the artifacts to: https://maven.pkg.github.com/oceanscan/imcjava
Use ./gradlew publishToMavenLocal to test locally.
Add the GitHub Packages repository to your build.gradle:
repositories {
maven {
url = uri("https://maven.pkg.github.com/oceanscan/imcjava")
credentials {
username = project.findProperty("gpr.user") ?: System.getenv("GITHUB_ACTOR")
password = project.findProperty("gpr.token") ?: System.getenv("GITHUB_TOKEN")
}
}
}
dependencies {
implementation 'pt.lsts:imcjava:5.5.5-unify'
}For Maven users, add to your pom.xml:
<repositories>
<repository>
<id>github</id>
<url>https://maven.pkg.github.com/oceanscan/imcjava</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>pt.lsts</groupId>
<artifactId>imcjava</artifactId>
<version>5.5.5-unify</version>
</dependency>
</dependencies>And configure authentication in ~/.m2/settings.xml:
<servers>
<server>
<id>github</id>
<username>YOUR_GITHUB_USERNAME</username>
<password>YOUR_GITHUB_TOKEN</password>
</server>
</servers>