Skip to content

spring-projects/spring-cli

A CLI focused on developer productivity

Build

Note
Use JDK17

Normal build without native:

./gradlew clean build

Which you can then run with:

java -jar build/libs/spring-cli-0.0.1-SNAPSHOT.jar

For native build:

./gradlew clean build nativeCompile -PspringCliNative=true
Note
You need to have GRAALVM_HOME pointing to your graal installation

Which you can then run with:

build/native/nativeCompile/spring
Tip
There is a CI workflow which builds native binaries for linux, macos and windows. Published artifacts in CI workflow will get removed daily so take it from a latest run which is scheduled nightly.

Code Formatting

This project uses Spring Javaformat and is enabled by default.

Run individual tasks:

./gradlew checkFormat
./gradlew checkstyleMain
./gradlew checkstyleTest
./gradlew format

You can temporarily disable checks by setting property springCliChecks to false:

./gradlew build -PspringCliChecks=false

Building Documentation

./gradlew antora

Output is in ./docs/build/site/index.html

For more information on the build see README in the docs-build branch.

Shell Completion

Shell completion for bash can be generated with completion bash command:

$ source <(spring completion bash)