private void generatePackagesHeader()

in src/main/java/org/apache/sling/bnd/models/ModelsScannerPlugin.java [101:121]


    private void generatePackagesHeader(Analyzer analyzer, Collection<String> classNames) {

        // get all package names
        SortedSet<String> packages = new TreeSet<>();
        for (String className : classNames) {
            if (StringUtils.contains(className, ".")) {
                packages.add(StringUtils.substringBeforeLast(className, "."));
            }
        }

        // eliminate package names for which parent packages exist (they are included automatically)
        Set<String> packagesToRemove = new HashSet<>();
        for (String packageName : packages) {
            if (includesParentPackage(packages, packageName)) {
                packagesToRemove.add(packageName);
            }
        }
        packages.removeAll(packagesToRemove);

        analyzer.set(MODELS_PACKAGES_HEADER, StringUtils.join(packages, ","));
    }