import static org.argeo.build.Repackage.ManifestConstants.SLC_ORIGIN_M2;
import static org.argeo.build.Repackage.ManifestConstants.SLC_ORIGIN_M2_REPO;
+import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
mergeProps.put(ManifestConstants.BUNDLE_VERSION.toString(), m2Version);
String artifactsStr = mergeProps.getProperty(ManifestConstants.SLC_ORIGIN_M2_MERGE.toString());
+ if (artifactsStr == null)
+ throw new IllegalArgumentException(
+ mergeBnd + ": " + ManifestConstants.SLC_ORIGIN_M2_MERGE + " must be set");
+
String repoStr = mergeProps.containsKey(SLC_ORIGIN_M2_REPO.toString())
? mergeProps.getProperty(SLC_ORIGIN_M2_REPO.toString())
: null;
try (OutputStream out = Files.newOutputStream(target, StandardOpenOption.APPEND)) {
out.write("\n".getBytes());
jarIn.transferTo(out);
- if (logger.isLoggable(DEBUG))
- logger.log(DEBUG, artifact.getArtifactId() + " - Appended " + entry.getName());
+ logger.log(Level.WARNING, artifact.getArtifactId() + " - Appended " + entry.getName());
}
} else if (entry.getName().startsWith("org/apache/batik/")) {
logger.log(Level.WARNING, "Skip " + entry.getName());
OutputStream out = Files.newOutputStream(target, StandardOpenOption.APPEND);) {
out.write("\n".getBytes());
in.transferTo(out);
- if (logger.isLoggable(DEBUG))
- logger.log(DEBUG, "Appended " + p);
+ logger.log(Level.WARNING, "Appended " + p);
}
}
}
throws IOException {
if (sourceBundles)
return;
- M2Artifact sourcesArtifact = new M2Artifact(artifact.toM2Coordinates(), "sources");
- URL sourcesUrl = M2ConventionsUtils.mavenRepoUrl(repoStr, sourcesArtifact);
- Path sourcesDownloaded = download(sourcesUrl, originBase, artifact, true);
- processM2SourceJar(sourcesDownloaded, targetBundleDir);
- logger.log(Level.TRACE, () -> "Processed source " + sourcesDownloaded);
+ try {
+ M2Artifact sourcesArtifact = new M2Artifact(artifact.toM2Coordinates(), "sources");
+ URL sourcesUrl = M2ConventionsUtils.mavenRepoUrl(repoStr, sourcesArtifact);
+ Path sourcesDownloaded = download(sourcesUrl, originBase, artifact, true);
+ processM2SourceJar(sourcesDownloaded, targetBundleDir);
+ logger.log(Level.TRACE, () -> "Processed source " + sourcesDownloaded);
+ } catch (Exception e) {
+ logger.log(Level.ERROR, () -> "Cannot download source for " + artifact);
+ }
}
Object previousValue = manifest.getMainAttributes().putValue(key, value);
if (previousValue != null && !previousValue.equals(value)) {
if (ManifestConstants.IMPORT_PACKAGE.toString().equals(key)
- || ManifestConstants.EXPORT_PACKAGE.toString().equals(key))
+ || ManifestConstants.EXPORT_PACKAGE.toString().equals(key)
+ || ManifestConstants.BUNDLE_LICENSE.toString().equals(key))
logger.log(Level.TRACE, file.getFileName() + ": " + key + " was modified");
else
logger.log(Level.WARNING, file.getFileName() + ": " + key + " was " + previousValue
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
if (file.getFileName().toString().equals("MANIFEST.MF"))
return super.visitFile(file, attrs);
- JarEntry entry = new JarEntry(bundleDir.relativize(file).toString());
+ JarEntry entry = new JarEntry(
+ bundleDir.relativize(file).toString().replace(File.separatorChar, '/'));
jarOut.putNextEntry(entry);
Files.copy(file, jarOut);
return super.visitFile(file, attrs);