Module io.inverno.tool.buildtools
module io.inverno.tool.buildtools
The Inverno Build Tools module provides tools for running, packaging and distributing modular Java applications.
Considering a modular Java project with heterogeneous dependencies, it basically allows to:
- Modularize automatic and unnamed dependencies
- Run or start/stop the project application in a separated process
- Create a JMOD archive of the project
- Build an optimized Java runtime containing the project, its dependencies along with an optimized specific Java runtime.
- Package the project application in optimized native delivrables
- Create a container image of the project application as a TAR archive or load it to a local Docker daemon or deploy it to a remote image registry.
A modular Java project can be fully modularized and packaged in a Debian package, ready to be deployed as follows:
Project project = ...
Set<Path> applicationPaths = this.project
.modularizeDependencies()
.buildJmod()
.buildRuntime()
.packageApplication()
.copyright("Copyright 2023 Inverno")
.vendor("Inverno Framework")
.licensePath(Path.of("src/test/resources/legal/LICENSE"))
.types(Set.of(PackageApplicationTask.PackageType.DEB))
.execute();
A modular Java project can be containerized and loaded directly to the local Docker daemon as follows:
Project project = ...
ContainerizeTask.ContainerImageRef imageReference = this.project
.modularizeDependencies()
.buildJmod()
.buildRuntime()
.packageApplication()
.containerize()
.target(Target.DOCKER)
.execute();
- Since:
- 1.4
- Author:
- Jeremy Kuhn
-
Packages