in src/main/java/org/apache/jackrabbit/filevault/maven/packaging/impl/ImportPackageBuilder.java [219:281]
public String createExportPackageReport() {
TreeSet<String> unusedBundles = new TreeSet<String>(bundles.keySet());
StringBuilder report = new StringBuilder("Export package report:\n\n");
List<String> packages = new ArrayList<String>(exported.keySet());
Collections.sort(packages);
int pad = 18;
for (String packageName : packages) {
pad = Math.max(pad, packageName.length());
}
pad += 2;
report
.append(StringUtils.rightPad("Exported packages", pad))
.append(StringUtils.rightPad("Uses", 5))
.append(StringUtils.rightPad("Version", 10))
.append("Dependency\n");
report.append(StringUtils.repeat("-", pad + 30)).append("\n");
for (String packageName : packages) {
PackageInfo info = exported.get(packageName);
report.append(StringUtils.rightPad(packageName, pad));
report.append(StringUtils.rightPad(String.valueOf(info.usedBy.size()), 5));
boolean first = true;
for (BundleInfo bInfo : info.bundles.values()) {
if (first) {
String version = bInfo.packageVersions.get(packageName);
if (StringUtils.isEmpty(version)) {
version = "0.0.0";
}
report.append(StringUtils.rightPad(version, 10));
report.append(bInfo.getId());
first = false;
}
if (!info.usedBy.isEmpty()) {
unusedBundles.remove(bInfo.getId());
}
}
if (first) {
report.append(StringUtils.rightPad("n/a", 10));
}
report.append("\n");
}
report.append("\n").append(unusedBundles.size()).append(" unused bundles\n");
report.append("------------------------------\n");
for (String bundleId : unusedBundles) {
report.append(bundleId).append("\n");
}
report.append("\nPackages used in the analyzed classes: \n");
report.append("------------------------------\n");
for (Map.Entry<String, Attrs> e: importParameters.entrySet()) {
report.append(e.getKey());
try {
Processor.printClause(e.getValue(), report);
} catch (IOException e1) {
throw new IllegalStateException("Internal error while generating report", e1);
}
report.append("\n");
}
return report.toString();
}