/** * Add the set with given bundles to the "Export-Package" main attribute. * * @param exportedPackages The set of all packages to add. */ public void addExportedPackages(Set<String> exportedPackages) { addExportedPackages(exportedPackages.toArray(new String[exportedPackages.size()])); }
protected void mergeManifest(final ManifestAccess manifest, final IXtextGeneratorFileSystemAccess metaInf) throws IOException { InputStream in = null; try { in = metaInf.readBinaryFile(manifest.getPath()); String _bundleName = manifest.getBundleName(); final MergeableManifest2 merge = new MergeableManifest2(in, _bundleName); merge.setLineDelimiter(this.codeConfig.getLineDelimiter()); merge.addExportedPackages(manifest.getExportedPackages()); merge.addRequiredBundles(manifest.getRequiredBundles()); merge.addImportedPackages(manifest.getImportedPackages()); if (((manifest.getActivator() != null) && StringExtensions.isNullOrEmpty(merge.getBundleActivator()))) { merge.setBundleActivator(manifest.getActivator().getName()); } boolean _isModified = merge.isModified(); if (_isModified) { final ByteArrayOutputStream out = new ByteArrayOutputStream(); merge.write(out); byte[] _byteArray = out.toByteArray(); ByteArrayInputStream _byteArrayInputStream = new ByteArrayInputStream(_byteArray); metaInf.generateFile(manifest.getPath(), _byteArrayInputStream); } } finally { if ((in != null)) { in.close(); } } }