public void execute()

in src/main/java/org/apache/sling/feature/analyser/task/impl/CheckBundleUnversionedPackages.java [57:93]


    public void execute(final AnalyserTaskContext ctx) throws Exception {
        for (final BundleDescriptor info : ctx.getFeatureDescriptor().getBundleDescriptors()) {

            final List<PackageInfo> exportWithoutVersion = new ArrayList<>();
            for (final PackageInfo i : info.getExportedPackages()) {
                if (i.getPackageVersion().compareTo(Version.emptyVersion) == 0) {
                    exportWithoutVersion.add(i);
                }
            }
            final List<PackageInfo> importWithoutVersion = new ArrayList<>();
            for (final PackageInfo i : info.getImportedPackages()) {
                if (i.getVersion() == null && !ignoreImportPackage(i.getName())) {
                    importWithoutVersion.add(i);
                }
            }

            final String key = "Bundle "
                    .concat(info.getArtifact().getId().getArtifactId())
                    .concat(":")
                    .concat(info.getArtifact().getId().getVersion());

            if (!importWithoutVersion.isEmpty()) {
                ctx.reportArtifactWarning(
                        info.getArtifact().getId(),
                        key.concat(" is importing ")
                                .concat(getPackageInfo(importWithoutVersion))
                                .concat(" without specifying a version range."));
            }
            if (!exportWithoutVersion.isEmpty()) {
                ctx.reportArtifactWarning(
                        info.getArtifact().getId(),
                        key.concat(" is exporting ")
                                .concat(getPackageInfo(exportWithoutVersion))
                                .concat(" without a version."));
            }
        }
    }