Class JarTreeShakeBuildItem
java.lang.Object
io.quarkus.builder.item.BuildItem
io.quarkus.builder.item.SimpleBuildItem
io.quarkus.deployment.pkg.builditem.JarTreeShakeBuildItem
public final class JarTreeShakeBuildItem
extends io.quarkus.builder.item.SimpleBuildItem
Build item that holds the results of dependency usage analysis for tree shaking.
Contains whether class-level tree shaking was performed, the set of reachable class names (dot-separated),
and the sorted list of removed class resource paths per dependency.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcollectUnreachableEntries(io.quarkus.maven.dependency.ResolvedDependency dep, Set<String> removedEntries) Collects JAR entry paths of unreachable classes from a dependency into the given set.computePedigree(io.quarkus.maven.dependency.ArtifactKey depKey) Computes a pedigree string for the given dependency describing what was removed.boolean
-
Constructor Details
-
JarTreeShakeBuildItem
-
-
Method Details
-
isClassesShaken
public boolean isClassesShaken() -
getReachableClassNames
- Returns:
- dot-separated class names of all reachable classes
-
getRemovedClasses
- Returns:
- sorted list of removed class resource paths (e.g. "com/example/Foo.class") per dependency
-
collectUnreachableEntries
public void collectUnreachableEntries(io.quarkus.maven.dependency.ResolvedDependency dep, Set<String> removedEntries) throws IOException Collects JAR entry paths of unreachable classes from a dependency into the given set. Handles multi-release JAR entries and preserves inner classes whose outer class is reachable.- Parameters:
dep- the dependency to scanremovedEntries- the set to add removed entry paths to- Throws:
IOException
-
computePedigree
Computes a pedigree string for the given dependency describing what was removed.- Returns:
- pedigree text or
nullif nothing was removed
-