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\"" );
+ }
}