You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by mc...@apache.org on 2011/10/26 20:50:20 UTC

svn commit: r1189376 - in /felix/trunk/bundleplugin/src/test/java/org/apache/felix/bundleplugin: AbstractBundlePluginTest.java BundlePluginTest.java

Author: mcculls
Date: Wed Oct 26 18:50:20 2011
New Revision: 1189376

URL: http://svn.apache.org/viewvc?rev=1189376&view=rev
Log:
Add Embed-Dependency test

Modified:
    felix/trunk/bundleplugin/src/test/java/org/apache/felix/bundleplugin/AbstractBundlePluginTest.java
    felix/trunk/bundleplugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java

Modified: felix/trunk/bundleplugin/src/test/java/org/apache/felix/bundleplugin/AbstractBundlePluginTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/test/java/org/apache/felix/bundleplugin/AbstractBundlePluginTest.java?rev=1189376&r1=1189375&r2=1189376&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/test/java/org/apache/felix/bundleplugin/AbstractBundlePluginTest.java (original)
+++ felix/trunk/bundleplugin/src/test/java/org/apache/felix/bundleplugin/AbstractBundlePluginTest.java Wed Oct 26 18:50:20 2011
@@ -41,7 +41,7 @@ public abstract class AbstractBundlePlug
         MavenProjectStub project = new MavenProjectStub();
         project.setGroupId( "group" );
         project.setArtifactId( "project" );
-        project.setVersion( "1.0" );
+        project.setVersion( "1.2.3.4" );
         return project;
     }
 

Modified: felix/trunk/bundleplugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java?rev=1189376&r1=1189375&r2=1189376&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java (original)
+++ felix/trunk/bundleplugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java Wed Oct 26 18:50:20 2011
@@ -21,14 +21,20 @@ package org.apache.felix.bundleplugin;
  */
 
 import java.io.File;
+import java.util.HashMap;
+import java.util.LinkedHashSet;
 import java.util.Map;
 import java.util.Properties;
+import java.util.Set;
 import java.util.TreeMap;
+import java.util.jar.Manifest;
 
 import org.apache.maven.model.Organization;
+import org.apache.maven.plugin.testing.ArtifactStubFactory;
 import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.shared.osgi.DefaultMaven2OsgiConverter;
+import org.osgi.framework.Constants;
 
 import aQute.lib.osgi.Analyzer;
 import aQute.lib.osgi.Builder;
@@ -52,7 +58,7 @@ public class BundlePluginTest extends Ab
         plugin = new BundlePlugin();
         plugin.setMaven2OsgiConverter( new DefaultMaven2OsgiConverter() );
         plugin.setBuildDirectory( "." );
-        plugin.setOutputDirectory( new File( "." ) );
+        plugin.setOutputDirectory( new File( getBasedir(), "target" + File.separatorChar + "scratch" ) );
     }
 
 
@@ -107,10 +113,7 @@ public class BundlePluginTest extends Ab
 
         assertTrue( osgiBundleFile.exists() );
 
-        MavenProject project = new MavenProjectStub();
-        project.setGroupId( "group" );
-        project.setArtifactId( "artifact" );
-        project.setVersion( "1.1.0.0" );
+        MavenProject project = getMavenProjectStub();
 
         //        PackageVersionAnalyzer analyzer = new PackageVersionAnalyzer();
         Builder analyzer = new Builder();
@@ -182,8 +185,8 @@ public class BundlePluginTest extends Ab
             }
         };
         project.setGroupId( "group" );
-        project.setArtifactId( "artifact" );
-        project.setVersion( "1.1.0.0" );
+        project.setArtifactId( "project" );
+        project.setVersion( "1.2.3.4" );
 
         Properties properties = plugin.getDefaultProperties( project );
         assertEquals( organization.getName(), properties.getProperty( "project.organization.name" ) );
@@ -202,7 +205,7 @@ public class BundlePluginTest extends Ab
 
     public void testPackageInfoDetection() throws Exception
     {
-        MavenProject project = new MavenProjectStub();
+        MavenProject project = getMavenProjectStub();
         project.addCompileSourceRoot( getBasedir() + "/src/test/java" );
 
         String resourcePaths = plugin.getMavenResourcePaths( project );
@@ -210,4 +213,34 @@ public class BundlePluginTest extends Ab
         assertEquals( "org/apache/felix/bundleplugin/packageinfo="
             + "src/test/java/org/apache/felix/bundleplugin/packageinfo", resourcePaths );
     }
+
+
+    public void testEmbedDependency() throws Exception
+    {
+        ArtifactStubFactory artifactFactory = new ArtifactStubFactory( plugin.getOutputDirectory(), true );
+
+        Set artifacts = new LinkedHashSet();
+
+        artifacts.addAll( artifactFactory.getClassifiedArtifacts() );
+        artifacts.addAll( artifactFactory.getScopedArtifacts() );
+        artifacts.addAll( artifactFactory.getTypedArtifacts() );
+
+        MavenProject project = getMavenProjectStub();
+        project.setDependencyArtifacts( artifacts );
+
+        Map instructions = new HashMap();
+        instructions.put( DependencyEmbedder.EMBED_DEPENDENCY, "!a|c|e;classifier=!four;scope=compile|runtime" );
+        Properties props = new Properties();
+
+        Builder builder = plugin.buildOSGiBundle( project, instructions, props, plugin.getClasspath( project ) );
+        Manifest manifest = builder.getJar().getManifest();
+
+        String bcp = manifest.getMainAttributes().getValue( Constants.BUNDLE_CLASSPATH );
+        assertEquals( bcp, ".,compile-1.0.jar,runtime-1.0.jar,b-1.0.jar,b-1.0-two.jar,d-1.0.zip" );
+
+        String eas = manifest.getMainAttributes().getValue( "Embedded-Artifacts" );
+        assertEquals( eas, "compile-1.0.jar;g=\"g\";a=\"compile\";v=\"1.0\","
+            + "runtime-1.0.jar;g=\"g\";a=\"runtime\";v=\"1.0\"," + "b-1.0.jar;g=\"g\";a=\"b\";v=\"1.0\","
+            + "b-1.0-two.jar;g=\"g\";a=\"b\";v=\"1.0\";c=\"two\"," + "d-1.0.zip;g=\"g\";a=\"d\";v=\"1.0\"" );
+    }
 }