jactl icon indicating copy to clipboard operation
jactl copied to clipboard

Add file .sdkmanrc to improve the dev experience

Open wfouche opened this issue 6 months ago • 0 comments

dot_sdkmanrc.txt

SDKMAN is a popular JDK and SDK manager and used by many open-source projects including the Spring Framework:

  • https://github.com/spring-projects/spring-framework/blob/main/.sdkmanrc

The following .sdkmanrc file specifies the versions of Java and JBang to be used when building or running jactl (as a developer).

.sdkmanrc

# Enable auto-env through the sdkman_auto_env config
# Add key=value pairs of SDKs to use below

# Java
java=8.0.452-tem

# JBang
jbang=0.126.1

Before building jactl all a developer needs to do is to run SDKMAN command:

$ sdk env 

Using java version 8.0.452-tem in this shell.

Using jbang version 0.126.1 in this shell.

Thereafter the build and publish commands can be run (with confidence that the correct version of Java is used):

$ ./gradlew build publishToMavenLocal

And a quick test can be performed using JBang

$ jbang run io.jactl:jactl:2.2.1-SNAPSHOT -e '10.map{ it + 1 }.sum()'
[jbang] Resolving dependencies...
[jbang]    io.jactl:jactl:2.2.1-SNAPSHOT
[jbang] Dependencies resolved
55

Newer versions of IntelliJ support SDKMAN and will automatically detect the .sdkmanrc file and activate the specified version of Java for use by the IDE to build jactl.

wfouche avatar May 15 '25 08:05 wfouche