The goal of this project is to provide a command line tool to helps to setup a Spring Boot with Thymeleaf project.
-
Download the release from https://github.com/wimdeblauwe/ttcli/releases
-
Unzip the release
-
Run
./ttcli help
(macOS/Linux) orttcli.exe help
(Windows) to see the options of the tool.
The application is also available via the following package managers:
-
Homebrew (Linux/macOS):
brew install wimdeblauwe/homebrew-ttcli/ttcli
-
Chocolatey (Windows):
choco install ttcli
Run ttcli init
to have the tool create a new Spring Boot project with an NPM based live-reload setup.
The tool will ask the following questions:
-
GroupId: the Maven
groupId
that should be used for the project. -
ArtifactId: the Maven
artifactId
that should be used for the project. -
Name: the project name
-
Live reload setup: Select how you want to have your live reload setup
-
Web dependencies: Select from various CSS and/or JavaScript libraries to be added to your project.
The tool will create a new project in a sub-directory of the current directory with the name of the artifactId
and apply the following changes:
-
Generate a Spring Boot project
-
Add NPM dependencies and NPM scripts needed to have a live reload setup
-
Add an
index.html
andlayout.html
page as a starting point for your Thymeleaf application. -
Setup Tailwind CSS when selected.
-
Setup Bootstrap when selected.
-
Adds webjars to the Maven dependencies.
-
Adds an
application-local.properties
with Thymeleaf template caching disabled.
Note
|
You can choose a different base directory that the tool should use via ttcli --baseDir <otherdir>
|
Use GraalVM JDK:
sdk use java 22.3.r17-grl
Run native compilation:
mvn -Pnative native:compile
An official release is done via a manual action on Github Actions.
Note
|
You need to configure a GitHub access token. Put it in JRELEASER_GITHUB_TOKEN=<github-token-value> |
Check JReleaser configuration:
mvn -Djreleaser.dry.run -Prelease jreleaser:config
Posting a release from a local environment only when binaries for the current platform are available:
mvn -Prelease jreleaser:release -Djreleaser.select.current.platform