Author: jdcasey
Date: Mon Feb 18 11:46:52 2008
New Revision: 628853
URL: http://svn.apache.org/viewvc?rev=628853&view=rev
Log:
[MASSEMBLY-188] Adding a unit test to verify that manifest entries are handled
from the plugin configuration.
Modified:
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizerTest.java
Modified:
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizerTest.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizerTest.java?rev=628853&r1=628852&r2=628853&view=diff
==============================================================================
---
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizerTest.java
(original)
+++
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/archive/ManifestCreationFinalizerTest.java
Mon Feb 18 11:46:52 2008
@@ -47,7 +47,8 @@
private TestFileManager fileManager = new TestFileManager(
"manifest-finalizer.test.", ".jar" );
- public void tearDown() throws IOException
+ public void tearDown()
+ throws IOException
{
fileManager.cleanUp();
}
@@ -89,7 +90,9 @@
JarArchiver archiver = new JarArchiver();
- archiver.setArchiveFinalizers( Collections.singletonList( new
ManifestCreationFinalizer( project, config ) ) );
+ archiver.setArchiveFinalizers( Collections.singletonList( new
ManifestCreationFinalizer(
+
project,
+
config ) ) );
File file = fileManager.createTempFile();
@@ -108,7 +111,46 @@
assertTrue( writer.toString().indexOf( "Main-Class: Stuff" ) > -1 );
// http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4823678
- ((JarURLConnection)resource.openConnection()).getJarFile().close();
+ ( (JarURLConnection) resource.openConnection() ).getJarFile().close();
+ }
+
+ public void testShouldAddManifestEntriesWhenArchiverIsJarArchiver()
+ throws ArchiverException, IOException
+ {
+ MavenProject project = new MavenProject( new Model() );
+ MavenArchiveConfiguration config = new MavenArchiveConfiguration();
+
+ String testKey = "Test-Key";
+ String testValue = "test-value";
+
+ config.addManifestEntry( testKey, testValue );
+
+ JarArchiver archiver = new JarArchiver();
+
+ archiver.setArchiveFinalizers( Collections.singletonList( new
ManifestCreationFinalizer(
+
project,
+
config ) ) );
+
+ File file = fileManager.createTempFile();
+
+ archiver.setDestFile( file );
+
+ archiver.createArchive();
+
+ URL resource = new URL( "jar:file:" + file.getAbsolutePath() +
"!/META-INF/MANIFEST.MF" );
+
+ BufferedReader reader = new BufferedReader( new InputStreamReader(
resource.openStream() ) );
+
+ StringWriter writer = new StringWriter();
+
+ IOUtil.copy( reader, writer );
+
+ System.out.println( "Test Manifest:\n\n" + writer );
+
+ assertTrue( writer.toString().indexOf( testKey + ": " + testValue ) >
-1 );
+
+ // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4823678
+ ( (JarURLConnection) resource.openConnection() ).getJarFile().close();
}
private final class MockAndControlForArchiver
@@ -122,7 +164,7 @@
control = MockControl.createControl( Archiver.class );
mm.add( control );
- archiver = ( Archiver ) control.getMock();
+ archiver = (Archiver) control.getMock();
}
}