Building
hyades
This segment provides build instructions for the DependencyTrack/hyades
repository.
JARs
Tip
IntelliJ users can simply execute the Build
run configuration.
To build JARs for all modules in the repository:
For application modules, this will produce a Quarkus fast-jar in their respective target
directory.
To only build JARs for specific modules, use Maven's -pl
flag:
Note
If you made changes to shared modules (e.g. commons
), those changes may not be visible
to other modules when building specific modules as shown above. Either include the shared
modules in the -pl
argument, or run mvn clean install -DskipTests
beforehand.
Containers
Tip
IntelliJ users can simply execute the Build Container Images
run configuration.
To build JARs and container images for all modules in the repository:
mvn clean package \
-Dquarkus.container-image.build=true \
-Dquarkus.container-image.additional-tags=local \
-DskipTests=true
As demonstrated before, you can use Maven's -pl
flag to limit the build to specific modules.
The resulting container images are tagged as:
For example:
Native Executables
Tip
IntelliJ users can simply execute the Build Native
run configuration.
Application modules in the hyades
repository can be compiled to native executables, by leveraging GraalVM Native Image.
Warning
Building native executables is resource intensive and can take a few minutes to complete.
Note
Building native executables requires GraalVM for JDK 21 or newer.
You can install GraalVM with sdkman
: https://sdkman.io/jdks#graalce
To build native executables for all modules:
As demonstrated before, you can use Maven's -pl
flag to limit the build to specific modules.
If installing GraalVM is not possible, or you want to use the native executables in a container, but your host system is not Linux, you can leverage a GraalVM container to perform the build:
hyades-apiserver
This segment provides build instructions for the DependencyTrack/hyades-apiserver
repository.
JAR
Tip
IntelliJ users can simply execute the Build API Server
run configuration.
To build an executable JAR:
mvn clean package \
-Pclean-exclude-wars \
-Penhance \
-Pembedded-jetty \
-DskipTests \
-Dlogback.configuration.file=src/main/docker/logback.xml
The resulting file is placed in ./target
as dependency-track-apiserver.jar
.
The JAR ships with an embedded Jetty server, there's no need to deploy it in an application server like Tomcat or WildFly.
Container
Tip
IntelliJ users can simply execute the Build API Server Image
run configuration.
Ensure you've built the API server JAR as outlined above.
To build the API server image:
docker build \
--build-arg WAR_FILENAME=dependency-track-apiserver.jar \
-t ghcr.io/dependencytrack/hyades-apiserver:local \
-f ./src/main/docker/Dockerfile \
.
hyades-frontend
This segment provides build instructions for the DependencyTrack/hyades-frontend
repository.
Distribution
To build the frontend using webpack:
The build artifacts are placed in ./dist
.
The contents of dist
can be deployed to any webserver capable of serving static files.
Container
Ensure you've built the frontend as outlined above.
To build the frontend image: