From 162e0521cca78a97c1badd2993f3b069a88abd34 Mon Sep 17 00:00:00 2001 From: Nicolas Lalevee Date: Mon, 13 Dec 2010 14:37:33 +0000 Subject: [PATCH] Make the MANIFEST.MF parser have a typedef name and make it part of the "OSGi core" git-svn-id: https://svn.apache.org/repos/asf/ant/ivy/core/trunk@1045136 13f79535-47bb-0310-9956-ffa450edef68 --- src/java/org/apache/ivy/ant/ConvertManifestTask.java | 2 +- .../org/apache/ivy/core/settings/typedef.properties | 4 +++- .../ivy/osgi/{repo => core}/BundleInfoAdapter.java | 7 ++----- .../OSGiManifestParser.java} | 10 ++++------ .../org/apache/ivy/osgi/repo/BundleRepoResolver.java | 1 + .../apache/ivy/osgi/repo/ResolverManifestIterable.java | 1 + 6 files changed, 12 insertions(+), 13 deletions(-) rename src/java/org/apache/ivy/osgi/{repo => core}/BundleInfoAdapter.java (98%) rename src/java/org/apache/ivy/osgi/{repo/ManifestMDParser.java => core/OSGiManifestParser.java} (87%) diff --git a/src/java/org/apache/ivy/ant/ConvertManifestTask.java b/src/java/org/apache/ivy/ant/ConvertManifestTask.java index 04a019fe..76c71dbd 100644 --- a/src/java/org/apache/ivy/ant/ConvertManifestTask.java +++ b/src/java/org/apache/ivy/ant/ConvertManifestTask.java @@ -27,9 +27,9 @@ import java.util.jar.Manifest; import org.apache.ivy.ant.IvyTask; import org.apache.ivy.core.module.descriptor.ModuleDescriptor; import org.apache.ivy.osgi.core.BundleInfo; +import org.apache.ivy.osgi.core.BundleInfoAdapter; import org.apache.ivy.osgi.core.ExecutionEnvironmentProfileProvider; import org.apache.ivy.osgi.core.ManifestParser; -import org.apache.ivy.osgi.repo.BundleInfoAdapter; import org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorWriter; import org.apache.tools.ant.BuildException; diff --git a/src/java/org/apache/ivy/core/settings/typedef.properties b/src/java/org/apache/ivy/core/settings/typedef.properties index 7b9da702..8b046fc1 100644 --- a/src/java/org/apache/ivy/core/settings/typedef.properties +++ b/src/java/org/apache/ivy/core/settings/typedef.properties @@ -57,4 +57,6 @@ log = org.apache.ivy.plugins.trigger.LogTrigger cache = org.apache.ivy.core.cache.DefaultRepositoryCacheManager -pgp = org.apache.ivy.plugins.signer.bouncycastle.OpenPGPSignatureGenerator \ No newline at end of file +pgp = org.apache.ivy.plugins.signer.bouncycastle.OpenPGPSignatureGenerator + +osgi-manifest-parser = org.apache.ivy.osgi.core.OSGiManifestParser diff --git a/src/java/org/apache/ivy/osgi/repo/BundleInfoAdapter.java b/src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java similarity index 98% rename from src/java/org/apache/ivy/osgi/repo/BundleInfoAdapter.java rename to src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java index 19a3f9b9..ca0848ce 100644 --- a/src/java/org/apache/ivy/osgi/repo/BundleInfoAdapter.java +++ b/src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java @@ -15,7 +15,7 @@ * limitations under the License. * */ -package org.apache.ivy.osgi.repo; +package org.apache.ivy.osgi.core; import java.net.MalformedURLException; import java.net.URL; @@ -36,10 +36,7 @@ import org.apache.ivy.core.module.descriptor.DefaultModuleDescriptor; import org.apache.ivy.core.module.id.ArtifactId; import org.apache.ivy.core.module.id.ModuleId; import org.apache.ivy.core.module.id.ModuleRevisionId; -import org.apache.ivy.osgi.core.BundleInfo; -import org.apache.ivy.osgi.core.BundleRequirement; -import org.apache.ivy.osgi.core.ExecutionEnvironmentProfileProvider; -import org.apache.ivy.osgi.core.ExportPackage; +import org.apache.ivy.osgi.repo.ExecutionEnvironmentProfile; import org.apache.ivy.osgi.util.Version; import org.apache.ivy.osgi.util.VersionRange; import org.apache.ivy.plugins.matcher.ExactOrRegexpPatternMatcher; diff --git a/src/java/org/apache/ivy/osgi/repo/ManifestMDParser.java b/src/java/org/apache/ivy/osgi/core/OSGiManifestParser.java similarity index 87% rename from src/java/org/apache/ivy/osgi/repo/ManifestMDParser.java rename to src/java/org/apache/ivy/osgi/core/OSGiManifestParser.java index cccbb82c..3a0d220b 100644 --- a/src/java/org/apache/ivy/osgi/repo/ManifestMDParser.java +++ b/src/java/org/apache/ivy/osgi/core/OSGiManifestParser.java @@ -15,25 +15,23 @@ * limitations under the License. * */ -package org.apache.ivy.osgi.repo; +package org.apache.ivy.osgi.core; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.text.ParseException; +import java.util.Locale; import java.util.jar.Manifest; import org.apache.ivy.core.module.descriptor.ModuleDescriptor; -import org.apache.ivy.osgi.core.BundleInfo; -import org.apache.ivy.osgi.core.ExecutionEnvironmentProfileProvider; -import org.apache.ivy.osgi.core.ManifestParser; import org.apache.ivy.plugins.parser.AbstractModuleDescriptorParser; import org.apache.ivy.plugins.parser.ParserSettings; import org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorWriter; import org.apache.ivy.plugins.repository.Resource; -public class ManifestMDParser extends AbstractModuleDescriptorParser { +public class OSGiManifestParser extends AbstractModuleDescriptorParser { private ExecutionEnvironmentProfileProvider profileProvider; @@ -45,7 +43,7 @@ public class ManifestMDParser extends AbstractModuleDescriptorParser { if (res == null || res.getName() == null || res.getName().trim().equals("")) { return false; } - return res.getName().toUpperCase().endsWith("MANIFEST.MF"); + return res.getName().toUpperCase(Locale.US).endsWith("MANIFEST.MF"); } public ModuleDescriptor parseDescriptor(ParserSettings ivySettings, URL descriptorURL, diff --git a/src/java/org/apache/ivy/osgi/repo/BundleRepoResolver.java b/src/java/org/apache/ivy/osgi/repo/BundleRepoResolver.java index 861eedfc..c66f2a52 100644 --- a/src/java/org/apache/ivy/osgi/repo/BundleRepoResolver.java +++ b/src/java/org/apache/ivy/osgi/repo/BundleRepoResolver.java @@ -47,6 +47,7 @@ import org.apache.ivy.core.resolve.IvyNode; import org.apache.ivy.core.resolve.ResolveData; import org.apache.ivy.core.resolve.ResolvedModuleRevision; import org.apache.ivy.osgi.core.BundleInfo; +import org.apache.ivy.osgi.core.BundleInfoAdapter; import org.apache.ivy.osgi.core.ExecutionEnvironmentProfileProvider; import org.apache.ivy.osgi.obr.xml.OBRXMLParser; import org.apache.ivy.osgi.util.Version; diff --git a/src/java/org/apache/ivy/osgi/repo/ResolverManifestIterable.java b/src/java/org/apache/ivy/osgi/repo/ResolverManifestIterable.java index ef3de642..b2060378 100644 --- a/src/java/org/apache/ivy/osgi/repo/ResolverManifestIterable.java +++ b/src/java/org/apache/ivy/osgi/repo/ResolverManifestIterable.java @@ -38,6 +38,7 @@ import org.apache.ivy.core.search.OrganisationEntry; import org.apache.ivy.core.search.RevisionEntry; import org.apache.ivy.core.settings.IvySettings; import org.apache.ivy.core.sort.SortEngine; +import org.apache.ivy.osgi.core.BundleInfoAdapter; import org.apache.ivy.plugins.resolver.BasicResolver; import org.apache.ivy.plugins.resolver.util.ResolvedResource; import org.apache.ivy.util.Message;