Search in sources :

Example 1 with Clazzpath

use of org.vafer.jdependency.Clazzpath in project maven-plugins by apache.

the class MinijarFilter method removeSpecificallyIncludedClasses.

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();
                    Iterator<Clazz> j = removable.iterator();
                    while (j.hasNext()) {
                        Clazz clazz = j.next();
                        if (//
                        clazzes.contains(clazz) && simpleFilter.isSpecificallyIncluded(clazz.getName().replace('.', '/'))) {
                            log.info(clazz.getName() + " not removed because it was specifically included");
                            j.remove();
                        }
                    }
                }
            }
        }
    }
}
Also used : Clazzpath(org.vafer.jdependency.Clazzpath) ClazzpathUnit(org.vafer.jdependency.ClazzpathUnit) Clazz(org.vafer.jdependency.Clazz) File(java.io.File) Artifact(org.apache.maven.artifact.Artifact)

Aggregations

File (java.io.File)1 Artifact (org.apache.maven.artifact.Artifact)1 Clazz (org.vafer.jdependency.Clazz)1 Clazzpath (org.vafer.jdependency.Clazzpath)1 ClazzpathUnit (org.vafer.jdependency.ClazzpathUnit)1