Author: olamy
Date: Mon Dec 17 13:26:20 2007
New Revision: 605008
URL: http://svn.apache.org/viewvc?rev=605008&view=rev
Log:
add tests on manifest entries
Modified:
maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java
Modified:
maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java?rev=605008&r1=605007&r2=605008&view=diff
==============================================================================
---
maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java
(original)
+++
maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java
Mon Dec 17 13:26:20 2007
@@ -36,6 +36,7 @@
import org.apache.maven.artifact.Artifact;
import org.apache.maven.model.Build;
import org.apache.maven.model.Model;
+import org.apache.maven.model.Organization;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.archiver.jar.JarArchiver;
import org.codehaus.plexus.archiver.jar.Manifest;
@@ -378,6 +379,62 @@
}
}
+ public void testManifestEntries()
+ throws Exception
+ {
+ InputStream inputStream = null;
+ JarFile jar = null;
+ try
+ {
+ File jarFile = new File( "target/test/dummy.jar" );
+ jarFile.delete();
+ assertFalse( jarFile.exists() );
+ JarArchiver jarArchiver = new JarArchiver();
+ jarArchiver.setDestFile( jarFile );
+
+ MavenArchiver archiver = new MavenArchiver();
+ archiver.setArchiver( jarArchiver );
+ archiver.setOutputFile( jarArchiver.getDestFile() );
+
+ MavenProject project = getDummyProject();
+ MavenArchiveConfiguration config = new MavenArchiveConfiguration();
+ config.setForced( true );
+ config.getManifest().setAddDefaultImplementationEntries( true );
+ config.getManifest().setAddDefaultSpecificationEntries( true );
+ config.getManifest().setMainClass( "org.apache.maven.Foo" );
+ archiver.createArchive( project, config );
+ assertTrue( jarFile.exists() );
+ jar = new JarFile( jarFile );
+
+ ZipEntry zipEntry = jar.getEntry( "META-INF/MANIFEST.MF" );
+ Properties manifest = new Properties();
+ inputStream = jar.getInputStream( zipEntry );
+ manifest.load( inputStream );
+ assertEquals( "Apache Maven", manifest.get( "Created-By" ) );
+ assertEquals( "archiver test", manifest.get( "Specification-Title"
) );
+ assertEquals( "0.1", manifest.get( "Specification-Version" ) );
+ assertEquals( "Apache", manifest.get( "Specification-Vendor" ) );
+
+ assertEquals( "archiver test", manifest.get(
"Implementation-Title" ) );
+ assertEquals( "0.1", manifest.get( "Implementation-Version" ) );
+ assertEquals( "org.apache.dummy", manifest.get(
"Implementation-Vendor-Id" ) );
+ assertEquals( "Apache", manifest.get( "Implementation-Vendor" ) );
+ assertEquals( "org.apache.maven.Foo", manifest.get( "Main-Class" )
);
+
+ assertEquals(System.getProperty( "java.version"),
manifest.getProperty( "Build-Jdk" ) );
+ assertEquals(System.getProperty( "user.name"),
manifest.getProperty( "Built-By" ) );
+ }
+ finally
+ {
+ // cleanup streams
+ IOUtil.close( inputStream );
+ if ( jar != null )
+ {
+ jar.close();
+ }
+ }
+ }
+
// ----------------------------------------
// common methods for testing
// ----------------------------------------
@@ -401,7 +458,11 @@
project.setFile( pomFile );
Build build = new Build();
build.setDirectory( "target" );
- project.setBuild( build );
+ project.setBuild( build );
+ project.setName( "archiver test" );
+ Organization organization = new Organization();
+ organization.setName( "Apache" );
+ project.setOrganization( organization );
MockArtifact artifact = new MockArtifact();
artifact.setGroupId( "org.apache.dummy" );
artifact.setArtifactId( "dummy" );