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."));
}
}
}