You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by hi...@apache.org on 2012/08/21 18:58:50 UTC
svn commit: r1375661 - in /ant/ivy/core/trunk:
src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java
test/java/org/apache/ivy/osgi/core/OSGiManifestParserTest.java
Author: hibou
Date: Tue Aug 21 16:58:49 2012
New Revision: 1375661
URL: http://svn.apache.org/viewvc?rev=1375661&view=rev
Log:
Fix OSGi manifest parsing
Added:
ant/ivy/core/trunk/test/java/org/apache/ivy/osgi/core/OSGiManifestParserTest.java (with props)
Modified:
ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java
Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java?rev=1375661&r1=1375660&r2=1375661&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java Tue Aug 21 16:58:49 2012
@@ -113,17 +113,19 @@ public class BundleInfoAdapter {
requirementAsDependency(md, bundle, exportedPkgNames);
- String compression = bundle.hasInnerClasspath() ? "zip" : null;
- URI uri = bundle.getUri();
- if (uri != null) {
- DefaultArtifact artifact = buildArtifact(mrid, baseUri, uri, "jar", compression);
- md.addArtifact(CONF_NAME_DEFAULT, artifact);
- }
- URI sourceURI = bundle.getSourceURI();
- if (sourceURI != null) {
- DefaultArtifact artifact = buildArtifact(mrid, baseUri, sourceURI, "source",
- compression);
- md.addArtifact(CONF_NAME_DEFAULT, artifact);
+ if (baseUri != null) {
+ String compression = bundle.hasInnerClasspath() ? "zip" : null;
+ URI uri = bundle.getUri();
+ if (uri != null) {
+ DefaultArtifact artifact = buildArtifact(mrid, baseUri, uri, "jar", compression);
+ md.addArtifact(CONF_NAME_DEFAULT, artifact);
+ }
+ URI sourceURI = bundle.getSourceURI();
+ if (sourceURI != null) {
+ DefaultArtifact artifact = buildArtifact(mrid, baseUri, sourceURI, "source",
+ compression);
+ md.addArtifact(CONF_NAME_DEFAULT, artifact);
+ }
}
if (profileProvider != null) {
Added: ant/ivy/core/trunk/test/java/org/apache/ivy/osgi/core/OSGiManifestParserTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/osgi/core/OSGiManifestParserTest.java?rev=1375661&view=auto
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/osgi/core/OSGiManifestParserTest.java (added)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/osgi/core/OSGiManifestParserTest.java Tue Aug 21 16:58:49 2012
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.ivy.osgi.core;
+
+import java.io.File;
+import java.util.Arrays;
+
+import org.apache.ivy.core.module.descriptor.Configuration;
+import org.apache.ivy.core.module.descriptor.ModuleDescriptor;
+import org.apache.ivy.core.settings.IvySettings;
+import org.apache.ivy.plugins.parser.AbstractModuleDescriptorParserTester;
+import org.apache.ivy.util.DefaultMessageLogger;
+import org.apache.ivy.util.Message;
+
+public class OSGiManifestParserTest extends AbstractModuleDescriptorParserTester {
+
+ private IvySettings settings;
+
+ protected void setUp() throws Exception {
+ Message.setDefaultLogger(new DefaultMessageLogger(Message.MSG_WARN));
+
+ settings = new IvySettings();
+ // prevent test from polluting local cache
+ settings.setDefaultCache(new File("build/cache"));
+ }
+
+ public void testSimple() throws Exception {
+ ModuleDescriptor md = OSGiManifestParser.getInstance().parseDescriptor(settings,
+ getClass().getResource("MANIFEST_classpath.MF"), true);
+ assertNotNull(md);
+ assertEquals("bundle", md.getModuleRevisionId().getOrganisation());
+ assertEquals("org.apache.ivy.test", md.getModuleRevisionId().getName());
+ assertEquals("1.0.0", md.getModuleRevisionId().getRevision());
+
+ assertNotNull(md.getConfigurations());
+ assertEquals(
+ Arrays.asList(new Configuration[] {new Configuration("default"),
+ new Configuration("optional"), new Configuration("transitive-optional")}),
+ Arrays.asList(md.getConfigurations()));
+
+ assertEquals(0, md.getAllArtifacts().length);
+
+ assertNotNull(md.getDependencies());
+ assertEquals(0, md.getDependencies().length);
+ }
+}
Propchange: ant/ivy/core/trunk/test/java/org/apache/ivy/osgi/core/OSGiManifestParserTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ant/ivy/core/trunk/test/java/org/apache/ivy/osgi/core/OSGiManifestParserTest.java
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id
Propchange: ant/ivy/core/trunk/test/java/org/apache/ivy/osgi/core/OSGiManifestParserTest.java
------------------------------------------------------------------------------
svn:mime-type = text/plain