in src/main/java/org/apache/maven/plugins/shade/filter/MinijarFilter.java [295:319]
private void removeSpecificallyIncludedClasses(MavenProject project, List<SimpleFilter> simpleFilters)
throws IOException {
// remove classes specifically included in filters
Clazzpath checkCp = new Clazzpath();
for (Artifact dependency : project.getArtifacts()) {
File jar = dependency.getFile();
for (SimpleFilter simpleFilter : simpleFilters) {
if (simpleFilter.canFilter(jar)) {
ClazzpathUnit depClazzpathUnit = addDependencyToClasspath(checkCp, dependency);
if (depClazzpathUnit != null) {
Set<Clazz> clazzes = depClazzpathUnit.getClazzes();
for (final Clazz clazz : new HashSet<>(removable)) {
if (clazzes.contains(clazz) //
&& simpleFilter.isSpecificallyIncluded(
clazz.getName().replace('.', '/'))) {
log.debug(clazz.getName() + " not removed because it was specifically included");
removeClass(clazz);
}
}
}
}
}
}
}