: null;
String bundleSymbolicName = mergeProps.getProperty(ManifestConstants.BUNDLE_SYMBOLICNAME.toString());
+ if (bundleSymbolicName == null)
+ throw new IllegalArgumentException("Bundle-SymbolicName must be set in " + mergeBnd);
DefaultCategoryNameVersion nameVersion = new DefaultArtifact(
category + ":" + bundleSymbolicName + ":" + m2Version);
Path targetBundleDir = targetCategoryBase.resolve(bundleSymbolicName + "." + nameVersion.getBranch());
logger.log(Level.WARNING, "Skip " + entry.getName());
continue entries;
} else {
- throw new IllegalStateException("File " + target + " already exists");
+ throw new IllegalStateException("File " + target + " from " + artifact + " already exists");
}
}
logger.log(Level.TRACE, () -> "Copied " + target);
downloadAndProcessM2Sources(repoStr, artifact, targetBundleDir);
}
+ // additional service files
+ Path servicesDir = duDir.resolve("services");
+ if (Files.exists(servicesDir)) {
+ for (Path p : Files.newDirectoryStream(servicesDir)) {
+ Path target = targetBundleDir.resolve("META-INF/services/").resolve(p.getFileName());
+ try (InputStream in = Files.newInputStream(p);
+ OutputStream out = Files.newOutputStream(target, StandardOpenOption.APPEND);) {
+ out.write("\n".getBytes());
+ in.transferTo(out);
+ if (logger.isLoggable(DEBUG))
+ logger.log(DEBUG, "Appended " + p);
+ }
+ }
+ }
+
Map<String, String> entries = new TreeMap<>();
try (Analyzer bndAnalyzer = new Analyzer()) {
bndAnalyzer.setProperties(mergeProps);
&& value.toString().equals("osgi.ee;filter:=\"(&(osgi.ee=JavaSE)(version=1.1))\""))
continue keys;// hack for very old classes
entries.put(key.toString(), value.toString());
- logger.log(DEBUG, () -> key + "=" + value);
+ //logger.log(DEBUG, () -> key + "=" + value);
}
} catch (Exception e) {
String value = entries.get(key);
manifest.getMainAttributes().putValue(key, value);
}
+
+ // Use Maven version as Bundle-Version
+ String bundleVersion = manifest.getMainAttributes().getValue(ManifestConstants.BUNDLE_VERSION.toString());
+ if (bundleVersion == null || bundleVersion.trim().equals("0")) {
+ // TODO check why it is sometimes set to "0"
+ manifest.getMainAttributes().putValue(ManifestConstants.BUNDLE_VERSION.toString(), m2Version);
+ }
try (OutputStream out = Files.newOutputStream(manifestPath)) {
manifest.write(out);
}
&& value.toString().equals("osgi.ee;filter:=\"(&(osgi.ee=JavaSE)(version=1.1))\""))
continue keys;// hack for very old classes
additionalEntries.put(key.toString(), value.toString());
- logger.log(DEBUG, () -> key + "=" + value);
+ //logger.log(DEBUG, () -> key + "=" + value);
}
}
continue entries;
if (entry.getName().startsWith("module-info.java"))// skip META-INF entries
continue entries;
+ if (entry.getName().startsWith("/")) // absolute paths
+ continue entries;
Path target = targetSourceDir.resolve(entry.getName());
Files.createDirectories(target.getParent());
if (!Files.exists(target)) {
// factory.processCategory(descriptorsBase.resolve("org.argeo.tp"));
// factory.processCategory(descriptorsBase.resolve("org.argeo.tp.apache"));
// factory.processCategory(descriptorsBase.resolve("org.argeo.tp.formats"));
-// factory.processCategory(descriptorsBase.resolve("org.argeo.tp.formats"));
- factory.processEclipseArchive(
- descriptorsBase.resolve("org.argeo.tp.eclipse.equinox").resolve("eclipse-equinox"));
- factory.processEclipseArchive(descriptorsBase.resolve("org.argeo.tp.eclipse.rwt").resolve("eclipse-rwt"));
- factory.processEclipseArchive(descriptorsBase.resolve("org.argeo.tp.eclipse.rap").resolve("eclipse-rap"));
- factory.processEclipseArchive(descriptorsBase.resolve("org.argeo.tp.eclipse.swt").resolve("eclipse-swt"));
- factory.processEclipseArchive(descriptorsBase.resolve("org.argeo.tp.eclipse.swt").resolve("eclipse-nebula"));
- factory.processEclipseArchive(descriptorsBase.resolve("org.argeo.tp.eclipse.swt").resolve("eclipse-equinox"));
- factory.processEclipseArchive(descriptorsBase.resolve("org.argeo.tp.eclipse.rcp").resolve("eclipse-rcp"));
- factory.processCategory(descriptorsBase.resolve("org.argeo.tp.eclipse.rcp"));
+ factory.processCategory(descriptorsBase.resolve("org.argeo.tp.gis"));
System.exit(0);
// Eclipse
factory.processEclipseArchive(descriptorsBase.resolve("org.argeo.tp.eclipse.swt").resolve("eclipse-equinox"));
factory.processEclipseArchive(descriptorsBase.resolve("org.argeo.tp.eclipse.rcp").resolve("eclipse-rcp"));
factory.processCategory(descriptorsBase.resolve("org.argeo.tp.eclipse.rcp"));
- System.exit(0);
// Maven
factory.processCategory(descriptorsBase.resolve("org.argeo.tp.sdk"));