You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pa...@apache.org on 2020/01/27 10:47:18 UTC
svn commit: r1873201 -
/felix/sandbox/pauls/connect/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java
Author: pauls
Date: Mon Jan 27 10:47:18 2020
New Revision: 1873201
URL: http://svn.apache.org/viewvc?rev=1873201&view=rev
Log:
Allow java.* exports for connect modules
Modified:
felix/sandbox/pauls/connect/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java
Modified: felix/sandbox/pauls/connect/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java
URL: http://svn.apache.org/viewvc/felix/sandbox/pauls/connect/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java?rev=1873201&r1=1873200&r2=1873201&view=diff
==============================================================================
--- felix/sandbox/pauls/connect/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java (original)
+++ felix/sandbox/pauls/connect/src/main/java/org/apache/felix/framework/util/manifestparser/ManifestParser.java Mon Jan 27 10:47:18 2020
@@ -20,6 +20,7 @@ package org.apache.felix.framework.util.
import org.apache.felix.framework.BundleRevisionImpl;
import org.apache.felix.framework.Logger;
+import org.apache.felix.framework.cache.ConnectContentContent;
import org.apache.felix.framework.capabilityset.SimpleFilter;
import org.apache.felix.framework.util.FelixConstants;
import org.apache.felix.framework.wiring.BundleCapabilityImpl;
@@ -215,7 +216,7 @@ public class ManifestParser
List<ParsedHeaderClause> exportClauses =
parseStandardHeader((String) headerMap.get(Constants.EXPORT_PACKAGE));
exportClauses = normalizeExportClauses(logger, exportClauses,
- getManifestVersion(), m_bundleSymbolicName, m_bundleVersion);
+ getManifestVersion(), m_bundleSymbolicName, m_bundleVersion, owner instanceof BundleRevisionImpl && ((BundleRevisionImpl) owner).getContent() instanceof ConnectContentContent);
List<BundleCapability> exportCaps = convertExports(exportClauses, owner);
//
@@ -836,7 +837,7 @@ public class ManifestParser
private static List<ParsedHeaderClause> normalizeExportClauses(
Logger logger, List<ParsedHeaderClause> clauses,
- String mv, String bsn, Version bv)
+ String mv, String bsn, Version bv, boolean connectModule)
throws BundleException
{
for (ParsedHeaderClause clause : clauses)
@@ -845,7 +846,7 @@ public class ManifestParser
for (String pkgName : clause.m_paths)
{
// Verify that java.* packages are not exported (except from the system bundle).
- if (!FelixConstants.SYSTEM_BUNDLE_SYMBOLICNAME.equals(bsn) && pkgName.startsWith("java."))
+ if ((!FelixConstants.SYSTEM_BUNDLE_SYMBOLICNAME.equals(bsn) && !connectModule) && pkgName.startsWith("java."))
{
throw new BundleException(
"Exporting java.* packages not allowed: "