Author: olamy
Date: Tue Jan 1 14:11:28 2008
New Revision: 607928
URL: http://svn.apache.org/viewvc?rev=607928&view=rev
Log:
add it to test manifest content generation
Added:
maven/plugins/trunk/maven-jar-plugin/src/it/manifest-content/
- copied from r605715,
maven/plugins/trunk/maven-jar-plugin/src/it/MJAR-60/
maven/plugins/trunk/maven-jar-plugin/src/it/manifest-content/pom.xml
- copied, changed from r607924,
maven/plugins/trunk/maven-jar-plugin/src/it/MJAR-60/pom.xml
maven/plugins/trunk/maven-jar-plugin/src/it/manifest-content/src/
- copied from r607924,
maven/plugins/trunk/maven-jar-plugin/src/it/MJAR-60/src/
maven/plugins/trunk/maven-jar-plugin/src/it/manifest-content/verify.bsh
- copied, changed from r607924,
maven/plugins/trunk/maven-jar-plugin/src/it/MJAR-60/verify.bsh
Modified:
maven/plugins/trunk/maven-jar-plugin/ (props changed)
Propchange: maven/plugins/trunk/maven-jar-plugin/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue Jan 1 14:11:28 2008
@@ -8,3 +8,4 @@
*.iml
.wtpmodules
.settings
+build
Copied: maven/plugins/trunk/maven-jar-plugin/src/it/manifest-content/pom.xml
(from r607924, maven/plugins/trunk/maven-jar-plugin/src/it/MJAR-60/pom.xml)
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-jar-plugin/src/it/manifest-content/pom.xml?p2=maven/plugins/trunk/maven-jar-plugin/src/it/manifest-content/pom.xml&p1=maven/plugins/trunk/maven-jar-plugin/src/it/MJAR-60/pom.xml&r1=607924&r2=607928&rev=607928&view=diff
==============================================================================
--- maven/plugins/trunk/maven-jar-plugin/src/it/MJAR-60/pom.xml (original)
+++ maven/plugins/trunk/maven-jar-plugin/src/it/manifest-content/pom.xml Tue
Jan 1 14:11:28 2008
@@ -20,11 +20,13 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>MJAR-60</artifactId>
- <name>MJAR-60</name>
+ <artifactId>manifest-content</artifactId>
+ <name>manifest-content-it</name>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
-
+ <organization>
+ <name>jar plugin it</name>
+ </organization>
<build>
<plugins>
<plugin>
@@ -33,14 +35,13 @@
<version>@pom.version@</version>
<configuration>
<archive>
+ <forced>true</forced>
<manifest>
+
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
<mainClass>myproject.HelloWorld</mainClass>
<addClasspath>true</addClasspath>
- <classpathPrefix>lib</classpathPrefix>
</manifest>
- <manifestEntries>
- <Class-Path>config/</Class-Path>
- </manifestEntries>
</archive>
</configuration>
</plugin>
Copied: maven/plugins/trunk/maven-jar-plugin/src/it/manifest-content/verify.bsh
(from r607924, maven/plugins/trunk/maven-jar-plugin/src/it/MJAR-60/verify.bsh)
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-jar-plugin/src/it/manifest-content/verify.bsh?p2=maven/plugins/trunk/maven-jar-plugin/src/it/manifest-content/verify.bsh&p1=maven/plugins/trunk/maven-jar-plugin/src/it/MJAR-60/verify.bsh&r1=607924&r2=607928&rev=607928&view=diff
==============================================================================
--- maven/plugins/trunk/maven-jar-plugin/src/it/MJAR-60/verify.bsh (original)
+++ maven/plugins/trunk/maven-jar-plugin/src/it/manifest-content/verify.bsh Tue
Jan 1 14:11:28 2008
@@ -1,76 +1,110 @@
-
-/*
- * 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.
- */
-
-import java.io.*;
-import java.util.*;
-import java.util.jar.*;
-import org.codehaus.plexus.util.*;
-
-boolean result = true;
-
-try
-{
- File target = new File( basedir, "target" );
- if ( !target.exists() || !target.isDirectory() )
- {
- System.err.println( "target file is missing or not a directory." );
- return false;
- }
-
- File artifact = new File ( target, "MJAR-60-1.0-SNAPSHOT.jar" );
- if ( !artifact.exists() || artifact.isDirectory() )
- {
- System.err.println( "artifact file is missing or a directory." );
- return false;
- }
-
- JarFile jar = new JarFile( artifact );
- Enumeration jarEntries = jar.entries();
- while ( jarEntries.hasMoreElements() )
- {
- JarEntry entry = (JarEntry) jarEntries.nextElement();
- if ( !entry.isDirectory() )
- {
- // Only compare files
- if ( entry.getName().equals ("META-INF/MANIFEST.MF") )
- {
- String manifest = IOUtil.toString ( jar.getInputStream ( entry
) );
- int index = manifest.indexOf ( "Class-Path: config/" );
- if ( index <= 0 )
- {
- System.err.println ( "MANIFEST doens t contains :
Class-Path: config/" );
- return false;
- }
- return true;
- }
- }
- }
- System.err.println ( "MANIFEST.MF not found" );
- return false;
-
-
-}
-catch( Throwable e )
-{
- e.printStackTrace();
- result = false;
-}
-
-return result;
+
+/*
+ * 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.
+ */
+
+import java.io.*;
+import java.util.*;
+import java.util.jar.*;
+import org.codehaus.plexus.util.*;
+
+boolean result = true;
+
+try
+{
+ File target = new File( basedir, "target" );
+ if ( !target.exists() || !target.isDirectory() )
+ {
+ System.err.println( "target file is missing or not a directory." );
+ return false;
+ }
+
+ File artifact = new File ( target, "manifest-content-1.0-SNAPSHOT.jar" );
+ if ( !artifact.exists() || artifact.isDirectory() )
+ {
+ System.err.println( "artifact file is missing or a directory." );
+ return false;
+ }
+
+ JarFile jar = new JarFile( artifact );
+
+ Attributes manifest = jar.getManifest().getMainAttributes();
+
+ if ( !"Apache Maven".equals( manifest.get( new Attributes.Name(
"Created-By" ) ) ) )
+ {
+ System.err.println( "Created-By not equals Apache Maven" );
+ return false;
+ }
+
+
+ if ( !"manifest-content-it".equals( manifest.get(
Attributes.Name.SPECIFICATION_TITLE ) ) )
+ {
+ System.err.println( Attributes.Name.SPECIFICATION_TITLE.toString() + "
not equals manifest-content-it" );
+ return false;
+ }
+
+ if ( !"1.0-SNAPSHOT".equals( manifest.get(
Attributes.Name.SPECIFICATION_VERSION ) ) )
+ {
+ System.err.println( Attributes.Name.SPECIFICATION_VERSION.toString() +
" not equals 1.0-SNAPSHOT" );
+ return false;
+ }
+
+ if ( !"jar plugin it".equals( manifest.get(
Attributes.Name.SPECIFICATION_VENDOR ) ) )
+ {
+ System.err.println( Attributes.Name.SPECIFICATION_VENDOR.toString() +
" not equals jar plugin it" );
+ return false;
+ }
+
+ if ( !"manifest-content-it".equals( manifest.get(
Attributes.Name.IMPLEMENTATION_TITLE ) ) )
+ {
+ System.err.println( Attributes.Name.IMPLEMENTATION_TITLE.toString() +
" not equals manifest-content-it" );
+ return false;
+ }
+
+ if ( !"1.0-SNAPSHOT".equals( manifest.get(
Attributes.Name.IMPLEMENTATION_VERSION ) ) )
+ {
+ System.err.println( Attributes.Name.SPECIFICATION_VERSION.toString() +
" not equals 1.0-SNAPSHOT" );
+ return false;
+ }
+
+ if ( !"org.apache.maven.plugins".equals( manifest.get(
Attributes.Name.IMPLEMENTATION_VENDOR_ID ) ) )
+ {
+ System.err.println(
Attributes.Name.IMPLEMENTATION_VENDOR_ID.toString() + " not equals
org.apache.maven.plugins" );
+ return false;
+ }
+
+ if ( !"jar plugin it".equals( manifest.get(
Attributes.Name.IMPLEMENTATION_VENDOR ) ) )
+ {
+ System.err.println( Attributes.Name.IMPLEMENTATION_VENDOR.toString() +
" not equals jar plugin it" );
+ return false;
+ }
+
+ if ( !"myproject.HelloWorld".equals( manifest.get(
Attributes.Name.MAIN_CLASS ) ) )
+ {
+ System.err.println( Attributes.Name.MAIN_CLASS.toString() + " not
equals myproject.HelloWorld" );
+ return false;
+ }
+
+}
+catch( Throwable e )
+{
+ e.printStackTrace();
+ result = false;
+}
+
+return result;