### JReleaser GitHub token configuration Source: https://github.com/wimdeblauwe/ttcli/blob/main/README.md Example properties file content for configuring the GitHub token for JReleaser. ```properties JRELEASER_GITHUB_TOKEN= ``` -------------------------------- ### Run the CLI from source Source: https://github.com/wimdeblauwe/ttcli/blob/main/CLAUDE.md Builds the project with Maven and then runs the CLI's init command using the generated JAR. Ensure no existing 'demo' directory exists at the project root before running. ```bash mvn package ``` ```bash java -jar target/ttcli-.jar init ``` -------------------------------- ### Build and run tests with Maven wrapper Source: https://github.com/wimdeblauwe/ttcli/blob/main/CLAUDE.md Runs the full build and test suite for the project. Use this command to verify the project compiles and all tests pass. ```bash ./mvnw verify ``` -------------------------------- ### Maven verify build Source: https://github.com/wimdeblauwe/ttcli/blob/main/README.md Build the project using Maven's verify phase. ```bash mvn verify ``` -------------------------------- ### Post release locally with JReleaser Source: https://github.com/wimdeblauwe/ttcli/blob/main/README.md Post a release from a local environment only when binaries for the current platform are available. ```bash mvn -Prelease jreleaser:release -Djreleaser.select.current.platform ``` -------------------------------- ### Native compilation with Maven Source: https://github.com/wimdeblauwe/ttcli/blob/main/README.md Compile the project to a native executable using the native profile. ```bash mvn -Pnative native:compile ``` -------------------------------- ### Native image build with GraalVM Source: https://github.com/wimdeblauwe/ttcli/blob/main/CLAUDE.md Switches to the GraalVM JDK and compiles a native image using the native profile. Requires GraalVM JDK 25.0.1-graal. ```bash sdk use java 25.0.1-graal ``` ```bash ./mvnw -Pnative native:compile ``` -------------------------------- ### Local release with JReleaser Source: https://github.com/wimdeblauwe/ttcli/blob/main/CLAUDE.md Runs a local release using JReleaser. Requires JRELEASER_GITHUB_TOKEN in ~/.jreleaser/config.properties. ```bash ./mvnw -Prelease jreleaser:release -Djreleaser.select.current.platform ``` -------------------------------- ### Run ttcli via JBang Source: https://github.com/wimdeblauwe/ttcli/blob/main/README.md Run the ttcli tool using JBang to initialize a new project. ```bash jbang run ttcli@wimdeblauwe init ``` -------------------------------- ### Run a single test with Maven Source: https://github.com/wimdeblauwe/ttcli/blob/main/CLAUDE.md Runs a specific test class or method. Replace FileUtilTest with the test class name and optionally append #methodName to run a single method. ```bash ./mvnw test -Dtest=FileUtilTest ``` ```bash ./mvnw test -Dtest=FileUtilTest#methodName ``` -------------------------------- ### Set Java version with SDKMAN Source: https://github.com/wimdeblauwe/ttcli/blob/main/README.md Use SDKMAN to select GraalVM JDK 22.3.r17-grl for native compilation. ```bash sdk use java 22.3.r17-grl ``` -------------------------------- ### Check JReleaser configuration Source: https://github.com/wimdeblauwe/ttcli/blob/main/README.md Run JReleaser in dry-run mode to check the configuration. ```bash mvn -Djreleaser.dry.run -Prelease jreleaser:config ```