You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kh...@apache.org on 2020/04/16 13:19:54 UTC

[maven-ear-plugin] branch itf-extension updated (699bcfb -> 3f6ce4a)

This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a change to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git.


 discard 699bcfb  Upgrade to release 0.2.0
 discard 3215241  Cleaned up.
 discard ac70f79  Updated.
 discard 24e55cd  Running IT's via ngi plugin.
 discard 6d3c37d  Fixed.
 discard 84b243c  Improved.
 discard d3ae66a  Disabled tow tests which currently not working based on issues in extension.
 discard ebd0861  Migrated more tests.
 discard b8753ca  Added another IT.
 discard 1bc7378  Recordered test methods.
 discard 8f49779  Improved tests.
 discard a4dd1cf  Improved. Relocated.
 discard 3d627a0  Improved.
 discard 5681715  Let run integration tests in parallel.
 discard 3e232a1  Added comments.
 discard ecdd2d5  Cleaned up. Using value makes usage of annotation DisabledForMaven easier to use.
 discard 522f08a  Added maven.home system property
 discard 7e7476b  Get usual unit tests back to work. Give system property about Maven version to integration tests.
 discard 5cf63c7  Added some comments within the pom file to explain some of the changes.
 discard bb6db61  Added another integration test case.
 discard 8236aea  cleaned up.
 discard 78f366f  Improved configuration. Leave only needed dependencies.
 discard d5b7bcb  First prototype testing working.
 discard 1ee15c2  Maven IT Extension Test
     add fdfeb2e  [MEAR-279] make build Reproducible
     add f435f1e  fixed link to mailing lists
     add c0d1e03  fixed link to doc
     add d9fdd90  added ASF Jira badge
     add 40a686d  added ASF GitHub config
     add 46be87a  fixed broken links (MPIR 3)
     add 5633285  README improvement
     new 449b336  Maven IT Extension Test
     new e76c14a  First prototype testing working.
     new 721d774  Improved configuration. Leave only needed dependencies.
     new 23fe14e  cleaned up.
     new f046e23  Added another integration test case.
     new 4e96a9e  Added some comments within the pom file to explain some of the changes.
     new b374d72  Get usual unit tests back to work. Give system property about Maven version to integration tests.
     new e8dfede  Added maven.home system property
     new cf4a103  Cleaned up. Using value makes usage of annotation DisabledForMaven easier to use.
     new a8e05b2  Added comments.
     new f317563  Let run integration tests in parallel.
     new d0c6ce9  Improved.
     new 3b74389  Improved. Relocated.
     new af50c1f  Improved tests.
     new cd2456d  Recordered test methods.
     new a3596ae  Added another IT.
     new 0a6ec9c  Migrated more tests.
     new 6cac0f9  Disabled tow tests which currently not working based on issues in extension.
     new bf82d03  Improved.
     new 5a24659  Fixed.
     new 667c7d5  Running IT's via ngi plugin.
     new 1230c23  Updated.
     new 77ed238  Cleaned up.
     new 3f6ce4a  Upgrade to release 0.2.0

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (699bcfb)
            \
             N -- N -- N   refs/heads/itf-extension (3f6ce4a)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 24 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .asf.yaml                 | 26 ++++++++++++++
 CONTRIBUTING.md           | 91 -----------------------------------------------
 README.md                 | 18 +++++-----
 pom.xml                   |  1 +
 src/site/apt/index.apt.vm |  8 ++---
 5 files changed, 41 insertions(+), 103 deletions(-)
 create mode 100644 .asf.yaml
 delete mode 100644 CONTRIBUTING.md


[maven-ear-plugin] 23/24: Cleaned up.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit 77ed2380ecd7569f699d981b5fe1874811b260c2
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sun Apr 12 21:28:32 2020 +0200

    Cleaned up.
---
 src/test/java/org/apache/maven/plugins/ear/it/EARIT.java | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
index 01e8164..48dd243 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -19,7 +19,6 @@ package org.apache.maven.plugins.ear.it;
  * under the License.
  */
 
-import org.apache.maven.assertj.MavenITAssertions;
 import org.apache.maven.jupiter.extension.MavenIT;
 import org.apache.maven.jupiter.extension.MavenTest;
 import org.apache.maven.jupiter.maven.MavenExecutionResult;


[maven-ear-plugin] 22/24: Updated.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit 1230c23126a6a5aba1154802314fbaf49e27362f
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sat Apr 11 00:34:30 2020 +0200

    Updated.
---
 pom.xml | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/pom.xml b/pom.xml
index baaa687..76b0320 100644
--- a/pom.xml
+++ b/pom.xml
@@ -331,7 +331,7 @@
               </execution>
               <execution>
                 <id>install-artifacts</id>
-<!--                <phase>EMPTY</phase>-->
+<!--                <phase>EMPTY</phase> -->
                 <goals>
                   <goal>install</goal>
                 </goals>
@@ -345,7 +345,6 @@
               </execution>
             </executions>
           </plugin>
-<!--
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-failsafe-plugin</artifactId>
@@ -375,7 +374,6 @@
               </execution>
             </executions>
           </plugin>
--->
 <!--
           <plugin>
             <groupId>de.sormuras.junit</groupId>
@@ -402,7 +400,7 @@
 						<execution>
 							<id>execution-first</id>
               <goals>
-                <goal>install</goal>
+<!--                <goal>install</goal> -->
                 <goal>integration-test</goal>
               </goals>
 						</execution>


[maven-ear-plugin] 03/24: Improved configuration. Leave only needed dependencies.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit 721d774d931d85e7bd604bb82e61d0a0dc88f8dd
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sun Oct 27 20:25:47 2019 +0100

    Improved configuration. Leave only needed dependencies.
---
 pom.xml                                            | 18 -------
 src/it/basic/pom.xml                               | 45 ----------------
 .../application/META-INF/appserver-application.xml | 22 --------
 src/it/basic/verify.bsh                            | 49 -----------------
 src/it/packaging-excludes/pom.xml                  | 53 ------------------
 src/it/packaging-excludes/verify.bsh               | 61 ---------------------
 src/it/packaging-includes/pom.xml                  | 58 --------------------
 src/it/packaging-includes/verify.bsh               | 62 ----------------------
 src/it/resource-custom-directory/pom.xml           | 49 -----------------
 .../application/APP-INF/classes/foo.properties     | 18 -------
 src/it/resource-custom-directory/verify.bsh        | 49 -----------------
 .../org/apache/maven/plugins/ear/it/EARIT.java     | 20 +++++++
 12 files changed, 20 insertions(+), 484 deletions(-)

diff --git a/pom.xml b/pom.xml
index 6820310..ac875a8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -182,24 +182,6 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-core</artifactId>
-      <version>3.0.0</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-inline</artifactId>
-      <version>3.0.0</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-junit-jupiter</artifactId>
-      <version>3.0.0</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>org.junit.jupiter</groupId>
       <artifactId>junit-jupiter-engine</artifactId>
       <scope>test</scope>
diff --git a/src/it/basic/pom.xml b/src/it/basic/pom.xml
deleted file mode 100644
index cb4f225..0000000
--- a/src/it/basic/pom.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-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.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.ear.basic</groupId>
-  <artifactId>test</artifactId>
-  <version>1.0</version>
-  <packaging>ear</packaging>
-
-  <name>Maven Integration Test :: it0033</name> 
-  <description>Test an EAR generation</description>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-ear-plugin</artifactId>
-        <version>@project.version@</version>
-        <configuration>
-          <generateApplicationXml>true</generateApplicationXml>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/src/it/basic/src/main/application/META-INF/appserver-application.xml b/src/it/basic/src/main/application/META-INF/appserver-application.xml
deleted file mode 100644
index 76c25e0..0000000
--- a/src/it/basic/src/main/application/META-INF/appserver-application.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0"?>
-<!--
-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.
--->
-<appserver-app>
-  <whatever/>
-</appserver-app>
diff --git a/src/it/basic/verify.bsh b/src/it/basic/verify.bsh
deleted file mode 100644
index 0e96a92..0000000
--- a/src/it/basic/verify.bsh
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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 java.util.regex.*;
-
-File jarFile = new File( basedir, "target/test-1.0.ear" );
-System.out.println( "Checking for existence of " + jarFile );
-if ( !jarFile.isFile() )
-{
-    throw new IllegalStateException( "Missing file: " + jarFile );
-}
-
-JarFile jar = new JarFile( jarFile );
-
-String[] includedEntries = {
-    "META-INF/application.xml",
-    "META-INF/appserver-application.xml",
-};
-for ( String included : includedEntries )
-{
-    System.out.println( "Checking for existence of " + included );
-    if ( jar.getEntry( included ) == null )
-    {
-        throw new IllegalStateException( "Missing archive entry: " + included );
-    }
-}
-
-jar.close();
-
-return true;
diff --git a/src/it/packaging-excludes/pom.xml b/src/it/packaging-excludes/pom.xml
deleted file mode 100644
index 8f7419e..0000000
--- a/src/it/packaging-excludes/pom.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-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.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.ear.packagingexcludes</groupId>
-  <artifactId>test</artifactId>
-  <version>1.0</version>
-  <packaging>ear</packaging>
-
-  <name>Maven EAR Plugin Integration Test :: packaging excludes</name> 
-  <description>Test EAR generation using packaging excludes</description>
-
-  <dependencies>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.5</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-ear-plugin</artifactId>
-        <version>@project.version@</version>
-        <configuration>
-          <packagingExcludes>commons-lang-*.jar</packagingExcludes>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/src/it/packaging-excludes/verify.bsh b/src/it/packaging-excludes/verify.bsh
deleted file mode 100644
index 4cc3c9c..0000000
--- a/src/it/packaging-excludes/verify.bsh
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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 java.util.regex.*;
-
-File jarFile = new File( basedir, "target/test-1.0.ear" );
-System.out.println( "Checking for existence of " + jarFile );
-if ( !jarFile.isFile() )
-{
-    throw new IllegalStateException( "Missing file: " + jarFile );
-}
-
-JarFile jar = new JarFile( jarFile );
-
-String[] includedEntries = {
-    "META-INF/application.xml",
-    "META-INF/MANIFEST.MF"
-};
-for ( String included : includedEntries )
-{
-    System.out.println( "Checking for included archive entry " + included );
-    if ( jar.getEntry( included ) == null )
-    {
-        throw new IllegalStateException( "Missing archive entry: " + included );
-    }
-}
-
-String[] excludedEntries = {
-    "commons-lang-commons-lang-2.5.jar"
-};
-for ( String excluded : excludedEntries )
-{
-    System.out.println( "Checking for excluded artifact " + excluded );
-    if ( jar.getEntry( excluded ) != null )
-    {
-        throw new IllegalStateException( "Archive entry should be excluded: " + excluded );
-    }
-}
-
-jar.close();
-
-return true;
diff --git a/src/it/packaging-includes/pom.xml b/src/it/packaging-includes/pom.xml
deleted file mode 100644
index c37ae70..0000000
--- a/src/it/packaging-includes/pom.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-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.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.ear.packagingincludes</groupId>
-  <artifactId>test</artifactId>
-  <version>1.0</version>
-  <packaging>ear</packaging>
-
-  <name>Maven EAR Plugin Integration Test :: packaging includes</name>
-  <description>Test EAR generation using packaging includes</description>
-
-  <dependencies>
-    <dependency>
-      <groupId>commons-io</groupId>
-      <artifactId>commons-io</artifactId>
-      <version>1.4</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.5</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-ear-plugin</artifactId>
-        <version>@project.version@</version>
-        <configuration>
-          <packagingIncludes>commons-lang-*.jar,META-INF/**</packagingIncludes>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/src/it/packaging-includes/verify.bsh b/src/it/packaging-includes/verify.bsh
deleted file mode 100644
index f8e2415..0000000
--- a/src/it/packaging-includes/verify.bsh
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * 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 java.util.regex.*;
-
-File jarFile = new File( basedir, "target/test-1.0.ear" );
-System.out.println( "Checking for existence of " + jarFile );
-if ( !jarFile.isFile() )
-{
-    throw new IllegalStateException( "Missing file: " + jarFile );
-}
-
-JarFile jar = new JarFile( jarFile );
-
-String[] includedEntries = {
-    "commons-lang-commons-lang-2.5.jar",
-    "META-INF/application.xml",
-    "META-INF/MANIFEST.MF"
-};
-for ( String included : includedEntries )
-{
-    System.out.println( "Checking for included archive entry " + included );
-    if ( jar.getEntry( included ) == null )
-    {
-        throw new IllegalStateException( "Missing archive entry: " + included );
-    }
-}
-
-String[] excludedEntries = {
-    "commons-io-1.4.jar"
-};
-for ( String excluded : excludedEntries )
-{
-    System.out.println( "Checking for excluded artifact " + excluded );
-    if ( jar.getEntry( excluded ) != null )
-    {
-        throw new IllegalStateException( "Archive entry should be excluded: " + excluded );
-    }
-}
-
-jar.close();
-
-return true;
diff --git a/src/it/resource-custom-directory/pom.xml b/src/it/resource-custom-directory/pom.xml
deleted file mode 100644
index 4a1b69b..0000000
--- a/src/it/resource-custom-directory/pom.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-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.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.ear.resourcecustomdirectory</groupId>
-  <artifactId>test</artifactId>
-  <version>1.0</version>
-  <packaging>ear</packaging>
-
-  <name>Maven EAR Plugin Integration Test :: resource custom directory</name>
-  <description>Test filtering of a custom directory</description>
-
-  <properties>
-    <filtered.value>Hello World!</filtered.value>
-  </properties>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-ear-plugin</artifactId>
-        <version>@project.version@</version>
-        <configuration>
-          <filtering>true</filtering>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/src/it/resource-custom-directory/src/main/application/APP-INF/classes/foo.properties b/src/it/resource-custom-directory/src/main/application/APP-INF/classes/foo.properties
deleted file mode 100644
index 08481f0..0000000
--- a/src/it/resource-custom-directory/src/main/application/APP-INF/classes/foo.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-# 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.
-
-test.property=${filtered.value}
\ No newline at end of file
diff --git a/src/it/resource-custom-directory/verify.bsh b/src/it/resource-custom-directory/verify.bsh
deleted file mode 100644
index 41b23b7..0000000
--- a/src/it/resource-custom-directory/verify.bsh
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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 java.util.regex.*;
-
-File jarFile = new File( basedir, "target/test-1.0.ear" );
-System.out.println( "Checking for existence of " + jarFile );
-if ( !jarFile.isFile() )
-{
-    throw new IllegalStateException( "Missing file: " + jarFile );
-}
-
-JarFile jar = new JarFile( jarFile );
-
-String[] includedEntries = {
-    "META-INF/application.xml",
-    "APP-INF/classes/foo.properties",
-};
-for ( String included : includedEntries )
-{
-    System.out.println( "Checking for existence of " + included );
-    if ( jar.getEntry( included ) == null )
-    {
-        throw new IllegalStateException( "Missing archive entry: " + included );
-    }
-}
-
-jar.close();
-
-return true;
diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
index 147ae4c..3863992 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -26,10 +26,27 @@ import org.apache.maven.jupiter.extension.MavenTest;
 import org.apache.maven.jupiter.extension.maven.MavenExecutionResult;
 import org.apache.maven.jupiter.extension.maven.MavenLog;
 import org.apache.maven.jupiter.extension.maven.MavenProjectResult;
+import org.junit.jupiter.api.DisplayName;
 
+/**
+ * Examples taken from Maven EAR Plugin
+ *
+ * Invoker Integration Test:
+ * <ul>
+ *   <li>basic</li>
+ *   <li>packaging_includes</li>
+ *   <li>packaging_excludes</li>
+ *   <li>resource_custom_directory</li>
+ * </ul>
+ *
+ * @author Karl Heinz Marbaise
+ */
 @MavenIT
+@DisplayName("EAR Plugin Integration tests")
 class EARIT {
+
   @MavenTest
+  @DisplayName("Basic configuration. Should simply create an ear file.")
   void basic(MavenExecutionResult result, MavenProjectResult project) {
     assertThat(result).isSuccessful();
     assertThat(project).hasTarget()
@@ -38,6 +55,7 @@ class EARIT {
   }
 
   @MavenTest
+  @DisplayName("Packging includes defined.")
   void packaging_includes(MavenExecutionResult result, MavenProjectResult project) {
     assertThat(result).isSuccessful();
     assertThat(project).hasTarget()
@@ -47,6 +65,7 @@ class EARIT {
   }
 
   @MavenTest
+  @DisplayName("Packging excludes defined to prevent adding commons-lang-2.5 into the ear file.")
   void packaging_excludes(MavenExecutionResult result, MavenProjectResult project) {
     assertThat(result).isSuccessful();
     assertThat(project).hasTarget()
@@ -56,6 +75,7 @@ class EARIT {
   }
 
   @MavenTest
+  @DisplayName("Filtering of a custom directory (likely wrong!)")
   void resource_custom_directory(MavenExecutionResult result, MavenProjectResult project, MavenLog log) {
     assertThat(result).isSuccessful();
     assertThat(log).isSuccessful();


[maven-ear-plugin] 17/24: Migrated more tests.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit 0a6ec9c642d9be0b81a675a852c5ab059b51bf34
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sun Nov 10 22:41:34 2019 +0100

    Migrated more tests.
---
 .../war-module/pom.xml                             | 47 -----------
 .../war-module/src/main/webapp/WEB-INF/web.xml     | 23 ------
 src/it/skinny-wars-filenamemapping-full/pom.xml    | 36 ---------
 .../ear-module/pom.xml                             | 62 --------------
 .../verify.bsh                                     | 94 ----------------------
 .../org/apache/maven/plugins/ear/it/EARIT.java     | 79 +++++++++++++++++-
 .../filenamemapping_usage_fail}/ear-module/pom.xml |  0
 .../filenamemapping_usage_fail}/invoker.properties |  0
 .../it/EARIT/filenamemapping_usage_fail}/pom.xml   |  0
 .../filenamemapping_usage_fail}/verify.groovy      |  0
 .../filenamemapping_usage_fail}/war-module/pom.xml |  0
 .../war-module/src/main/webapp/WEB-INF/web.xml     |  0
 .../ear/it/EARIT/mear_198}/invoker.properties      |  0
 .../maven/plugins/ear/it/EARIT/mear_198}/pom.xml   |  0
 .../ear/it/EARIT/mear_198}/src/main/java/A.java    | 50 ++++++------
 .../plugins/ear/it/EARIT/mear_198}/verify.bsh      |  0
 .../ear-module/pom.xml                             |  0
 .../EARIT/mear_243_skinny_wars_provided}/pom.xml   |  0
 .../mear_243_skinny_wars_provided}/verify.bsh      |  0
 .../war-module/pom.xml                             |  0
 .../war-module/src/main/webapp/WEB-INF/web.xml     |  0
 .../ear/it/EARIT/same_artifactId}/app/pom.xml      |  0
 .../same_artifactId}/business-service/pom.xml      |  0
 .../src/main/java/com/example/B.java               | 58 ++++++-------
 .../it/EARIT/same_artifactId}/ejb-service/pom.xml  |  0
 .../ejb-service/src/main/java/com/example/A.java   | 58 ++++++-------
 .../it/EARIT/same_artifactId}/invoker.properties   | 36 ++++-----
 .../plugins/ear/it/EARIT/same_artifactId}/pom.xml  |  0
 .../ear/it/EARIT/same_artifactId}/verify.groovy    | 80 +++++++++---------
 .../ear/it/EARIT/skinny_wars}/ear-module/pom.xml   |  0
 .../plugins/ear/it/EARIT/skinny_wars}/pom.xml      |  0
 .../plugins/ear/it/EARIT/skinny_wars}/verify.bsh   |  0
 .../ear/it/EARIT/skinny_wars}/war-module/pom.xml   |  0
 .../war-module/src/main/webapp/WEB-INF/web.xml     |  0
 .../ear-module/pom.xml                             |  0
 .../skinny_wars_filenamemapping_full}/pom.xml      |  0
 .../skinny_wars_filenamemapping_full}/verify.bsh   |  0
 .../war-module/pom.xml                             |  0
 .../war-module/src/main/webapp/WEB-INF/web.xml     |  0
 .../EARIT/skinny_wars_javaee5}/ear-module/pom.xml  |  0
 .../ear/it/EARIT/skinny_wars_javaee5}/pom.xml      |  0
 .../ear/it/EARIT/skinny_wars_javaee5}/verify.bsh   |  0
 .../EARIT/skinny_wars_javaee5}/war-module/pom.xml  |  0
 .../war-module/src/main/webapp/WEB-INF/web.xml     |  0
 .../skinny_wars_timestamp}/ear-module/pom.xml      |  0
 .../ear/it/EARIT/skinny_wars_timestamp}/pom.xml    |  0
 .../ear/it/EARIT/skinny_wars_timestamp}/verify.bsh |  0
 .../skinny_wars_timestamp}/war-module/pom.xml      |  0
 .../war-module/src/main/webapp/WEB-INF/web.xml     |  0
 49 files changed, 216 insertions(+), 407 deletions(-)

diff --git a/src/it/MEAR-243-skinny-wars-provided/war-module/pom.xml b/src/it/MEAR-243-skinny-wars-provided/war-module/pom.xml
deleted file mode 100644
index c6be50e..0000000
--- a/src/it/MEAR-243-skinny-wars-provided/war-module/pom.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-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.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.ear.skinnywars</groupId>
-  <artifactId>war-module</artifactId>
-  <version>1.0</version>
-  <packaging>war</packaging>
-
-  <dependencies>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.5</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-war-plugin</artifactId>
-        <version>2.1.1</version>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/src/it/MEAR-243-skinny-wars-provided/war-module/src/main/webapp/WEB-INF/web.xml b/src/it/MEAR-243-skinny-wars-provided/war-module/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index c1af95d..0000000
--- a/src/it/MEAR-243-skinny-wars-provided/war-module/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-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.
--->
-<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
-
-<web-app >
-</web-app>
diff --git a/src/it/skinny-wars-filenamemapping-full/pom.xml b/src/it/skinny-wars-filenamemapping-full/pom.xml
deleted file mode 100644
index 572a543..0000000
--- a/src/it/skinny-wars-filenamemapping-full/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-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.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.ear.skinnywars</groupId>
-  <artifactId>pom</artifactId>
-  <version>1.0</version>
-  <packaging>pom</packaging>
-
-  <description>Test MEAR-189</description>
-
-  <modules>
-      <module>ear-module</module>
-      <module>war-module</module>
-  </modules>
-</project>
diff --git a/src/it/skinny-wars-filenamemapping-no-version/ear-module/pom.xml b/src/it/skinny-wars-filenamemapping-no-version/ear-module/pom.xml
deleted file mode 100644
index 474fcf1..0000000
--- a/src/it/skinny-wars-filenamemapping-no-version/ear-module/pom.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-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.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.ear.skinnywars</groupId>
-  <artifactId>ear-module</artifactId>
-  <version>1.0</version>
-  <packaging>ear</packaging>
-
-  <dependencies>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.5</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.its.ear.skinnywars</groupId>
-      <artifactId>war-module</artifactId>
-      <version>1.0</version>
-      <type>war</type>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>@project.groupId@</groupId>
-        <artifactId>@project.artifactId@</artifactId>
-        <version>@project.version@</version>
-        <configuration>
-          <skinnyWars>true</skinnyWars>
-          <defaultLibBundleDir>lib/</defaultLibBundleDir>
-          <!--
-            ! Only artifactId.extension
-            ! no groupId/version etc. 
-           -->
-          <outputFileNameMapping>@{artifactId}@@{dashClassifier?}@.@{extension}@</outputFileNameMapping>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-</project>
diff --git a/src/it/skinny-wars-filenamemapping-no-version/verify.bsh b/src/it/skinny-wars-filenamemapping-no-version/verify.bsh
deleted file mode 100644
index 9eec674..0000000
--- a/src/it/skinny-wars-filenamemapping-no-version/verify.bsh
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * 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 java.util.regex.*;
-
-File jarFile = new File( basedir, "ear-module/target/ear-module-1.0/war-module.war" );
-System.out.println( "Checking for existence of " + jarFile );
-if ( !jarFile.isFile() )
-{
-    throw new IllegalStateException( "Missing file: " + jarFile );
-}
-
-JarFile jar = new JarFile( jarFile );
-
-String[] includedEntries = {
-    "WEB-INF/web.xml",
-    "META-INF/MANIFEST.MF"
-};
-for ( String included : includedEntries )
-{
-    System.out.println( "Checking for included archive entry " + included );
-    if ( jar.getEntry( included ) == null )
-    {
-        throw new IllegalStateException( "Missing archive entry: " + included );
-    }
-}
-
-Manifest manifest = jar.getManifest();
-String manifestClassPath = manifest.getMainAttributes().getValue("Class-Path");
-if ( !manifestClassPath.equals("lib/commons-lang.jar") )
-{
-    throw new IllegalStateException( "Missing entry in war MANIFEST.MF: lib/commons-lang.jar");
-}
-
-String[] excludedEntries = {
-    "WEB-INF/lib/commons-lang-2.5.jar"
-};
-for ( String excluded : excludedEntries )
-{
-    System.out.println( "Checking for excluded artifact " + excluded );
-    if ( jar.getEntry( excluded ) != null )
-    {
-        throw new IllegalStateException( "Archive entry should be excluded: " + excluded );
-    }
-}
-
-jar.close();
-
-
-File jarFile = new File( basedir, "war-module/target/war-module-1.0.war" );
-System.out.println( "Checking for existence of " + jarFile );
-if ( !jarFile.isFile() )
-{
-    throw new IllegalStateException( "Missing file: " + jarFile );
-}
-
-JarFile jar = new JarFile( jarFile );
-
-String[] includedEntries = {
-    "WEB-INF/web.xml",
-    "META-INF/MANIFEST.MF",
-    "WEB-INF/lib/commons-lang-2.5.jar"
-};
-for ( String included : includedEntries )
-{
-    System.out.println( "Checking for included archive entry " + included );
-    if ( jar.getEntry( included ) == null )
-    {
-        throw new IllegalStateException( "Missing archive entry: " + included );
-    }
-}
-
-jar.close();
-
-return true;
diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
index 2a85352..59d0819 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -54,6 +54,12 @@ class EARIT {
         .containsOnlyOnce("META-INF/application.xml", "META-INF/appserver-application.xml");
   }
 
+  @MavenTest
+  void filenamemapping_usage_fail(MavenExecutionResult result, MavenProjectResult project) {
+    assertThat(result).isFailure();
+    assertThat(result).log().buildFailure();
+  }
+
   /*
 Archive:  test-1.0.ear
   testing: META-INF/MANIFEST.MF     OK
@@ -77,6 +83,21 @@ Archive:  test-1.0.ear
   }
 
   @MavenTest
+  void mear_243_skinny_wars_provided(MavenExecutionResult result, MavenProjectResult project, MavenLog log) {
+    assertThat(result).isSuccessful();
+    assertThat(log).isSuccessful();
+    assertThat(project).hasModule("ear-module");
+    assertThat(project).hasModule("war-module");
+  }
+
+  @MavenTest(goals = {"clean", "package"})
+  void mear_198(MavenExecutionResult result, MavenProjectResult project, MavenLog log) {
+    assertThat(result).isSuccessful();
+    assertThat(log).isSuccessful();
+    assertThat(project).hasTarget();
+  }
+
+  @MavenTest
   void packaging_excludes(MavenExecutionResult result, MavenProjectResult project) {
     assertThat(result).isSuccessful();
     assertThat(project).hasTarget()
@@ -99,12 +120,49 @@ Archive:  test-1.0.ear
   void resource_custom_directory(MavenExecutionResult result, MavenProjectResult project, MavenLog log) {
     assertThat(result).isSuccessful();
     assertThat(log).isSuccessful();
-    assertThat(project).hasTarget()
+    assertThat(result).project().hasTarget()
         .withEarFile()
         .containsOnlyOnce("META-INF/application.xml", "APP-INF/classes/foo.properties");
   }
 
   @MavenTest
+  void same_artifactId(MavenExecutionResult result, MavenProjectResult project, MavenLog log) {
+    assertThat(result).isSuccessful();
+    assertThat(log).isSuccessful();
+    assertThat(project).hasModule("war-module");
+    assertThat(project).hasModule("ear-module");
+  }
+
+  @MavenTest
+  void skinny_wars(MavenExecutionResult result, MavenProjectResult project, MavenLog log) {
+    assertThat(result).isSuccessful();
+    assertThat(log).isSuccessful();
+    assertThat(project).hasModule("war-module");
+    assertThat(project).hasModule("ear-module");
+  }
+
+  @MavenTest
+  void skinny_wars_filenamemapping_full(MavenExecutionResult result) {
+    assertThat(result).isSuccessful();
+    assertThat(result).project().hasModule("war-module");
+    assertThat(result).project().hasModule("ear-module");
+    //    //FIXME: The following checking is not correct:
+    //    //File jarFile = new File( basedir, "ear-module/target/ear-module-1.0/war-module.war" );
+    //    assertThat(result).project()
+    //        .withModule("war-module")
+    //        .withWarFile()
+    //        .containsOnlyOnce("WEB-INF/web.xml", "META-INF/MANIFEST.MF");
+    //        //FIXME: Check if the following works correctly: .doesNotContain("WEB-INF/lib/commons-lang-2.5.jar");
+    //
+    //    assertThat(result).project()
+    //        .withModule("war-module")
+    //        .withWarFile()
+    //        .containsOnlyOnce("WEB-INF/web.xml", "META-INF/MANIFEST.MF", "WEB-INF/lib/commons-lang-2.5.jar");
+    //
+    //    assertThat(result).project().withModule(  "ear-module").withEarFile();
+  }
+
+  @MavenTest
   void skinny_wars_filenamemapping_no_version(MavenExecutionResult result) {
     assertThat(result).isSuccessful();
     assertThat(result).project().hasModule("war-module");
@@ -114,14 +172,28 @@ Archive:  test-1.0.ear
         .withModule("war-module")
         .withWarFile()
         .containsOnlyOnce("WEB-INF/web.xml", "META-INF/MANIFEST.MF");
-        //FIXME: Check if the following works correctly: .doesNotContain("WEB-INF/lib/commons-lang-2.5.jar");
+    //FIXME: Check if the following works correctly: .doesNotContain("WEB-INF/lib/commons-lang-2.5.jar");
 
     assertThat(result).project()
         .withModule("war-module")
         .withWarFile()
         .containsOnlyOnce("WEB-INF/web.xml", "META-INF/MANIFEST.MF", "WEB-INF/lib/commons-lang-2.5.jar");
 
-    assertThat(result).project().withModule(  "ear-module").withEarFile();
+    assertThat(result).project().withModule("ear-module").withEarFile();
+  }
+
+  @MavenTest
+  void skinny_wars_javaee5(MavenExecutionResult result, MavenProjectResult project) {
+    assertThat(result).isSuccessful();
+    assertThat(project).hasModule("war-module");
+    assertThat(project).hasModule("ear-module");
+  }
+
+  @MavenTest
+  void skinny_wars_timestamp(MavenExecutionResult result, MavenProjectResult project) {
+    assertThat(result).isSuccessful();
+    assertThat(project).hasModule("war-module");
+    assertThat(project).hasModule("ear-module");
   }
 
   @MavenTest
@@ -132,5 +204,4 @@ Archive:  test-1.0.ear
         .withEarFile()
         .containsOnlyOnce("org.apache.maven-maven-core-3.0.jar", "META-INF/application.xml");
   }
-
 }
diff --git a/src/it/filenamemapping-usage-fail/ear-module/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/filenamemapping_usage_fail/ear-module/pom.xml
similarity index 100%
rename from src/it/filenamemapping-usage-fail/ear-module/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/filenamemapping_usage_fail/ear-module/pom.xml
diff --git a/src/it/filenamemapping-usage-fail/invoker.properties b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/filenamemapping_usage_fail/invoker.properties
similarity index 100%
rename from src/it/filenamemapping-usage-fail/invoker.properties
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/filenamemapping_usage_fail/invoker.properties
diff --git a/src/it/filenamemapping-usage-fail/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/filenamemapping_usage_fail/pom.xml
similarity index 100%
rename from src/it/filenamemapping-usage-fail/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/filenamemapping_usage_fail/pom.xml
diff --git a/src/it/filenamemapping-usage-fail/verify.groovy b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/filenamemapping_usage_fail/verify.groovy
similarity index 100%
rename from src/it/filenamemapping-usage-fail/verify.groovy
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/filenamemapping_usage_fail/verify.groovy
diff --git a/src/it/skinny-wars/war-module/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/filenamemapping_usage_fail/war-module/pom.xml
similarity index 100%
rename from src/it/skinny-wars/war-module/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/filenamemapping_usage_fail/war-module/pom.xml
diff --git a/src/it/skinny-wars/war-module/src/main/webapp/WEB-INF/web.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/filenamemapping_usage_fail/war-module/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from src/it/skinny-wars/war-module/src/main/webapp/WEB-INF/web.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/filenamemapping_usage_fail/war-module/src/main/webapp/WEB-INF/web.xml
diff --git a/src/it/MEAR-198/invoker.properties b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_198/invoker.properties
similarity index 100%
rename from src/it/MEAR-198/invoker.properties
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_198/invoker.properties
diff --git a/src/it/MEAR-198/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_198/pom.xml
similarity index 100%
rename from src/it/MEAR-198/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_198/pom.xml
diff --git a/src/it/MEAR-198/src/main/java/A.java b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_198/src/main/java/A.java
similarity index 97%
rename from src/it/MEAR-198/src/main/java/A.java
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_198/src/main/java/A.java
index 474b0a6..10a7574 100755
--- a/src/it/MEAR-198/src/main/java/A.java
+++ b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_198/src/main/java/A.java
@@ -1,25 +1,25 @@
-
-/*
- * 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.
- */
-
-public class A {
-    public static void main(String[] args) {
-
-    }
-}
+
+/*
+ * 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.
+ */
+
+public class A {
+    public static void main(String[] args) {
+
+    }
+}
diff --git a/src/it/MEAR-198/verify.bsh b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_198/verify.bsh
similarity index 100%
rename from src/it/MEAR-198/verify.bsh
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_198/verify.bsh
diff --git a/src/it/MEAR-243-skinny-wars-provided/ear-module/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_243_skinny_wars_provided/ear-module/pom.xml
similarity index 100%
rename from src/it/MEAR-243-skinny-wars-provided/ear-module/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_243_skinny_wars_provided/ear-module/pom.xml
diff --git a/src/it/MEAR-243-skinny-wars-provided/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_243_skinny_wars_provided/pom.xml
similarity index 100%
rename from src/it/MEAR-243-skinny-wars-provided/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_243_skinny_wars_provided/pom.xml
diff --git a/src/it/MEAR-243-skinny-wars-provided/verify.bsh b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_243_skinny_wars_provided/verify.bsh
similarity index 100%
rename from src/it/MEAR-243-skinny-wars-provided/verify.bsh
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_243_skinny_wars_provided/verify.bsh
diff --git a/src/it/skinny-wars-filenamemapping-no-version/war-module/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_243_skinny_wars_provided/war-module/pom.xml
similarity index 100%
rename from src/it/skinny-wars-filenamemapping-no-version/war-module/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_243_skinny_wars_provided/war-module/pom.xml
diff --git a/src/it/skinny-wars-timestamp/war-module/src/main/webapp/WEB-INF/web.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_243_skinny_wars_provided/war-module/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from src/it/skinny-wars-timestamp/war-module/src/main/webapp/WEB-INF/web.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/mear_243_skinny_wars_provided/war-module/src/main/webapp/WEB-INF/web.xml
diff --git a/src/it/same-artifactId/app/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/app/pom.xml
similarity index 100%
rename from src/it/same-artifactId/app/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/app/pom.xml
diff --git a/src/it/same-artifactId/business-service/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/business-service/pom.xml
similarity index 100%
rename from src/it/same-artifactId/business-service/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/business-service/pom.xml
diff --git a/src/it/same-artifactId/business-service/src/main/java/com/example/B.java b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/business-service/src/main/java/com/example/B.java
similarity index 96%
rename from src/it/same-artifactId/business-service/src/main/java/com/example/B.java
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/business-service/src/main/java/com/example/B.java
index c8e71cc..ad14f98 100644
--- a/src/it/same-artifactId/business-service/src/main/java/com/example/B.java
+++ b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/business-service/src/main/java/com/example/B.java
@@ -1,29 +1,29 @@
-package com.example;
-
-/*
- * 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 javax.ejb.Stateless;
-
-@Stateless
-public class B {
-
-    public void doSmth() { }
-
-}
+package com.example;
+
+/*
+ * 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 javax.ejb.Stateless;
+
+@Stateless
+public class B {
+
+    public void doSmth() { }
+
+}
diff --git a/src/it/same-artifactId/ejb-service/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/ejb-service/pom.xml
similarity index 100%
rename from src/it/same-artifactId/ejb-service/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/ejb-service/pom.xml
diff --git a/src/it/same-artifactId/ejb-service/src/main/java/com/example/A.java b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/ejb-service/src/main/java/com/example/A.java
similarity index 96%
rename from src/it/same-artifactId/ejb-service/src/main/java/com/example/A.java
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/ejb-service/src/main/java/com/example/A.java
index c10ef27..bf326ce 100644
--- a/src/it/same-artifactId/ejb-service/src/main/java/com/example/A.java
+++ b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/ejb-service/src/main/java/com/example/A.java
@@ -1,29 +1,29 @@
-package com.example;
-
-/*
- * 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 javax.ejb.Stateless;
-
-@Stateless
-public class A {
-
-    public void doSomething() { }
-
-}
+package com.example;
+
+/*
+ * 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 javax.ejb.Stateless;
+
+@Stateless
+public class A {
+
+    public void doSomething() { }
+
+}
diff --git a/src/it/same-artifactId/invoker.properties b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/invoker.properties
similarity index 94%
rename from src/it/same-artifactId/invoker.properties
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/invoker.properties
index aebc32d..56cefe5 100644
--- a/src/it/same-artifactId/invoker.properties
+++ b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/invoker.properties
@@ -1,19 +1,19 @@
-# 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.
-
-# required due to javax:javaee-api:6.0
+# 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.
+
+# required due to javax:javaee-api:6.0
 invoker.java.version = 1.6+ 
\ No newline at end of file
diff --git a/src/it/same-artifactId/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/pom.xml
similarity index 100%
rename from src/it/same-artifactId/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/pom.xml
diff --git a/src/it/same-artifactId/verify.groovy b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/verify.groovy
similarity index 97%
rename from src/it/same-artifactId/verify.groovy
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/verify.groovy
index 9683344..c8b0475 100644
--- a/src/it/same-artifactId/verify.groovy
+++ b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/same_artifactId/verify.groovy
@@ -1,41 +1,41 @@
-/*
- * 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.
- */
- 
- def service1 = new File( basedir, "app/target/app-1.0-SNAPSHOT/service1.jar" ).toURL().toString();
- assert new URL( "jar:${service1}!/com/example/A.class" ).content != null
- try
- {
-   new URL( "jar:${service1}!/com/example/B.class" ).content
-   assert false : "service1.jar should not contain com.example.B.class" 
- }
- catch( FileNotFoundException e)
- {
- }
- 
- def service2 = new File( basedir, "app/target/app-1.0-SNAPSHOT/service2.jar" ).toURL().toString();
- assert new URL( "jar:${service2}!/com/example/B.class").content != null
-  try
- {
-   new URL( "jar:${service2}!/com/example/A.class").content
-   assert false : "service2.jar should not contain com.example.A.class" 
- }
- catch( FileNotFoundException e)
- {
- }
+/*
+ * 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.
+ */
+ 
+ def service1 = new File( basedir, "app/target/app-1.0-SNAPSHOT/service1.jar" ).toURL().toString();
+ assert new URL( "jar:${service1}!/com/example/A.class" ).content != null
+ try
+ {
+   new URL( "jar:${service1}!/com/example/B.class" ).content
+   assert false : "service1.jar should not contain com.example.B.class" 
+ }
+ catch( FileNotFoundException e)
+ {
+ }
+ 
+ def service2 = new File( basedir, "app/target/app-1.0-SNAPSHOT/service2.jar" ).toURL().toString();
+ assert new URL( "jar:${service2}!/com/example/B.class").content != null
+  try
+ {
+   new URL( "jar:${service2}!/com/example/A.class").content
+   assert false : "service2.jar should not contain com.example.A.class" 
+ }
+ catch( FileNotFoundException e)
+ {
+ }
  
\ No newline at end of file
diff --git a/src/it/skinny-wars/ear-module/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars/ear-module/pom.xml
similarity index 100%
rename from src/it/skinny-wars/ear-module/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars/ear-module/pom.xml
diff --git a/src/it/skinny-wars/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars/pom.xml
similarity index 100%
rename from src/it/skinny-wars/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars/pom.xml
diff --git a/src/it/skinny-wars/verify.bsh b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars/verify.bsh
similarity index 100%
rename from src/it/skinny-wars/verify.bsh
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars/verify.bsh
diff --git a/src/it/skinny-wars-filenamemapping-full/war-module/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars/war-module/pom.xml
similarity index 100%
rename from src/it/skinny-wars-filenamemapping-full/war-module/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars/war-module/pom.xml
diff --git a/src/it/skinny-wars-javaee5/war-module/src/main/webapp/WEB-INF/web.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars/war-module/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from src/it/skinny-wars-javaee5/war-module/src/main/webapp/WEB-INF/web.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars/war-module/src/main/webapp/WEB-INF/web.xml
diff --git a/src/it/skinny-wars-filenamemapping-full/ear-module/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_full/ear-module/pom.xml
similarity index 100%
rename from src/it/skinny-wars-filenamemapping-full/ear-module/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_full/ear-module/pom.xml
diff --git a/src/it/skinny-wars-filenamemapping-no-version/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_full/pom.xml
similarity index 100%
rename from src/it/skinny-wars-filenamemapping-no-version/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_full/pom.xml
diff --git a/src/it/skinny-wars-filenamemapping-full/verify.bsh b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_full/verify.bsh
similarity index 100%
rename from src/it/skinny-wars-filenamemapping-full/verify.bsh
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_full/verify.bsh
diff --git a/src/it/filenamemapping-usage-fail/war-module/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_full/war-module/pom.xml
similarity index 100%
rename from src/it/filenamemapping-usage-fail/war-module/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_full/war-module/pom.xml
diff --git a/src/it/skinny-wars-filenamemapping-no-version/war-module/src/main/webapp/WEB-INF/web.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_full/war-module/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from src/it/skinny-wars-filenamemapping-no-version/war-module/src/main/webapp/WEB-INF/web.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_full/war-module/src/main/webapp/WEB-INF/web.xml
diff --git a/src/it/skinny-wars-javaee5/ear-module/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_javaee5/ear-module/pom.xml
similarity index 100%
rename from src/it/skinny-wars-javaee5/ear-module/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_javaee5/ear-module/pom.xml
diff --git a/src/it/skinny-wars-javaee5/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_javaee5/pom.xml
similarity index 100%
rename from src/it/skinny-wars-javaee5/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_javaee5/pom.xml
diff --git a/src/it/skinny-wars-javaee5/verify.bsh b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_javaee5/verify.bsh
similarity index 100%
rename from src/it/skinny-wars-javaee5/verify.bsh
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_javaee5/verify.bsh
diff --git a/src/it/skinny-wars-javaee5/war-module/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_javaee5/war-module/pom.xml
similarity index 100%
rename from src/it/skinny-wars-javaee5/war-module/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_javaee5/war-module/pom.xml
diff --git a/src/it/skinny-wars-filenamemapping-full/war-module/src/main/webapp/WEB-INF/web.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_javaee5/war-module/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from src/it/skinny-wars-filenamemapping-full/war-module/src/main/webapp/WEB-INF/web.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_javaee5/war-module/src/main/webapp/WEB-INF/web.xml
diff --git a/src/it/skinny-wars-timestamp/ear-module/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_timestamp/ear-module/pom.xml
similarity index 100%
rename from src/it/skinny-wars-timestamp/ear-module/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_timestamp/ear-module/pom.xml
diff --git a/src/it/skinny-wars-timestamp/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_timestamp/pom.xml
similarity index 100%
rename from src/it/skinny-wars-timestamp/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_timestamp/pom.xml
diff --git a/src/it/skinny-wars-timestamp/verify.bsh b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_timestamp/verify.bsh
similarity index 100%
rename from src/it/skinny-wars-timestamp/verify.bsh
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_timestamp/verify.bsh
diff --git a/src/it/skinny-wars-timestamp/war-module/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_timestamp/war-module/pom.xml
similarity index 100%
rename from src/it/skinny-wars-timestamp/war-module/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_timestamp/war-module/pom.xml
diff --git a/src/it/filenamemapping-usage-fail/war-module/src/main/webapp/WEB-INF/web.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_timestamp/war-module/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from src/it/filenamemapping-usage-fail/war-module/src/main/webapp/WEB-INF/web.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_timestamp/war-module/src/main/webapp/WEB-INF/web.xml


[maven-ear-plugin] 07/24: Get usual unit tests back to work. Give system property about Maven version to integration tests.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit b374d72ba12ba2d73640affc8b24c2b897f1bf8a
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Mon Oct 28 21:14:51 2019 +0100

    Get usual unit tests back to work.
    Give system property about Maven version to integration tests.
---
 pom.xml                                                  | 10 ++++++++--
 src/test/java/org/apache/maven/plugins/ear/it/EARIT.java |  1 +
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/pom.xml b/pom.xml
index 993db82..ff49281 100644
--- a/pom.xml
+++ b/pom.xml
@@ -189,8 +189,11 @@
       <artifactId>junit-jupiter-engine</artifactId>
       <scope>test</scope>
     </dependency>
-
-
+    <dependency>
+      <groupId>org.junit.vintage</groupId>
+      <artifactId>junit-vintage-engine</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>
@@ -344,6 +347,9 @@
               <includes>
                 <include>**/*IT.java</include>
               </includes>
+              <systemProperties>
+                <maven.version>${maven.version}</maven.version>
+              </systemProperties>
             </configuration>
             <executions>
               <execution>
diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
index 711532e..e66ef86 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -45,6 +45,7 @@ class EARIT {
   @MavenTest
   @DisplayName("Basic configuration. Should simply create an ear file.")
   void basic(MavenExecutionResult result, MavenProjectResult project) {
+    System.out.println("System.getProperty(\"maven.version\") = " + System.getProperty("maven.version"));
     assertThat(result).isSuccessful();
     assertThat(project).hasTarget()
         .withEarFile()


[maven-ear-plugin] 04/24: cleaned up.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit 23fe14ee59933c3896960a2a1ee6fc11e431f8a7
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sun Oct 27 20:29:48 2019 +0100

    cleaned up.
---
 src/test/java/org/apache/maven/plugins/ear/it/EARIT.java | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
index 3863992..64dc01a 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -29,9 +29,6 @@ import org.apache.maven.jupiter.extension.maven.MavenProjectResult;
 import org.junit.jupiter.api.DisplayName;
 
 /**
- * Examples taken from Maven EAR Plugin
- *
- * Invoker Integration Test:
  * <ul>
  *   <li>basic</li>
  *   <li>packaging_includes</li>


[maven-ear-plugin] 21/24: Running IT's via ngi plugin.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit 667c7d5f373967db35ac164393c56902066be035
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Wed Apr 1 04:16:56 2020 +0200

    Running IT's via ngi plugin.
---
 pom.xml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/pom.xml b/pom.xml
index 4b3669d..baaa687 100644
--- a/pom.xml
+++ b/pom.xml
@@ -345,6 +345,7 @@
               </execution>
             </executions>
           </plugin>
+<!--
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-failsafe-plugin</artifactId>
@@ -374,6 +375,7 @@
               </execution>
             </executions>
           </plugin>
+-->
 <!--
           <plugin>
             <groupId>de.sormuras.junit</groupId>


[maven-ear-plugin] 09/24: Cleaned up. Using value makes usage of annotation DisabledForMaven easier to use.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit cf4a103ff38f9d8dc394f5ace4e8ba2a8d6f4ee8
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Mon Oct 28 22:27:45 2019 +0100

    Cleaned up. Using value makes usage of annotation DisabledForMaven easier to use.
---
 src/test/java/org/apache/maven/plugins/ear/it/EARIT.java | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
index e2c599a..6ab1ef7 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -46,10 +46,9 @@ import org.junit.jupiter.api.DisplayName;
 class EARIT {
 
   @MavenTest
-  @DisabledForMaven(versions = M3_6_2)
+  @DisabledForMaven(M3_6_2)
   @DisplayName("Basic configuration. Should simply create an ear file.")
   void basic(MavenExecutionResult result, MavenProjectResult project) {
-    System.out.println("System.getProperty(\"maven.version\") = " + System.getProperty("maven.version"));
     assertThat(result).isSuccessful();
     assertThat(project).hasTarget()
         .withEarFile()


[maven-ear-plugin] 16/24: Added another IT.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit a3596aef0dfe86bb1b7ee56f9f1bfd249e89b8ac
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sun Nov 10 22:22:01 2019 +0100

    Added another IT.
---
 src/it/transitive-excludes/invoker.properties      |  20 ----
 src/it/transitive-excludes/verify.bsh              |  43 --------
 .../org/apache/maven/plugins/ear/it/EARIT.java     |  28 ++++-
 .../ear-module}/pom.xml                            | 116 +++++++++++----------
 .../pom.xml                                        |  90 +++++++---------
 .../verify.bsh                                     |  94 +++++++++++++++++
 .../war-module}/pom.xml                            | 101 +++++++++---------
 .../war-module/src/main/webapp/WEB-INF/web.xml     |  23 ++++
 8 files changed, 285 insertions(+), 230 deletions(-)

diff --git a/src/it/transitive-excludes/invoker.properties b/src/it/transitive-excludes/invoker.properties
deleted file mode 100644
index 726ba2e..0000000
--- a/src/it/transitive-excludes/invoker.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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.
-
-# wildcard exclusions for dependencies not supported by Maven2
-# The first version which support * is as far as I know maven 3.2.5 RECHECK THIS!
-invoker.maven.version = 3.0+ 
\ No newline at end of file
diff --git a/src/it/transitive-excludes/verify.bsh b/src/it/transitive-excludes/verify.bsh
deleted file mode 100644
index 9413f9d..0000000
--- a/src/it/transitive-excludes/verify.bsh
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * 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 java.util.regex.*;
-
-File earFile = new File( basedir, "target/mear73-1.0-SNAPSHOT.ear" );
-if ( !earFile.isFile() )
-{
-    throw new IllegalStateException( "Missing file: " + earFile );
-}
-
-JarFile ear = new JarFile( earFile );
-Enumeration entries = ear.entries();
-while( entries.hasMoreElements() )
-{
-  JarEntry entry = (JarEntry) entries.nextElement();
-  if( entry.getName().endsWith( ".jar" ) && !"org.apache.maven-maven-core-3.0.jar".equals( entry.getName() ) )
-  {
-    throw new IllegalStateException( "Unexpected archive entry: " + entry.getName() );
-  }
-}
-ear.close();
-
-return true;
diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
index 4eb46c1..2a85352 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -27,6 +27,8 @@ import org.apache.maven.jupiter.extension.maven.MavenExecutionResult;
 import org.apache.maven.jupiter.extension.maven.MavenLog;
 import org.apache.maven.jupiter.extension.maven.MavenProjectResult;
 import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.DisplayNameGeneration;
+import org.junit.jupiter.api.DisplayNameGenerator;
 
 /**
  * <ul>
@@ -40,11 +42,11 @@ import org.junit.jupiter.api.DisplayName;
  * maven-it-extension
  */
 @MavenIT
+@DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class)
 @DisplayName("EAR Plugin Integration tests")
 class EARIT {
 
   @MavenTest
-  @DisplayName("Basic configuration. Should simply create an ear file.")
   void basic(MavenExecutionResult result, MavenProjectResult project) {
     assertThat(result).isSuccessful();
     assertThat(project).hasTarget()
@@ -66,7 +68,6 @@ Archive:  test-1.0.ear
   testing: META-INF/maven/org.apache.maven.its.ear.jboss/test/pom.properties   OK
  */
   @MavenTest
-  @DisplayName("JBoss app generation in EAR file.")
   void jboss(MavenExecutionResult result, MavenProjectResult project, MavenLog log) {
     assertThat(result).isSuccessful();
     assertThat(log).isSuccessful();
@@ -76,7 +77,6 @@ Archive:  test-1.0.ear
   }
 
   @MavenTest
-  @DisplayName("Packging excludes defined to prevent adding commons-lang-2.5 into the ear file.")
   void packaging_excludes(MavenExecutionResult result, MavenProjectResult project) {
     assertThat(result).isSuccessful();
     assertThat(project).hasTarget()
@@ -86,7 +86,6 @@ Archive:  test-1.0.ear
   }
 
   @MavenTest
-  @DisplayName("Packging includes defined.")
   void packaging_includes(MavenExecutionResult result, MavenProjectResult project) {
     assertThat(result).isSuccessful();
     assertThat(project).hasTarget()
@@ -106,7 +105,26 @@ Archive:  test-1.0.ear
   }
 
   @MavenTest
-  @DisplayName("Transitive excludes")
+  void skinny_wars_filenamemapping_no_version(MavenExecutionResult result) {
+    assertThat(result).isSuccessful();
+    assertThat(result).project().hasModule("war-module");
+    //FIXME: The following checking is not correct:
+    //File jarFile = new File( basedir, "ear-module/target/ear-module-1.0/war-module.war" );
+    assertThat(result).project()
+        .withModule("war-module")
+        .withWarFile()
+        .containsOnlyOnce("WEB-INF/web.xml", "META-INF/MANIFEST.MF");
+        //FIXME: Check if the following works correctly: .doesNotContain("WEB-INF/lib/commons-lang-2.5.jar");
+
+    assertThat(result).project()
+        .withModule("war-module")
+        .withWarFile()
+        .containsOnlyOnce("WEB-INF/web.xml", "META-INF/MANIFEST.MF", "WEB-INF/lib/commons-lang-2.5.jar");
+
+    assertThat(result).project().withModule(  "ear-module").withEarFile();
+  }
+
+  @MavenTest
   void transitive_excludes(MavenExecutionResult result, MavenProjectResult project, MavenLog log) {
     assertThat(result).isSuccessful();
     assertThat(log).isSuccessful();
diff --git a/src/it/transitive-excludes/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_no_version/ear-module/pom.xml
similarity index 55%
copy from src/it/transitive-excludes/pom.xml
copy to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_no_version/ear-module/pom.xml
index fdae925..474fcf1 100644
--- a/src/it/transitive-excludes/pom.xml
+++ b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_no_version/ear-module/pom.xml
@@ -1,54 +1,62 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-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.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.ear</groupId>
-  <artifactId>mear73</artifactId>
-  <version>1.0-SNAPSHOT</version>
-  <packaging>ear</packaging>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-core</artifactId>
-      <version>3.0</version>
-      <exclusions>
-        <exclusion>
-          <groupId>*</groupId>
-          <artifactId>*</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-ear-plugin</artifactId>
-        <version>@project.version@</version>
-      </plugin>
-    </plugins>
-  </build>
-
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.ear.skinnywars</groupId>
+  <artifactId>ear-module</artifactId>
+  <version>1.0</version>
+  <packaging>ear</packaging>
+
+  <dependencies>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.5</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.its.ear.skinnywars</groupId>
+      <artifactId>war-module</artifactId>
+      <version>1.0</version>
+      <type>war</type>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>@project.groupId@</groupId>
+        <artifactId>@project.artifactId@</artifactId>
+        <version>@project.version@</version>
+        <configuration>
+          <skinnyWars>true</skinnyWars>
+          <defaultLibBundleDir>lib/</defaultLibBundleDir>
+          <!--
+            ! Only artifactId.extension
+            ! no groupId/version etc. 
+           -->
+          <outputFileNameMapping>@{artifactId}@@{dashClassifier?}@.@{extension}@</outputFileNameMapping>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
diff --git a/src/it/transitive-excludes/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_no_version/pom.xml
similarity index 53%
copy from src/it/transitive-excludes/pom.xml
copy to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_no_version/pom.xml
index fdae925..572a543 100644
--- a/src/it/transitive-excludes/pom.xml
+++ b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_no_version/pom.xml
@@ -1,54 +1,36 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-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.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.ear</groupId>
-  <artifactId>mear73</artifactId>
-  <version>1.0-SNAPSHOT</version>
-  <packaging>ear</packaging>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-core</artifactId>
-      <version>3.0</version>
-      <exclusions>
-        <exclusion>
-          <groupId>*</groupId>
-          <artifactId>*</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-ear-plugin</artifactId>
-        <version>@project.version@</version>
-      </plugin>
-    </plugins>
-  </build>
-
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.ear.skinnywars</groupId>
+  <artifactId>pom</artifactId>
+  <version>1.0</version>
+  <packaging>pom</packaging>
+
+  <description>Test MEAR-189</description>
+
+  <modules>
+      <module>ear-module</module>
+      <module>war-module</module>
+  </modules>
+</project>
diff --git a/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_no_version/verify.bsh b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_no_version/verify.bsh
new file mode 100644
index 0000000..9eec674
--- /dev/null
+++ b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_no_version/verify.bsh
@@ -0,0 +1,94 @@
+/*
+ * 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 java.util.regex.*;
+
+File jarFile = new File( basedir, "ear-module/target/ear-module-1.0/war-module.war" );
+System.out.println( "Checking for existence of " + jarFile );
+if ( !jarFile.isFile() )
+{
+    throw new IllegalStateException( "Missing file: " + jarFile );
+}
+
+JarFile jar = new JarFile( jarFile );
+
+String[] includedEntries = {
+    "WEB-INF/web.xml",
+    "META-INF/MANIFEST.MF"
+};
+for ( String included : includedEntries )
+{
+    System.out.println( "Checking for included archive entry " + included );
+    if ( jar.getEntry( included ) == null )
+    {
+        throw new IllegalStateException( "Missing archive entry: " + included );
+    }
+}
+
+Manifest manifest = jar.getManifest();
+String manifestClassPath = manifest.getMainAttributes().getValue("Class-Path");
+if ( !manifestClassPath.equals("lib/commons-lang.jar") )
+{
+    throw new IllegalStateException( "Missing entry in war MANIFEST.MF: lib/commons-lang.jar");
+}
+
+String[] excludedEntries = {
+    "WEB-INF/lib/commons-lang-2.5.jar"
+};
+for ( String excluded : excludedEntries )
+{
+    System.out.println( "Checking for excluded artifact " + excluded );
+    if ( jar.getEntry( excluded ) != null )
+    {
+        throw new IllegalStateException( "Archive entry should be excluded: " + excluded );
+    }
+}
+
+jar.close();
+
+
+File jarFile = new File( basedir, "war-module/target/war-module-1.0.war" );
+System.out.println( "Checking for existence of " + jarFile );
+if ( !jarFile.isFile() )
+{
+    throw new IllegalStateException( "Missing file: " + jarFile );
+}
+
+JarFile jar = new JarFile( jarFile );
+
+String[] includedEntries = {
+    "WEB-INF/web.xml",
+    "META-INF/MANIFEST.MF",
+    "WEB-INF/lib/commons-lang-2.5.jar"
+};
+for ( String included : includedEntries )
+{
+    System.out.println( "Checking for included archive entry " + included );
+    if ( jar.getEntry( included ) == null )
+    {
+        throw new IllegalStateException( "Missing archive entry: " + included );
+    }
+}
+
+jar.close();
+
+return true;
diff --git a/src/it/transitive-excludes/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_no_version/war-module/pom.xml
similarity index 65%
rename from src/it/transitive-excludes/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_no_version/war-module/pom.xml
index fdae925..c6be50e 100644
--- a/src/it/transitive-excludes/pom.xml
+++ b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_no_version/war-module/pom.xml
@@ -1,54 +1,47 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-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.
--->
-
-<project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.ear</groupId>
-  <artifactId>mear73</artifactId>
-  <version>1.0-SNAPSHOT</version>
-  <packaging>ear</packaging>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-core</artifactId>
-      <version>3.0</version>
-      <exclusions>
-        <exclusion>
-          <groupId>*</groupId>
-          <artifactId>*</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-ear-plugin</artifactId>
-        <version>@project.version@</version>
-      </plugin>
-    </plugins>
-  </build>
-
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.ear.skinnywars</groupId>
+  <artifactId>war-module</artifactId>
+  <version>1.0</version>
+  <packaging>war</packaging>
+
+  <dependencies>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.5</version>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-war-plugin</artifactId>
+        <version>2.1.1</version>
+      </plugin>
+    </plugins>
+  </build>
+</project>
diff --git a/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_no_version/war-module/src/main/webapp/WEB-INF/web.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_no_version/war-module/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..c1af95d
--- /dev/null
+++ b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/skinny_wars_filenamemapping_no_version/war-module/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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.
+-->
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app >
+</web-app>


[maven-ear-plugin] 11/24: Let run integration tests in parallel.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit f317563fca5d702a4ad6446f5f8096dc9ad90d0e
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Tue Oct 29 22:04:51 2019 +0100

    Let run integration tests in parallel.
---
 pom.xml                                                  | 10 ++++++++--
 src/test/java/org/apache/maven/plugins/ear/it/EARIT.java |  1 -
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/pom.xml b/pom.xml
index 7d80528..fdb9255 100644
--- a/pom.xml
+++ b/pom.xml
@@ -342,8 +342,8 @@
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-failsafe-plugin</artifactId>
             <configuration>
-              <forkCount>1</forkCount>
-              <reuseForks>false</reuseForks>
+              <forkCount>5</forkCount>
+              <reuseForks>true</reuseForks>
               <includes>
                 <include>**/*IT.java</include>
               </includes>
@@ -354,6 +354,12 @@
                 <maven.version>${maven.version}</maven.version>
                 <maven.home>${maven.home}</maven.home>
               </systemProperties>
+              <properties>
+                <configurationParameters>
+                  junit.jupiter.execution.parallel.enabled = true
+                  junit.jupiter.execution.parallel.mode.default = concurrent
+                </configurationParameters>
+              </properties>
             </configuration>
             <executions>
               <execution>
diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
index cb2dbc1..e357978 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -28,7 +28,6 @@ import org.apache.maven.jupiter.extension.MavenTest;
 import org.apache.maven.jupiter.extension.maven.MavenExecutionResult;
 import org.apache.maven.jupiter.extension.maven.MavenLog;
 import org.apache.maven.jupiter.extension.maven.MavenProjectResult;
-import org.apache.maven.jupiter.extension.maven.MavenVersion;
 import org.junit.jupiter.api.DisplayName;
 
 /**


[maven-ear-plugin] 19/24: Improved.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit bf82d03abebf08c13df7ee5f1c95ca1403153526
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sun Dec 15 16:44:49 2019 +0100

    Improved.
---
 pom.xml                                            | 36 ++++++++++++++++++++--
 .../plugins/ear/it/{EARIT.java => EARMIT.java}     |  3 +-
 2 files changed, 35 insertions(+), 4 deletions(-)

diff --git a/pom.xml b/pom.xml
index cc22764..a78cf0e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -325,6 +325,7 @@
               </execution>
               <execution>
                 <id>install-artifacts</id>
+                <phase>EMPTY</phase>
                 <goals>
                   <goal>install</goal>
                 </goals>
@@ -338,6 +339,7 @@
               </execution>
             </executions>
           </plugin>
+<!--
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-failsafe-plugin</artifactId>
@@ -347,9 +349,6 @@
               <includes>
                 <include>**/*IT.java</include>
               </includes>
-              <!--
-               ! currently needed for running integration tests.
-              -->
               <systemProperties>
                 <maven.version>${maven.version}</maven.version>
                 <maven.home>${maven.home}</maven.home>
@@ -370,6 +369,37 @@
               </execution>
             </executions>
           </plugin>
+
+          <plugin>
+            <groupId>de.sormuras.junit</groupId>
+            <artifactId>junit-platform-maven-plugin</artifactId>
+            <version>1.0.0-M5</version>
+            <executions>
+              <execution>
+                <id>Launch JUnit Platform</id>
+                <phase>integration-test</phase>
+                <goals>
+                  <goal>launch</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+-->
+          <plugin>
+						<groupId>org.apache.maven.plugins</groupId>
+  					<artifactId>maven-ngi-plugin</artifactId>
+						<version>0.1.0-SNAPSHOT</version>
+            <configuration>
+            </configuration>
+            <executions>
+							<execution>
+                <goals>
+                  <goal>install</goal>
+                  <goal>integration-test</goal>
+                </goals>
+							</execution>
+						</executions>
+					</plugin>
         </plugins>
       </build>
     </profile>
diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARMIT.java
similarity index 99%
rename from src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
rename to src/test/java/org/apache/maven/plugins/ear/it/EARMIT.java
index 042c96e..5dce615 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARMIT.java
@@ -45,7 +45,8 @@ import org.junit.jupiter.api.DisplayNameGenerator;
 @MavenIT
 @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class)
 @DisplayName("EAR Plugin Integration tests")
-class EARIT {
+class EARMIT
+{
 
   @MavenTest
   void basic(MavenExecutionResult result, MavenProjectResult project) {


[maven-ear-plugin] 05/24: Added another integration test case.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit f046e237824a70d08dfc4f52b592a46c342ae4de
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sun Oct 27 20:40:10 2019 +0100

    Added another integration test case.
---
 .../org/apache/maven/plugins/ear/it/EARIT}/jboss/pom.xml     |  0
 .../src/main/application/META-INF/appserver-application.xml  |  0
 .../org/apache/maven/plugins/ear/it/EARIT}/jboss/verify.bsh  |  0
 src/test/java/org/apache/maven/plugins/ear/it/EARIT.java     | 12 ++++++++++++
 4 files changed, 12 insertions(+)

diff --git a/src/it/jboss/pom.xml b/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/jboss/pom.xml
similarity index 100%
rename from src/it/jboss/pom.xml
rename to src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/jboss/pom.xml
diff --git a/src/it/jboss/src/main/application/META-INF/appserver-application.xml b/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/jboss/src/main/application/META-INF/appserver-application.xml
similarity index 100%
rename from src/it/jboss/src/main/application/META-INF/appserver-application.xml
rename to src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/jboss/src/main/application/META-INF/appserver-application.xml
diff --git a/src/it/jboss/verify.bsh b/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/jboss/verify.bsh
similarity index 100%
rename from src/it/jboss/verify.bsh
rename to src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/jboss/verify.bsh
diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
index 64dc01a..711532e 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -81,4 +81,16 @@ class EARIT {
         .containsOnlyOnce("META-INF/application.xml", "APP-INF/classes/foo.properties");
   }
 
+  @MavenTest
+  @DisplayName("JBoss app generation in EAR file.")
+  void jboss(MavenExecutionResult result, MavenProjectResult project, MavenLog log) {
+    assertThat(result).isSuccessful();
+    assertThat(log).isSuccessful();
+    assertThat(project).hasTarget()
+        .withEarFile()
+        .containsOnlyOnce("META-INF/application.xml",
+            "META-INF/appserver-application.xml",
+            "META-INF/jboss-app.xml");
+  }
+
 }


[maven-ear-plugin] 10/24: Added comments.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit a8e05b2d0deabdfb9bdd0f0cc47d36c332aa2d16
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Tue Oct 29 21:21:42 2019 +0100

    Added comments.
---
 src/test/java/org/apache/maven/plugins/ear/it/EARIT.java | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
index 6ab1ef7..cb2dbc1 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -40,6 +40,8 @@ import org.junit.jupiter.api.DisplayName;
  * </ul>
  *
  * @author Karl Heinz Marbaise
+ * These are the maven-invoker-plugin integration tests (src/it/**).
+ * migrated to the new maven-it-extension
  */
 @MavenIT
 @DisplayName("EAR Plugin Integration tests")


[maven-ear-plugin] 08/24: Added maven.home system property

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit e8dfeded905337e800a24392619c50271b37be5a
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Mon Oct 28 22:25:15 2019 +0100

    Added maven.home system property
---
 pom.xml                                                  | 4 ++++
 src/test/java/org/apache/maven/plugins/ear/it/EARIT.java | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/pom.xml b/pom.xml
index ff49281..7d80528 100644
--- a/pom.xml
+++ b/pom.xml
@@ -347,8 +347,12 @@
               <includes>
                 <include>**/*IT.java</include>
               </includes>
+              <!--
+               ! currently needed for running integration tests.
+              -->
               <systemProperties>
                 <maven.version>${maven.version}</maven.version>
+                <maven.home>${maven.home}</maven.home>
               </systemProperties>
             </configuration>
             <executions>
diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
index e66ef86..e2c599a 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -20,12 +20,15 @@ package org.apache.maven.plugins.ear.it;
  */
 
 import static org.apache.maven.jupiter.assertj.MavenITAssertions.assertThat;
+import static org.apache.maven.jupiter.extension.maven.MavenVersion.M3_6_2;
 
+import org.apache.maven.jupiter.extension.DisabledForMaven;
 import org.apache.maven.jupiter.extension.MavenIT;
 import org.apache.maven.jupiter.extension.MavenTest;
 import org.apache.maven.jupiter.extension.maven.MavenExecutionResult;
 import org.apache.maven.jupiter.extension.maven.MavenLog;
 import org.apache.maven.jupiter.extension.maven.MavenProjectResult;
+import org.apache.maven.jupiter.extension.maven.MavenVersion;
 import org.junit.jupiter.api.DisplayName;
 
 /**
@@ -43,6 +46,7 @@ import org.junit.jupiter.api.DisplayName;
 class EARIT {
 
   @MavenTest
+  @DisabledForMaven(versions = M3_6_2)
   @DisplayName("Basic configuration. Should simply create an ear file.")
   void basic(MavenExecutionResult result, MavenProjectResult project) {
     System.out.println("System.getProperty(\"maven.version\") = " + System.getProperty("maven.version"));


[maven-ear-plugin] 13/24: Improved. Relocated.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit 3b74389d85635dc1040e15f47deb7b64597a67af
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sat Nov 2 19:18:44 2019 +0100

    Improved. Relocated.
---
 pom.xml                                                  | 16 ++++++++--------
 .../org/apache/maven/plugins/ear/it/EARIT/basic/pom.xml  |  0
 .../main/application/META-INF/appserver-application.xml  |  0
 .../org/apache/maven/plugins/ear/it/EARIT/jboss/pom.xml  |  0
 .../main/application/META-INF/appserver-application.xml  |  0
 .../apache/maven/plugins/ear/it/EARIT/jboss/verify.bsh   |  0
 .../plugins/ear/it/EARIT/packaging_excludes/pom.xml      |  0
 .../plugins/ear/it/EARIT/packaging_excludes/verify.bsh   |  0
 .../plugins/ear/it/EARIT/packaging_includes/pom.xml      |  0
 .../ear/it/EARIT/resource_custom_directory/pom.xml       |  0
 .../src/main/application/APP-INF/classes/foo.properties  |  0
 .../ear/it/EARIT/transitive_excludes/invoker.properties  |  0
 .../plugins/ear/it/EARIT/transitive_excludes/pom.xml     |  0
 .../plugins/ear/it/EARIT/transitive_excludes/verify.bsh  |  0
 .../{filtered-resources => resources-its}/settings.xml   |  0
 15 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/pom.xml b/pom.xml
index fdb9255..cc22764 100644
--- a/pom.xml
+++ b/pom.xml
@@ -269,20 +269,20 @@
         <testResources>
           <testResource>
             <directory>src/test/resources</directory>
-            <filtering>true</filtering>
-            <includes>
-              <include>**/pom.xml</include>
-            </includes>
-          </testResource>
-          <testResource>
-            <directory>src/test/resources</directory>
             <filtering>false</filtering>
             <excludes>
               <exclude>**/pom.xml</exclude>
             </excludes>
           </testResource>
           <testResource>
-            <directory>src/test/filtered-resources</directory>
+            <directory>src/test/resources-its</directory>
+            <filtering>true</filtering>
+            <includes>
+              <include>**/pom.xml</include>
+            </includes>
+          </testResource>
+          <testResource>
+            <directory>src/test/resources-its</directory>
             <filtering>true</filtering>
           </testResource>
         </testResources>
diff --git a/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/basic/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/basic/pom.xml
similarity index 100%
rename from src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/basic/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/basic/pom.xml
diff --git a/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/jboss/src/main/application/META-INF/appserver-application.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/basic/src/main/application/META-INF/appserver-application.xml
similarity index 100%
rename from src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/jboss/src/main/application/META-INF/appserver-application.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/basic/src/main/application/META-INF/appserver-application.xml
diff --git a/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/jboss/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/jboss/pom.xml
similarity index 100%
rename from src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/jboss/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/jboss/pom.xml
diff --git a/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/basic/src/main/application/META-INF/appserver-application.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/jboss/src/main/application/META-INF/appserver-application.xml
similarity index 100%
rename from src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/basic/src/main/application/META-INF/appserver-application.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/jboss/src/main/application/META-INF/appserver-application.xml
diff --git a/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/jboss/verify.bsh b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/jboss/verify.bsh
similarity index 100%
rename from src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/jboss/verify.bsh
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/jboss/verify.bsh
diff --git a/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/packaging_excludes/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/packaging_excludes/pom.xml
similarity index 100%
rename from src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/packaging_excludes/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/packaging_excludes/pom.xml
diff --git a/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/packaging_excludes/verify.bsh b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/packaging_excludes/verify.bsh
similarity index 100%
rename from src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/packaging_excludes/verify.bsh
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/packaging_excludes/verify.bsh
diff --git a/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/packaging_includes/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/packaging_includes/pom.xml
similarity index 100%
rename from src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/packaging_includes/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/packaging_includes/pom.xml
diff --git a/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/resource_custom_directory/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/resource_custom_directory/pom.xml
similarity index 100%
rename from src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/resource_custom_directory/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/resource_custom_directory/pom.xml
diff --git a/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/resource_custom_directory/src/main/application/APP-INF/classes/foo.properties b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/resource_custom_directory/src/main/application/APP-INF/classes/foo.properties
similarity index 100%
rename from src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/resource_custom_directory/src/main/application/APP-INF/classes/foo.properties
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/resource_custom_directory/src/main/application/APP-INF/classes/foo.properties
diff --git a/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/invoker.properties b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/invoker.properties
similarity index 100%
rename from src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/invoker.properties
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/invoker.properties
diff --git a/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/pom.xml b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/pom.xml
similarity index 100%
rename from src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/pom.xml
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/pom.xml
diff --git a/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/verify.bsh b/src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/verify.bsh
similarity index 100%
rename from src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/verify.bsh
rename to src/test/resources-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/verify.bsh
diff --git a/src/test/filtered-resources/settings.xml b/src/test/resources-its/settings.xml
similarity index 100%
rename from src/test/filtered-resources/settings.xml
rename to src/test/resources-its/settings.xml


[maven-ear-plugin] 01/24: Maven IT Extension Test

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit 449b33638e0782478a756bca616f5f687f18b751
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sun Oct 27 19:56:38 2019 +0100

    Maven IT Extension Test
---
 pom.xml                                            |   33 +-
 src/it/packaging-excludes/verify.bsh               |    2 +-
 .../EARIT/basic/pom.xml                            |   45 +
 .../application/META-INF/appserver-application.xml |   22 +
 .../EARIT/packaging-excludes/pom.xml               |   53 +
 .../EARIT}/packaging-excludes/verify.bsh           |    2 +-
 .../EARIT/packaging-includes/pom.xml               |   58 +
 .../EARIT/resource-custom-directory/pom.xml        |   49 +
 .../application/APP-INF/classes/foo.properties     |   18 +
 .../org/apache/maven/plugins/ear/it/EARIT.java     |   48 +
 ...MojoIT.java => EarMojoIntegrationTestings.java} | 1993 ++++++++++----------
 11 files changed, 1304 insertions(+), 1019 deletions(-)

diff --git a/pom.xml b/pom.xml
index 259482b..b877f00 100644
--- a/pom.xml
+++ b/pom.xml
@@ -83,7 +83,7 @@
     <mavenArchiverVersion>3.2.0</mavenArchiverVersion>
     <mavenFilteringVersion>3.1.1</mavenFilteringVersion>
     <mavenVersion>3.0</mavenVersion>
-    <javaVersion>7</javaVersion>
+    <javaVersion>8</javaVersion>
     <surefire.version>2.22.1</surefire.version>
     <project.build.outputTimestamp>2020-04-07T21:04:00Z</project.build.outputTimestamp>
   </properties>
@@ -164,6 +164,12 @@
       <version>1.9.5</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.maven.jupiter.extension</groupId>
+      <artifactId>maven-it-extension</artifactId>
+      <version>0.1.0-SNAPSHOT</version>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>
@@ -218,10 +224,6 @@
 
     <profile>
       <id>run-its</id>
-      <properties>
-        <localRepositoryPath>${project.build.testOutputDirectory}/m2repo</localRepositoryPath>
-        <localSnapshotRepositoryPath>${project.build.testOutputDirectory}/m2snapshots</localSnapshotRepositoryPath>
-      </properties>
       <build>
         <resources>
           <resource>
@@ -265,13 +267,7 @@
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-invoker-plugin</artifactId>
             <configuration>
-              <streamLogs>true</streamLogs>
-              <!-- NOTE: Must be synced with the repo path used by AbstractEarPluginIT -->
-              <localRepositoryPath>${localRepositoryPath}</localRepositoryPath>
-              <goals>
-                <goal>clean</goal>
-                <goal>package</goal>
-              </goals>
+              <localRepositoryPath>${project.build.directory}/invoker-repo</localRepositoryPath>
               <extraArtifacts>
                 <extraArtifact>org.apache.maven.plugins:maven-war-plugin:2.1.1:jar</extraArtifact>
                 <extraArtifact>org.apache.maven.plugins:maven-compiler-plugin:2.5.1:jar</extraArtifact>
@@ -282,21 +278,16 @@
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-failsafe-plugin</artifactId>
+            <configuration>
+              <forkCount>1</forkCount>
+              <reuseForks>false</reuseForks>
+            </configuration>
             <executions>
               <execution>
                 <goals>
                   <goal>integration-test</goal>
                   <goal>verify</goal>
                 </goals>
-                <configuration>
-                  <systemPropertyVariables combine.children="append">
-                    <maven.home>${maven.home}</maven.home>
-                    <userlocalRepository>${settings.localRepository}</userlocalRepository>
-                    <localRepositoryPath>${localRepositoryPath}</localRepositoryPath>
-                    <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
-                    <basedirectory>${basedir}</basedirectory>
-                  </systemPropertyVariables>
-                </configuration>
               </execution>
             </executions>
           </plugin>
diff --git a/src/it/packaging-excludes/verify.bsh b/src/it/packaging-excludes/verify.bsh
index 3efbc16..4cc3c9c 100644
--- a/src/it/packaging-excludes/verify.bsh
+++ b/src/it/packaging-excludes/verify.bsh
@@ -45,7 +45,7 @@ for ( String included : includedEntries )
 }
 
 String[] excludedEntries = {
-    "commons-lang-2.5.jar"
+    "commons-lang-commons-lang-2.5.jar"
 };
 for ( String excluded : excludedEntries )
 {
diff --git a/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/basic/pom.xml b/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/basic/pom.xml
new file mode 100644
index 0000000..cb4f225
--- /dev/null
+++ b/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/basic/pom.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.ear.basic</groupId>
+  <artifactId>test</artifactId>
+  <version>1.0</version>
+  <packaging>ear</packaging>
+
+  <name>Maven Integration Test :: it0033</name> 
+  <description>Test an EAR generation</description>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-ear-plugin</artifactId>
+        <version>@project.version@</version>
+        <configuration>
+          <generateApplicationXml>true</generateApplicationXml>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
diff --git a/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/basic/src/main/application/META-INF/appserver-application.xml b/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/basic/src/main/application/META-INF/appserver-application.xml
new file mode 100644
index 0000000..76c25e0
--- /dev/null
+++ b/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/basic/src/main/application/META-INF/appserver-application.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<!--
+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.
+-->
+<appserver-app>
+  <whatever/>
+</appserver-app>
diff --git a/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/packaging-excludes/pom.xml b/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/packaging-excludes/pom.xml
new file mode 100644
index 0000000..8f7419e
--- /dev/null
+++ b/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/packaging-excludes/pom.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.ear.packagingexcludes</groupId>
+  <artifactId>test</artifactId>
+  <version>1.0</version>
+  <packaging>ear</packaging>
+
+  <name>Maven EAR Plugin Integration Test :: packaging excludes</name> 
+  <description>Test EAR generation using packaging excludes</description>
+
+  <dependencies>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.5</version>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-ear-plugin</artifactId>
+        <version>@project.version@</version>
+        <configuration>
+          <packagingExcludes>commons-lang-*.jar</packagingExcludes>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
diff --git a/src/it/packaging-excludes/verify.bsh b/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/packaging-excludes/verify.bsh
similarity index 97%
copy from src/it/packaging-excludes/verify.bsh
copy to src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/packaging-excludes/verify.bsh
index 3efbc16..4cc3c9c 100644
--- a/src/it/packaging-excludes/verify.bsh
+++ b/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/packaging-excludes/verify.bsh
@@ -45,7 +45,7 @@ for ( String included : includedEntries )
 }
 
 String[] excludedEntries = {
-    "commons-lang-2.5.jar"
+    "commons-lang-commons-lang-2.5.jar"
 };
 for ( String excluded : excludedEntries )
 {
diff --git a/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/packaging-includes/pom.xml b/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/packaging-includes/pom.xml
new file mode 100644
index 0000000..c37ae70
--- /dev/null
+++ b/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/packaging-includes/pom.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.ear.packagingincludes</groupId>
+  <artifactId>test</artifactId>
+  <version>1.0</version>
+  <packaging>ear</packaging>
+
+  <name>Maven EAR Plugin Integration Test :: packaging includes</name>
+  <description>Test EAR generation using packaging includes</description>
+
+  <dependencies>
+    <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+      <version>1.4</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.5</version>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-ear-plugin</artifactId>
+        <version>@project.version@</version>
+        <configuration>
+          <packagingIncludes>commons-lang-*.jar,META-INF/**</packagingIncludes>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
diff --git a/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/resource-custom-directory/pom.xml b/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/resource-custom-directory/pom.xml
new file mode 100644
index 0000000..4a1b69b
--- /dev/null
+++ b/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/resource-custom-directory/pom.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.ear.resourcecustomdirectory</groupId>
+  <artifactId>test</artifactId>
+  <version>1.0</version>
+  <packaging>ear</packaging>
+
+  <name>Maven EAR Plugin Integration Test :: resource custom directory</name>
+  <description>Test filtering of a custom directory</description>
+
+  <properties>
+    <filtered.value>Hello World!</filtered.value>
+  </properties>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-ear-plugin</artifactId>
+        <version>@project.version@</version>
+        <configuration>
+          <filtering>true</filtering>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
diff --git a/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/resource-custom-directory/src/main/application/APP-INF/classes/foo.properties b/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/resource-custom-directory/src/main/application/APP-INF/classes/foo.properties
new file mode 100644
index 0000000..08481f0
--- /dev/null
+++ b/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/resource-custom-directory/src/main/application/APP-INF/classes/foo.properties
@@ -0,0 +1,18 @@
+# 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.
+
+test.property=${filtered.value}
\ No newline at end of file
diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
new file mode 100644
index 0000000..eb729b7
--- /dev/null
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -0,0 +1,48 @@
+package org.apache.maven.plugins.ear.it;
+
+import static org.apache.maven.jupiter.assertj.MavenITAssertions.assertThat;
+
+import org.apache.maven.jupiter.extension.MavenIT;
+import org.apache.maven.jupiter.extension.MavenTest;
+import org.apache.maven.jupiter.extension.maven.MavenExecutionResult;
+import org.apache.maven.jupiter.extension.maven.MavenLog;
+import org.apache.maven.jupiter.extension.maven.MavenProjectResult;
+
+@MavenIT
+class EARIT {
+  @MavenTest
+  void basic(MavenExecutionResult result, MavenProjectResult project) {
+    assertThat(result).isSuccessful();
+    assertThat(project).hasTarget()
+        .withEarFile()
+        .containsOnlyOnce("META-INF/application.xml", "META-INF/appserver-application.xml");
+  }
+
+  @MavenTest
+  void packaging_includes(MavenExecutionResult result, MavenProjectResult project) {
+    assertThat(result).isSuccessful();
+    assertThat(project).hasTarget()
+        .withEarFile()
+        .doesNotContain("commons-io-1.4.jar")
+        .containsOnlyOnce("commons-lang-commons-lang-2.5.jar", "META-INF/application.xml", "META-INF/MANIFEST.MF");
+  }
+
+  @MavenTest
+  void packaging_excludes(MavenExecutionResult result, MavenProjectResult project) {
+    assertThat(result).isSuccessful();
+    assertThat(project).hasTarget()
+        .withEarFile()
+        .doesNotContain("commons-lang-commons-lang-2.5.jar")
+        .containsOnlyOnce("META-INF/application.xml", "META-INF/MANIFEST.MF");
+  }
+
+  @MavenTest
+  void resource_custom_directory(MavenExecutionResult result, MavenProjectResult project, MavenLog log) {
+    assertThat(result).isSuccessful();
+    assertThat(log).isSuccessful();
+    assertThat(project).hasTarget()
+        .withEarFile()
+        .containsOnlyOnce("META-INF/application.xml", "APP-INF/classes/foo.properties");
+  }
+
+}
diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EarMojoIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EarMojoIntegrationTestings.java
similarity index 97%
rename from src/test/java/org/apache/maven/plugins/ear/it/EarMojoIT.java
rename to src/test/java/org/apache/maven/plugins/ear/it/EarMojoIntegrationTestings.java
index a9dcb44..0a2f558 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EarMojoIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EarMojoIntegrationTestings.java
@@ -1,996 +1,997 @@
-package org.apache.maven.plugins.ear.it;
-
-/*
- * 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.File;
-import java.io.FileInputStream;
-import java.util.Properties;
-import java.util.jar.JarFile;
-import java.util.jar.Manifest;
-
-import org.apache.maven.shared.utils.io.IOUtil;
-import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.ReaderFactory;
-
-/**
- * @author <a href="snicoll@apache.org">Stephane Nicoll</a>
- */
-public class EarMojoIT
-    extends AbstractEarPluginIT
-{
-
-    /**
-     * Builds an EAR with a single EJB and no configuration.
-     * @throws Exception in case of an error.
-     */
-    public void testProject001()
-        throws Exception
-    {
-        doTestProject( "project-001", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a customized artifact location and a customized artifact name.
-     * @throws Exception in case of an error.
-     */
-    public void testProject002()
-        throws Exception
-    {
-        doTestProject( "project-002",
-                       new String[] { "APP-INF/lib/eartest-ejb-sample-one-1.0.jar", "ejb-sample-two.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a default bundle directory for <tt>java</tt> modules.
-     * @throws Exception in case of an error.
-     */
-    public void testProject003()
-        throws Exception
-    {
-        doTestProject( "project-003", new String[] { "eartest-ejb-sample-one-1.0.jar",
-            "APP-INF/lib/eartest-jar-sample-one-1.0.jar", "APP-INF/lib/eartest-jar-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a default bundle directory for _java_ modules and a custom location overriding the default.
-     * @throws Exception in case of an error.
-     */
-    public void testProject004()
-        throws Exception
-    {
-        doTestProject( "project-004", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-jar-sample-one-1.0.jar",
-            "APP-INF/lib/eartest-jar-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a custom URI.
-     * @throws Exception in case of an error.
-     */
-    public void testProject005()
-        throws Exception
-    {
-        doTestProject( "project-005", new String[] { "eartest-ejb-sample-one-1.0.jar", "libs/another-name.jar" } );
-    }
-
-    /**
-     * Builds an EAR with an excluded module.
-     * @throws Exception in case of an error.
-     */
-    public void testProject006()
-        throws Exception
-    {
-        doTestProject( "project-006",
-                       new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-jar-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a classified artifact and no extra configuration.
-     * @throws Exception in case of an error.
-     */
-    public void testProject007()
-        throws Exception
-    {
-        doTestProject( "project-007", new String[] { "eartest-ejb-sample-one-1.0-classified.jar" } );
-    }
-
-    /**
-     * Builds an EAR with deployment descriptor configuration for J2EE 1.3.
-     * @throws Exception in case of an error.
-     */
-    public void testProject008()
-        throws Exception
-    {
-        doTestProject( "project-008", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with deployment descriptor configuration for J2EE 1.4.
-     * @throws Exception in case of an error.
-     */
-    public void testProject009()
-        throws Exception
-    {
-        doTestProject( "project-009", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with deployment descriptor configuration for Java EE 5.
-     * @throws Exception in case of an error.
-     */
-    public void testProject010()
-        throws Exception
-    {
-        doTestProject( "project-010", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR and make sure that deployment descriptor default settings are applied.
-     * @throws Exception in case of an error.
-     */
-    public void testProject011()
-        throws Exception
-    {
-        doTestProject( "project-011", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR and make sure that EAR resources are bundled within the EAR.
-     * @throws Exception in case of an error.
-     */
-    public void testProject012()
-        throws Exception
-    {
-        doTestProject( "project-012", new String[] { "README.txt", "LICENSE.txt", "eartest-ejb-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR and make sure that EAR resources in a customized resources directory are bundled within the EAR.
-     * @throws Exception in case of an error.
-     */
-    public void testProject013()
-        throws Exception
-    {
-        doTestProject( "project-013", new String[] { "README.txt", "LICENSE.txt", "eartest-ejb-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR and make sure that EAR resources are bundled within the EAR using includes and excludes.
-     * @throws Exception in case of an error.
-     */
-    public void testProject014()
-        throws Exception
-    {
-        doTestProject( "project-014", new String[] { "LICENSE.txt", "eartest-ejb-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR and make sure that default manifest is taken into account.
-     * @throws Exception in case of an error.
-     */
-    public void testProject015()
-        throws Exception
-    {
-        final File baseDir = doTestProject( "project-015", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
-        final File expectedManifest = new File( baseDir, "src/main/application/META-INF/MANIFEST.MF" );
-        final File actualManifest = new File( getEarDirectory( baseDir, "project-015" ), "META-INF/MANIFEST.MF" );
-        assertTrue( "Manifest was not copied", actualManifest.exists() );
-        assertTrue( FileUtils.contentEquals( expectedManifest, actualManifest ) );
-    }
-
-    /**
-     * Builds an EAR and make sure that custom manifest is taken into account.
-     * @throws Exception in case of an error.
-     */
-    public void testProject016()
-        throws Exception
-    {
-        final File baseDir = doTestProject( "project-016", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
-
-        final File targetFolder = new File( baseDir, "target" );
-        final File createdEarFile = new File( targetFolder, "maven-ear-plugin-test-project-016-99.0.ear" );
-
-        final File sourceManifestFile = new File( baseDir, "src/main/ear/MANIFEST.MF" );
-
-        JarFile jarFile = new JarFile( createdEarFile );
-        Manifest manifestFromCreatedEARFile = jarFile.getManifest();
-        jarFile.close();
-
-        Manifest sourceManifest = new Manifest( new FileInputStream( sourceManifestFile ) );
-
-        assertTrue( "There are differences in the manifest.", sourceManifest.equals( manifestFromCreatedEARFile ) );
-    }
-
-    /**
-     * Builds an EAR and make sure that custom application.xml is taken into account.
-     * @throws Exception in case of an error.
-     */
-    public void testProject017()
-        throws Exception
-    {
-        doTestProject( "project-017", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a custom final name.
-     * @throws Exception in case of an error.
-     */
-    public void testProject018()
-        throws Exception
-    {
-        final File baseDir = executeMojo( "project-018", new Properties() );
-        final File expectedFile = new File( baseDir, "target/my-custom-file.ear" );
-        assertTrue( "EAR archive not found", expectedFile.exists() );
-    }
-
-    /**
-     * Builds an EAR with unpacked archives using the unpackTypes.
-     * @throws Exception in case of an error.
-     */
-    public void testProject019()
-        throws Exception
-    {
-        doTestProject( "project-019", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-sar-sample-one-1.0.sar",
-            "eartest-jar-sample-one-1.0.jar" }, new boolean[] { false, true, true } );
-    }
-
-    /**
-     * Builds an EAR with unpacked archives using the unpack module attribute.
-     * @throws Exception in case of an error.
-     */
-    public void testProject020()
-        throws Exception
-    {
-        doTestProject( "project-020", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-sar-sample-one-1.0.sar",
-            "eartest-jar-sample-one-1.0.jar" }, new boolean[] { true, false, false } );
-    }
-
-    /**
-     * Builds an EAR with unpacked archives using both unpackTypes and the unpack module attribute.
-     * @throws Exception in case of an error.
-     */
-    public void testProject021()
-        throws Exception
-    {
-        doTestProject( "project-021",
-                       new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar",
-                           "eartest-sar-sample-one-1.0.sar", "eartest-jar-sample-one-1.0.jar",
-                           "eartest-jar-sample-two-1.0.jar" },
-                       new boolean[] { false, true, false, false, true } );
-    }
-
-    /**
-     * Builds an EAR with a classifier.
-     * @throws Exception in case of an error.
-     */
-    public void testProject022()
-        throws Exception
-    {
-        final File baseDir = executeMojo( "project-022", new Properties() );
-        final File expectedFile = new File( baseDir, "target/maven-ear-plugin-test-project-022-99.0-myclassifier.ear" );
-        assertTrue( "EAR archive not found", expectedFile.exists() );
-    }
-
-    /**
-     * Builds an EAR and make sure that a single classified dependency is detected without specifying the classifier.
-     * @throws Exception in case of an error.
-     */
-    public void testProject023()
-        throws Exception
-    {
-        doTestProject( "project-023",
-                       new String[] { "eartest-ejb-sample-one-1.0-classified.jar", "eartest-ejb-sample-two-1.0.jar" },
-                       new boolean[] { true, false } );
-    }
-
-    /**
-     * Builds an EAR and make sure that a single classified dependency is detected when specifying the classifier.
-     * @throws Exception in case of an error.
-     */
-    public void testProject024()
-        throws Exception
-    {
-        doTestProject( "project-024",
-                       new String[] { "eartest-ejb-sample-one-1.0-classified.jar", "eartest-ejb-sample-two-1.0.jar" },
-                       new boolean[] { true, false } );
-    }
-
-    /**
-     * Builds an EAR and make sure that a classified dependency with mutiple candidates is detected when specifying the
-     * classifier.
-     * @throws Exception in case of an error.
-     */
-    public void testProject025()
-        throws Exception
-    {
-        doTestProject( "project-025",
-                       new String[] { "eartest-ejb-sample-one-1.0-classified.jar", "eartest-ejb-sample-one-1.0.jar" },
-                       new boolean[] { true, false } );
-    }
-
-    /**
-     * Builds an EAR and make sure that the build fails if a unclassifed module configuration with mutiple candidates is
-     * specified.
-     * @throws Exception in case of an error.
-     */
-    public void testProject026()
-        throws Exception
-    {
-        final File baseDir = executeMojo( "project-026", new Properties(), false );
-        // Stupido, checks that the ear archive is not there
-        assertFalse( "Execution should have failed", getEarArchive( baseDir, "project-026" ).exists() );
-    }
-
-    /**
-     * Builds an EAR and make sure that provided dependencies are not included in the EAR.
-     * @throws Exception in case of an error.
-     */
-    public void testProject027()
-        throws Exception
-    {
-        doTestProject( "project-027", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR and make sure that test dependencies are not included in the EAR.
-     * @throws Exception in case of an error.
-     */
-    public void testProject028()
-        throws Exception
-    {
-        doTestProject( "project-028", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR and make sure that system dependencies are not included in the EAR.
-     * @throws Exception in case of an error.
-     */
-    public void testProject029()
-        throws Exception
-    {
-        doTestProject( "project-029", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR and make sure that ejb-client dependencies are detected and not added by default in the generated
-     * application.xml.
-     * @throws Exception in case of an error.
-     */
-    public void testProject030()
-        throws Exception
-    {
-        doTestProject( "project-030",
-                       new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0-client.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a Jboss 4 configuration specifying the security domain and the unauthenticated-principal to
-     * use.
-     * @throws Exception in case of an error.
-     */
-    public void testProject031()
-        throws Exception
-    {
-        doTestProject( "project-031",
-                       new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a Jboss 3.2 configuration specifying the jmx-name to use.
-     * @throws Exception in case of an error.
-     */
-    public void testProject032()
-        throws Exception
-    {
-        doTestProject( "project-032",
-                       new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a Jboss 4 configuration and Jboss specific modules.
-     * @throws Exception in case of an error.
-     */
-    public void testProject033()
-        throws Exception
-    {
-        doTestProject( "project-033", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar",
-            "eartest-sar-sample-one-1.0.sar", "eartest-har-sample-one-1.0.har" } );
-    }
-
-    /**
-     * Builds an EAR with custom security settings.
-     * @throws Exception in case of an error.
-     */
-    public void testProject034()
-        throws Exception
-    {
-        doTestProject( "project-034",
-                       new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a full filename mapping and make sure that custom locations are not overridden.
-     * @throws Exception in case of an error.
-     */
-    public void testProject035()
-        throws Exception
-    {
-        doTestProject( "project-035",
-                       new String[] { "foo/eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar",
-                           "libs/eartest-jar-sample-one-1.0.jar", "libs/eartest-jar-sample-two-1.0.jar",
-                           "sar-sample-one.sar" } );
-    }
-
-    /**
-     * Builds an EAR with a full filename mapping and make sure that groupIds with dots are replaced by dashes in
-     * filenames.
-     * @throws Exception in case of an error.
-     */
-    public void testProject036()
-        throws Exception
-    {
-        doTestProject( "project-036",
-                       new String[] { "foo/eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar",
-                           "com.foo.bar-ejb-sample-one-1.0.jar", "com.foo.bar-ejb-sample-two-1.0.jar",
-                           "libs/eartest-jar-sample-one-1.0.jar", "libs/eartest-jar-sample-two-1.0.jar",
-                           "sar-sample-one.sar" } );
-    }
-
-    /**
-     * Builds an EAR and make sure that ejb-client dependencies are detected and added in the generated application.xml
-     * if includeInApplicationXml is set.
-     * @throws Exception in case of an error.
-     */
-    public void testProject037()
-        throws Exception
-    {
-        doTestProject( "project-037", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0-client.jar" } );
-    }
-
-    /**
-     * Builds an EAR and make sure that a non-classified dependency with mutiple candidates is detected when specifying
-     * the mainArtifactId as classifier.
-     * @throws Exception in case of an error.
-     */
-    public void testProject038()
-        throws Exception
-    {
-        doTestProject( "project-038", new String[] { "eartest-ejb-sample-one-1.0-classified.jar", "eartest-ejb-sample-one-1.0.jar" },
-                       new boolean[] { false, true } );
-    }
-
-    /**
-     * Builds an EAR with a Jboss 4 configuration specifying specifying the loader repository to use.
-     * @throws Exception in case of an error.
-     */
-    public void testProject039()
-        throws Exception
-    {
-        doTestProject( "project-039", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with deployment descriptor configuration for Java EE 5 and an alternative deployment descriptor.
-     * @throws Exception in case of an error.
-     */
-    public void testProject040()
-        throws Exception
-    {
-        doTestProject( "project-040", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a Jboss 4.2 configuration specifying the module order to use.
-     * @throws Exception in case of an error.
-     */
-    public void testProject041()
-        throws Exception
-    {
-        doTestProject( "project-041", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a Jboss 4.2 configuration specifying a datasource to add.
-     * @throws Exception in case of an error.
-     */
-    public void testProject042()
-        throws Exception
-    {
-        doTestProject( "project-042", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a custom descriptor location (generatedDescriptorLocation setting).
-     * @throws Exception in case of an error.
-     */
-    public void testProject043()
-        throws Exception
-    {
-        final File baseDir = doTestProject( "project-043", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
-        final File expectedApplicationXml = new File( baseDir, "target/custom-descriptor-dir/application.xml" );
-        assertTrue( "Application.xml file not found", expectedApplicationXml.exists() );
-        assertFalse( "Application.xml file should not be empty", expectedApplicationXml.length() == 0 );
-    }
-
-    /**
-     * Builds an EAR with a custom library-directory.
-     * @throws Exception in case of an error.
-     */
-    public void testProject044()
-        throws Exception
-    {
-        doTestProject( "project-044", new String[] { "eartest-ejb-sample-one-1.0.jar", "myLibs/eartest-jar-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR and filter the content of the sources directory.
-     * @throws Exception in case of an error.
-     */
-    public void testProject045()
-        throws Exception
-    {
-        final File baseDir = doTestProject( "project-045", new String[] { "README.txt", "eartest-ejb-sample-one-1.0.jar" } );
-        final File actualReadme = new File( getEarDirectory( baseDir, "project-045" ), "README.txt" );
-        final String content = IOUtil.toString( ReaderFactory.newReader( actualReadme, "UTF-8" ) );
-        assertTrue( "application name and version was not filtered properly", content.contains( "my-app 99.0" ) );
-        assertTrue( "Escaping did not work properly", content.contains( "will not be filtered ${application.name}." ) );
-    }
-
-    /**
-     * Builds an EAR and filter the content of the sources directory using a custom filter file.
-     * @throws Exception in case of an error.
-     */
-    public void testProject046()
-        throws Exception
-    {
-        final File baseDir = doTestProject( "project-046", new String[] { "README.txt", "eartest-ejb-sample-one-1.0.jar" } );
-        final File actualReadme = new File( getEarDirectory( baseDir, "project-046" ), "README.txt" );
-        final String content = IOUtil.toString( ReaderFactory.newReader( actualReadme, "UTF-8" ) );
-        assertTrue( "application name and version was not filtered properly", content.contains( "my-app 99.0" ) );
-        assertTrue( "application build was not filtered properly", content.contains( "(Build 2)" ) );
-        assertTrue( "Unknown property should not have been filtered",
-                    content.contains( "will not be filtered ${application.unknown}." ) );
-    }
-
-    /**
-     * Builds an EAR and filter the content with a list of extensions.
-     * @throws Exception in case of an error.
-     */
-    public void testProject047()
-        throws Exception
-    {
-        final File baseDir = doTestProject( "project-047", new String[] { "README.txt", "eartest-ejb-sample-one-1.0.jar" } );
-        final File actualReadme = new File( getEarDirectory( baseDir, "project-047" ), "README.txt" );
-        final String content = IOUtil.toString( ReaderFactory.newReader( actualReadme, "UTF-8" ) );
-        assertTrue( "application name and version should not have been filtered", !content.contains( "my-app 99.0" ) );
-        assertTrue( "original properties not found", content.contains( "${application.name} ${project.version}" ) );
-    }
-
-    /**
-     * Builds an EAR with a Jboss 5 configuration containing library directory.
-     * @throws Exception in case of an error.
-     */
-    public void testProject048()
-        throws Exception
-    {
-        doTestProject( "project-048", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a Jboss 4.2 configuration containing a library directory.
-     * @throws Exception in case of an error.
-     */
-    public void testProject049()
-        throws Exception
-    {
-        doTestProject( "project-049", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a Jboss 5 configuration containing a loader repository configuration definition.
-     * @throws Exception in case of an error.
-     */
-    public void testProject050()
-        throws Exception
-    {
-        doTestProject( "project-050", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a Jboss 5 configuration containing a loader repository class definition.
-     * @throws Exception in case of an error.
-     */
-    public void testProject051()
-        throws Exception
-    {
-        doTestProject( "project-051", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a Jboss 5 configuration containing a configuration parser class definition.
-     * @throws Exception in case of an error.
-     */
-    public void testProject052()
-        throws Exception
-    {
-        doTestProject( "project-052", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a Jboss 5 configuration containing only the loader repo configuration
-     * @throws Exception in case of an error.
-     */
-    public void testProject053()
-        throws Exception
-    {
-        doTestProject( "project-053", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with deployment descriptor configuration for Java EE 5 and no application.xml
-     * @throws Exception in case of an error.
-     */
-    public void testProject054()
-        throws Exception
-    {
-        doTestProject( "project-054", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with jar dependencies added in application.xml.
-     * @throws Exception in case of an error.
-     */
-    public void testProject055()
-        throws Exception
-    {
-        doTestProject( "project-055", new String[] { "eartest-jar-sample-one-1.0.jar", "eartest-jar-sample-two-1.0.jar",
-            "eartest-jar-sample-three-with-deps-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with deployment descriptor configuration for J2EE 1.4 and an alternative deployment descriptor.
-     * @throws Exception in case of an error.
-     */
-    public void testProject056()
-        throws Exception
-    {
-        doTestProject( "project-056", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a complete JBoss 4.2 configuration and validate it matches the DTD (MEAR-104).
-     * @throws Exception in case of an error.
-     */
-    public void testProject057()
-        throws Exception
-    {
-        doTestProject( "project-057", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with deployment descriptor configuration for Java EE 6.
-     * @throws Exception in case of an error.
-     */
-    public void testProject058()
-        throws Exception
-    {
-        doTestProject( "project-058", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with no display name entry at all.
-     * @throws Exception in case of an error.
-     */
-    public void testProject059()
-        throws Exception
-    {
-        doTestProject( "project-059", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with ejb-client packaged for J2EE 1.3 (MEAR-85)
-     *
-     * @throws Exception in case of an error.
-     */
-    public void testProject060()
-        throws Exception
-    {
-        doTestProject( "project-060", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0-client.jar" } );
-    }
-
-    /**
-     * Builds an EAR with ejb-client packaged for J2EE 1.4 (MEAR-85)
-     *
-     * @throws Exception in case of an error.
-     */
-    public void testProject061()
-        throws Exception
-    {
-        doTestProject( "project-061", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0-client.jar" } );
-    }
-
-    /**
-     * Builds an EAR with ejb-client packaged for JavaEE 5 (MEAR-85)
-     *
-     * @throws Exception in case of an error.
-     */
-    public void testProject062()
-        throws Exception
-    {
-        doTestProject( "project-062", new String[] { "eartest-ejb-sample-one-1.0.jar", "lib/eartest-ejb-sample-two-1.0-client.jar" } );
-    }
-
-    /**
-     * Builds an EAR with ejb-client packaged for JavaEE 6 (MEAR-85)
-     *
-     * @throws Exception in case of an error.
-     */
-    public void testProject063()
-        throws Exception
-    {
-        doTestProject( "project-063", new String[] { "lib/eartest-ejb-sample-two-1.0-client.jar" } );
-    }
-
-    /**
-     * Builds an EAR with ejb-client packaged for JavaEE 5 and still put it in the root (MEAR-85)
-     *
-     * @throws Exception in case of an error.
-     */
-    public void testProject064()
-        throws Exception
-    {
-        doTestProject( "project-064", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0-client.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a custom moduleId.
-     * @throws Exception in case of an error.
-     */
-    public void testProject065()
-        throws Exception
-    {
-        doTestProject( "project-065", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with generateModuleId enabled.
-     * @throws Exception in case of an error.
-     */
-    public void testProject066()
-        throws Exception
-    {
-        doTestProject( "project-066", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with generateModuleId enabled and a custom module.
-     * @throws Exception in case of an error.
-     */
-    public void testProject067()
-        throws Exception
-    {
-        doTestProject( "project-067", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with the no-version file name mapping.
-     * @throws Exception in case of an error.
-     */
-    public void testProject068()
-        throws Exception
-    {
-        doTestProject( "project-068", new String[] { "eartest-ejb-sample-one.jar", "eartest-ejb-sample-two.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a custom library-directory and JavaEE 6.
-     * @throws Exception in case of an error.
-     */
-    public void testProject069()
-        throws Exception
-    {
-        doTestProject( "project-069", new String[] { "eartest-ejb-sample-one-1.0.jar", "myLibs/eartest-jar-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with application-name and initialize-in-order tags.
-     * @throws Exception in case of an error.
-     */
-    public void testProject070()
-        throws Exception
-    {
-        doTestProject( "project-070", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-jar-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with application-name and initialize-in-order tags for unsupported version.
-     * @throws Exception in case of an error.
-     */
-    public void testProject071()
-        throws Exception
-    {
-        doTestProject( "project-071", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-jar-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with an application client module (app-client).
-     * @throws Exception in case of an error.
-     */
-    public void testProject072()
-        throws Exception
-    {
-        doTestProject( "project-072", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-app-client-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with an application client module (app-client) and a default bundle directory for _java_ modules.
-     * @throws Exception in case of an error.
-     */
-    public void testProject073()
-        throws Exception
-    {
-        doTestProject( "project-073", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-app-client-sample-one-1.0.jar",
-            "APP-INF/lib/eartest-jar-sample-one-1.0.jar", "APP-INF/lib/eartest-jar-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with custom env entries settings and J2EE 1.3. Not supported by the specification so this should be
-     * ignored.
-     * @throws Exception in case of an error.
-     */
-    public void testProject074()
-        throws Exception
-    {
-        doTestProject( "project-074", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with custom env entries settings and J2EE 1.4. Not supported by the specification so this should be
-     * ignored.
-     * @throws Exception in case of an error.
-     */
-    public void testProject075()
-        throws Exception
-    {
-        doTestProject( "project-075", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with custom env entries settings and JavaEE 5. Not supported by the specification so this should be
-     * ignored.
-     * @throws Exception in case of an error.
-     */
-    public void testProject076()
-        throws Exception
-    {
-        doTestProject( "project-076", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with custom env entries settings and JavaEE 6.
-     * @throws Exception in case of an error.
-     */
-    public void testProject077()
-        throws Exception
-    {
-        doTestProject( "project-077", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with the no version for ejb file name mapping.
-     * @throws Exception in case of an error.
-     */
-    public void testProject078()
-        throws Exception
-    {
-        doTestProject( "project-078",
-                       new String[] { "ejb-sample-one.jar", "war-sample-one.war", "jar-sample-two.jar" } );
-    }
-
-    /**
-     * Builds an EAR with the 'default' library directory mode. Uses the value of the defaultLibBundleDir.
-     * @throws Exception in case of an error.
-     */
-    public void testProject079()
-        throws Exception
-    {
-        doTestProject( "project-079", new String[] { "eartest-ejb-sample-one-1.0.jar", "myLibs/eartest-jar-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with the 'empty' library directory mode. Generate an empty library-directory element.
-     * @throws Exception in case of an error.
-     */
-    public void testProject080()
-        throws Exception
-    {
-        doTestProject( "project-080", new String[] { "eartest-ejb-sample-one-1.0.jar", "myLibs/eartest-jar-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with the 'none' library directory mode. Does not generate an library-directory element.
-     * @throws Exception in case of an error.
-     */
-    public void testProject081()
-        throws Exception
-    {
-        doTestProject( "project-081", new String[] { "eartest-ejb-sample-one-1.0.jar", "myLibs/eartest-jar-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with deployment descriptor configuration for JavaEE 7.
-     * @throws Exception in case of an error.
-     */
-    public void testProject082()
-        throws Exception
-    {
-        doTestProject( "project-082", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with a library directory and custom env entries. The library-directory element must come first
-     * (MEAR-158).
-     * @throws Exception in case of an error.
-     */
-    public void testProject083()
-        throws Exception
-    {
-        doTestProject( "project-083", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Support of an application id (MEAR-174).
-     * @throws Exception in case of an error.
-     */
-    public void testProject084()
-        throws Exception
-    {
-        doTestProject( "project-084", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with custom ejbRef entries settings and JavaEE 6.
-     * @throws Exception in case of an error.
-     */
-    public void testProject085()
-        throws Exception
-    {
-        doTestProject( "project-085", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with custom ejbRef entries plus lookup-name entry.
-     * @throws Exception in case of an error.
-     */
-    public void testProject086()
-        throws Exception
-    {
-        doTestProject( "project-086", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-
-    /**
-     * Builds an EAR with resource-ref entries.
-     * @throws Exception in case of an error.
-     */
-    public void testProject087()
-        throws Exception
-    {
-        doTestProject( "project-087", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
-    }
-}
+package org.apache.maven.plugins.ear.it;
+
+/*
+ * 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.File;
+import java.io.FileInputStream;
+import java.util.Properties;
+import java.util.jar.JarFile;
+import java.util.jar.Manifest;
+
+import org.apache.maven.shared.utils.io.IOUtil;
+import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.ReaderFactory;
+
+/**
+ * @author <a href="snicoll@apache.org">Stephane Nicoll</a>
+ */
+//FIXME: Currently disabled based on the name
+public class EarMojoIntegrationTestings
+    extends AbstractEarPluginIT
+{
+
+    /**
+     * Builds an EAR with a single EJB and no configuration.
+     * @throws Exception in case of an error.
+     */
+    public void testProject001()
+        throws Exception
+    {
+        doTestProject( "project-001", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a customized artifact location and a customized artifact name.
+     * @throws Exception in case of an error.
+     */
+    public void testProject002()
+        throws Exception
+    {
+        doTestProject( "project-002",
+                       new String[] { "APP-INF/lib/eartest-ejb-sample-one-1.0.jar", "ejb-sample-two.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a default bundle directory for <tt>java</tt> modules.
+     * @throws Exception in case of an error.
+     */
+    public void testProject003()
+        throws Exception
+    {
+        doTestProject( "project-003", new String[] { "eartest-ejb-sample-one-1.0.jar",
+            "APP-INF/lib/eartest-jar-sample-one-1.0.jar", "APP-INF/lib/eartest-jar-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a default bundle directory for _java_ modules and a custom location overriding the default.
+     * @throws Exception in case of an error.
+     */
+    public void testProject004()
+        throws Exception
+    {
+        doTestProject( "project-004", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-jar-sample-one-1.0.jar",
+            "APP-INF/lib/eartest-jar-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a custom URI.
+     * @throws Exception in case of an error.
+     */
+    public void testProject005()
+        throws Exception
+    {
+        doTestProject( "project-005", new String[] { "eartest-ejb-sample-one-1.0.jar", "libs/another-name.jar" } );
+    }
+
+    /**
+     * Builds an EAR with an excluded module.
+     * @throws Exception in case of an error.
+     */
+    public void testProject006()
+        throws Exception
+    {
+        doTestProject( "project-006",
+                       new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-jar-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a classified artifact and no extra configuration.
+     * @throws Exception in case of an error.
+     */
+    public void testProject007()
+        throws Exception
+    {
+        doTestProject( "project-007", new String[] { "eartest-ejb-sample-one-1.0-classified.jar" } );
+    }
+
+    /**
+     * Builds an EAR with deployment descriptor configuration for J2EE 1.3.
+     * @throws Exception in case of an error.
+     */
+    public void testProject008()
+        throws Exception
+    {
+        doTestProject( "project-008", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with deployment descriptor configuration for J2EE 1.4.
+     * @throws Exception in case of an error.
+     */
+    public void testProject009()
+        throws Exception
+    {
+        doTestProject( "project-009", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with deployment descriptor configuration for Java EE 5.
+     * @throws Exception in case of an error.
+     */
+    public void testProject010()
+        throws Exception
+    {
+        doTestProject( "project-010", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR and make sure that deployment descriptor default settings are applied.
+     * @throws Exception in case of an error.
+     */
+    public void testProject011()
+        throws Exception
+    {
+        doTestProject( "project-011", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR and make sure that EAR resources are bundled within the EAR.
+     * @throws Exception in case of an error.
+     */
+    public void testProject012()
+        throws Exception
+    {
+        doTestProject( "project-012", new String[] { "README.txt", "LICENSE.txt", "eartest-ejb-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR and make sure that EAR resources in a customized resources directory are bundled within the EAR.
+     * @throws Exception in case of an error.
+     */
+    public void testProject013()
+        throws Exception
+    {
+        doTestProject( "project-013", new String[] { "README.txt", "LICENSE.txt", "eartest-ejb-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR and make sure that EAR resources are bundled within the EAR using includes and excludes.
+     * @throws Exception in case of an error.
+     */
+    public void testProject014()
+        throws Exception
+    {
+        doTestProject( "project-014", new String[] { "LICENSE.txt", "eartest-ejb-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR and make sure that default manifest is taken into account.
+     * @throws Exception in case of an error.
+     */
+    public void testProject015()
+        throws Exception
+    {
+        final File baseDir = doTestProject( "project-015", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
+        final File expectedManifest = new File( baseDir, "src/main/application/META-INF/MANIFEST.MF" );
+        final File actualManifest = new File( getEarDirectory( baseDir, "project-015" ), "META-INF/MANIFEST.MF" );
+        assertTrue( "Manifest was not copied", actualManifest.exists() );
+        assertTrue( FileUtils.contentEquals( expectedManifest, actualManifest ) );
+    }
+
+    /**
+     * Builds an EAR and make sure that custom manifest is taken into account.
+     * @throws Exception in case of an error.
+     */
+    public void testProject016()
+        throws Exception
+    {
+        final File baseDir = doTestProject( "project-016", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
+
+        final File targetFolder = new File( baseDir, "target" );
+        final File createdEarFile = new File( targetFolder, "maven-ear-plugin-test-project-016-99.0.ear" );
+
+        final File sourceManifestFile = new File( baseDir, "src/main/ear/MANIFEST.MF" );
+
+        JarFile jarFile = new JarFile( createdEarFile );
+        Manifest manifestFromCreatedEARFile = jarFile.getManifest();
+        jarFile.close();
+
+        Manifest sourceManifest = new Manifest( new FileInputStream( sourceManifestFile ) );
+
+        assertTrue( "There are differences in the manifest.", sourceManifest.equals( manifestFromCreatedEARFile ) );
+    }
+
+    /**
+     * Builds an EAR and make sure that custom application.xml is taken into account.
+     * @throws Exception in case of an error.
+     */
+    public void testProject017()
+        throws Exception
+    {
+        doTestProject( "project-017", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a custom final name.
+     * @throws Exception in case of an error.
+     */
+    public void testProject018()
+        throws Exception
+    {
+        final File baseDir = executeMojo( "project-018", new Properties() );
+        final File expectedFile = new File( baseDir, "target/my-custom-file.ear" );
+        assertTrue( "EAR archive not found", expectedFile.exists() );
+    }
+
+    /**
+     * Builds an EAR with unpacked archives using the unpackTypes.
+     * @throws Exception in case of an error.
+     */
+    public void testProject019()
+        throws Exception
+    {
+        doTestProject( "project-019", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-sar-sample-one-1.0.sar",
+            "eartest-jar-sample-one-1.0.jar" }, new boolean[] { false, true, true } );
+    }
+
+    /**
+     * Builds an EAR with unpacked archives using the unpack module attribute.
+     * @throws Exception in case of an error.
+     */
+    public void testProject020()
+        throws Exception
+    {
+        doTestProject( "project-020", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-sar-sample-one-1.0.sar",
+            "eartest-jar-sample-one-1.0.jar" }, new boolean[] { true, false, false } );
+    }
+
+    /**
+     * Builds an EAR with unpacked archives using both unpackTypes and the unpack module attribute.
+     * @throws Exception in case of an error.
+     */
+    public void testProject021()
+        throws Exception
+    {
+        doTestProject( "project-021",
+                       new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar",
+                           "eartest-sar-sample-one-1.0.sar", "eartest-jar-sample-one-1.0.jar",
+                           "eartest-jar-sample-two-1.0.jar" },
+                       new boolean[] { false, true, false, false, true } );
+    }
+
+    /**
+     * Builds an EAR with a classifier.
+     * @throws Exception in case of an error.
+     */
+    public void testProject022()
+        throws Exception
+    {
+        final File baseDir = executeMojo( "project-022", new Properties() );
+        final File expectedFile = new File( baseDir, "target/maven-ear-plugin-test-project-022-99.0-myclassifier.ear" );
+        assertTrue( "EAR archive not found", expectedFile.exists() );
+    }
+
+    /**
+     * Builds an EAR and make sure that a single classified dependency is detected without specifying the classifier.
+     * @throws Exception in case of an error.
+     */
+    public void testProject023()
+        throws Exception
+    {
+        doTestProject( "project-023",
+                       new String[] { "eartest-ejb-sample-one-1.0-classified.jar", "eartest-ejb-sample-two-1.0.jar" },
+                       new boolean[] { true, false } );
+    }
+
+    /**
+     * Builds an EAR and make sure that a single classified dependency is detected when specifying the classifier.
+     * @throws Exception in case of an error.
+     */
+    public void testProject024()
+        throws Exception
+    {
+        doTestProject( "project-024",
+                       new String[] { "eartest-ejb-sample-one-1.0-classified.jar", "eartest-ejb-sample-two-1.0.jar" },
+                       new boolean[] { true, false } );
+    }
+
+    /**
+     * Builds an EAR and make sure that a classified dependency with mutiple candidates is detected when specifying the
+     * classifier.
+     * @throws Exception in case of an error.
+     */
+    public void testProject025()
+        throws Exception
+    {
+        doTestProject( "project-025",
+                       new String[] { "eartest-ejb-sample-one-1.0-classified.jar", "eartest-ejb-sample-one-1.0.jar" },
+                       new boolean[] { true, false } );
+    }
+
+    /**
+     * Builds an EAR and make sure that the build fails if a unclassifed module configuration with mutiple candidates is
+     * specified.
+     * @throws Exception in case of an error.
+     */
+    public void testProject026()
+        throws Exception
+    {
+        final File baseDir = executeMojo( "project-026", new Properties(), false );
+        // Stupido, checks that the ear archive is not there
+        assertFalse( "Execution should have failed", getEarArchive( baseDir, "project-026" ).exists() );
+    }
+
+    /**
+     * Builds an EAR and make sure that provided dependencies are not included in the EAR.
+     * @throws Exception in case of an error.
+     */
+    public void testProject027()
+        throws Exception
+    {
+        doTestProject( "project-027", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR and make sure that test dependencies are not included in the EAR.
+     * @throws Exception in case of an error.
+     */
+    public void testProject028()
+        throws Exception
+    {
+        doTestProject( "project-028", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR and make sure that system dependencies are not included in the EAR.
+     * @throws Exception in case of an error.
+     */
+    public void testProject029()
+        throws Exception
+    {
+        doTestProject( "project-029", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR and make sure that ejb-client dependencies are detected and not added by default in the generated
+     * application.xml.
+     * @throws Exception in case of an error.
+     */
+    public void testProject030()
+        throws Exception
+    {
+        doTestProject( "project-030",
+                       new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0-client.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a Jboss 4 configuration specifying the security domain and the unauthenticated-principal to
+     * use.
+     * @throws Exception in case of an error.
+     */
+    public void testProject031()
+        throws Exception
+    {
+        doTestProject( "project-031",
+                       new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a Jboss 3.2 configuration specifying the jmx-name to use.
+     * @throws Exception in case of an error.
+     */
+    public void testProject032()
+        throws Exception
+    {
+        doTestProject( "project-032",
+                       new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a Jboss 4 configuration and Jboss specific modules.
+     * @throws Exception in case of an error.
+     */
+    public void testProject033()
+        throws Exception
+    {
+        doTestProject( "project-033", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar",
+            "eartest-sar-sample-one-1.0.sar", "eartest-har-sample-one-1.0.har" } );
+    }
+
+    /**
+     * Builds an EAR with custom security settings.
+     * @throws Exception in case of an error.
+     */
+    public void testProject034()
+        throws Exception
+    {
+        doTestProject( "project-034",
+                       new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a full filename mapping and make sure that custom locations are not overridden.
+     * @throws Exception in case of an error.
+     */
+    public void testProject035()
+        throws Exception
+    {
+        doTestProject( "project-035",
+                       new String[] { "foo/eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar",
+                           "libs/eartest-jar-sample-one-1.0.jar", "libs/eartest-jar-sample-two-1.0.jar",
+                           "sar-sample-one.sar" } );
+    }
+
+    /**
+     * Builds an EAR with a full filename mapping and make sure that groupIds with dots are replaced by dashes in
+     * filenames.
+     * @throws Exception in case of an error.
+     */
+    public void testProject036()
+        throws Exception
+    {
+        doTestProject( "project-036",
+                       new String[] { "foo/eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar",
+                           "com.foo.bar-ejb-sample-one-1.0.jar", "com.foo.bar-ejb-sample-two-1.0.jar",
+                           "libs/eartest-jar-sample-one-1.0.jar", "libs/eartest-jar-sample-two-1.0.jar",
+                           "sar-sample-one.sar" } );
+    }
+
+    /**
+     * Builds an EAR and make sure that ejb-client dependencies are detected and added in the generated application.xml
+     * if includeInApplicationXml is set.
+     * @throws Exception in case of an error.
+     */
+    public void testProject037()
+        throws Exception
+    {
+        doTestProject( "project-037", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0-client.jar" } );
+    }
+
+    /**
+     * Builds an EAR and make sure that a non-classified dependency with mutiple candidates is detected when specifying
+     * the mainArtifactId as classifier.
+     * @throws Exception in case of an error.
+     */
+    public void testProject038()
+        throws Exception
+    {
+        doTestProject( "project-038", new String[] { "eartest-ejb-sample-one-1.0-classified.jar", "eartest-ejb-sample-one-1.0.jar" },
+                       new boolean[] { false, true } );
+    }
+
+    /**
+     * Builds an EAR with a Jboss 4 configuration specifying specifying the loader repository to use.
+     * @throws Exception in case of an error.
+     */
+    public void testProject039()
+        throws Exception
+    {
+        doTestProject( "project-039", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with deployment descriptor configuration for Java EE 5 and an alternative deployment descriptor.
+     * @throws Exception in case of an error.
+     */
+    public void testProject040()
+        throws Exception
+    {
+        doTestProject( "project-040", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a Jboss 4.2 configuration specifying the module order to use.
+     * @throws Exception in case of an error.
+     */
+    public void testProject041()
+        throws Exception
+    {
+        doTestProject( "project-041", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a Jboss 4.2 configuration specifying a datasource to add.
+     * @throws Exception in case of an error.
+     */
+    public void testProject042()
+        throws Exception
+    {
+        doTestProject( "project-042", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a custom descriptor location (generatedDescriptorLocation setting).
+     * @throws Exception in case of an error.
+     */
+    public void testProject043()
+        throws Exception
+    {
+        final File baseDir = doTestProject( "project-043", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
+        final File expectedApplicationXml = new File( baseDir, "target/custom-descriptor-dir/application.xml" );
+        assertTrue( "Application.xml file not found", expectedApplicationXml.exists() );
+        assertFalse( "Application.xml file should not be empty", expectedApplicationXml.length() == 0 );
+    }
+
+    /**
+     * Builds an EAR with a custom library-directory.
+     * @throws Exception in case of an error.
+     */
+    public void testProject044()
+        throws Exception
+    {
+        doTestProject( "project-044", new String[] { "eartest-ejb-sample-one-1.0.jar", "myLibs/eartest-jar-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR and filter the content of the sources directory.
+     * @throws Exception in case of an error.
+     */
+    public void testProject045()
+        throws Exception
+    {
+        final File baseDir = doTestProject( "project-045", new String[] { "README.txt", "eartest-ejb-sample-one-1.0.jar" } );
+        final File actualReadme = new File( getEarDirectory( baseDir, "project-045" ), "README.txt" );
+        final String content = IOUtil.toString( ReaderFactory.newReader( actualReadme, "UTF-8" ) );
+        assertTrue( "application name and version was not filtered properly", content.contains( "my-app 99.0" ) );
+        assertTrue( "Escaping did not work properly", content.contains( "will not be filtered ${application.name}." ) );
+    }
+
+    /**
+     * Builds an EAR and filter the content of the sources directory using a custom filter file.
+     * @throws Exception in case of an error.
+     */
+    public void testProject046()
+        throws Exception
+    {
+        final File baseDir = doTestProject( "project-046", new String[] { "README.txt", "eartest-ejb-sample-one-1.0.jar" } );
+        final File actualReadme = new File( getEarDirectory( baseDir, "project-046" ), "README.txt" );
+        final String content = IOUtil.toString( ReaderFactory.newReader( actualReadme, "UTF-8" ) );
+        assertTrue( "application name and version was not filtered properly", content.contains( "my-app 99.0" ) );
+        assertTrue( "application build was not filtered properly", content.contains( "(Build 2)" ) );
+        assertTrue( "Unknown property should not have been filtered",
+                    content.contains( "will not be filtered ${application.unknown}." ) );
+    }
+
+    /**
+     * Builds an EAR and filter the content with a list of extensions.
+     * @throws Exception in case of an error.
+     */
+    public void testProject047()
+        throws Exception
+    {
+        final File baseDir = doTestProject( "project-047", new String[] { "README.txt", "eartest-ejb-sample-one-1.0.jar" } );
+        final File actualReadme = new File( getEarDirectory( baseDir, "project-047" ), "README.txt" );
+        final String content = IOUtil.toString( ReaderFactory.newReader( actualReadme, "UTF-8" ) );
+        assertTrue( "application name and version should not have been filtered", !content.contains( "my-app 99.0" ) );
+        assertTrue( "original properties not found", content.contains( "${application.name} ${project.version}" ) );
+    }
+
+    /**
+     * Builds an EAR with a Jboss 5 configuration containing library directory.
+     * @throws Exception in case of an error.
+     */
+    public void testProject048()
+        throws Exception
+    {
+        doTestProject( "project-048", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a Jboss 4.2 configuration containing a library directory.
+     * @throws Exception in case of an error.
+     */
+    public void testProject049()
+        throws Exception
+    {
+        doTestProject( "project-049", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a Jboss 5 configuration containing a loader repository configuration definition.
+     * @throws Exception in case of an error.
+     */
+    public void testProject050()
+        throws Exception
+    {
+        doTestProject( "project-050", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a Jboss 5 configuration containing a loader repository class definition.
+     * @throws Exception in case of an error.
+     */
+    public void testProject051()
+        throws Exception
+    {
+        doTestProject( "project-051", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a Jboss 5 configuration containing a configuration parser class definition.
+     * @throws Exception in case of an error.
+     */
+    public void testProject052()
+        throws Exception
+    {
+        doTestProject( "project-052", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a Jboss 5 configuration containing only the loader repo configuration
+     * @throws Exception in case of an error.
+     */
+    public void testProject053()
+        throws Exception
+    {
+        doTestProject( "project-053", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with deployment descriptor configuration for Java EE 5 and no application.xml
+     * @throws Exception in case of an error.
+     */
+    public void testProject054()
+        throws Exception
+    {
+        doTestProject( "project-054", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with jar dependencies added in application.xml.
+     * @throws Exception in case of an error.
+     */
+    public void testProject055()
+        throws Exception
+    {
+        doTestProject( "project-055", new String[] { "eartest-jar-sample-one-1.0.jar", "eartest-jar-sample-two-1.0.jar",
+            "eartest-jar-sample-three-with-deps-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with deployment descriptor configuration for J2EE 1.4 and an alternative deployment descriptor.
+     * @throws Exception in case of an error.
+     */
+    public void testProject056()
+        throws Exception
+    {
+        doTestProject( "project-056", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a complete JBoss 4.2 configuration and validate it matches the DTD (MEAR-104).
+     * @throws Exception in case of an error.
+     */
+    public void testProject057()
+        throws Exception
+    {
+        doTestProject( "project-057", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with deployment descriptor configuration for Java EE 6.
+     * @throws Exception in case of an error.
+     */
+    public void testProject058()
+        throws Exception
+    {
+        doTestProject( "project-058", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with no display name entry at all.
+     * @throws Exception in case of an error.
+     */
+    public void testProject059()
+        throws Exception
+    {
+        doTestProject( "project-059", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with ejb-client packaged for J2EE 1.3 (MEAR-85)
+     *
+     * @throws Exception in case of an error.
+     */
+    public void testProject060()
+        throws Exception
+    {
+        doTestProject( "project-060", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0-client.jar" } );
+    }
+
+    /**
+     * Builds an EAR with ejb-client packaged for J2EE 1.4 (MEAR-85)
+     *
+     * @throws Exception in case of an error.
+     */
+    public void testProject061()
+        throws Exception
+    {
+        doTestProject( "project-061", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0-client.jar" } );
+    }
+
+    /**
+     * Builds an EAR with ejb-client packaged for JavaEE 5 (MEAR-85)
+     *
+     * @throws Exception in case of an error.
+     */
+    public void testProject062()
+        throws Exception
+    {
+        doTestProject( "project-062", new String[] { "eartest-ejb-sample-one-1.0.jar", "lib/eartest-ejb-sample-two-1.0-client.jar" } );
+    }
+
+    /**
+     * Builds an EAR with ejb-client packaged for JavaEE 6 (MEAR-85)
+     *
+     * @throws Exception in case of an error.
+     */
+    public void testProject063()
+        throws Exception
+    {
+        doTestProject( "project-063", new String[] { "lib/eartest-ejb-sample-two-1.0-client.jar" } );
+    }
+
+    /**
+     * Builds an EAR with ejb-client packaged for JavaEE 5 and still put it in the root (MEAR-85)
+     *
+     * @throws Exception in case of an error.
+     */
+    public void testProject064()
+        throws Exception
+    {
+        doTestProject( "project-064", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0-client.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a custom moduleId.
+     * @throws Exception in case of an error.
+     */
+    public void testProject065()
+        throws Exception
+    {
+        doTestProject( "project-065", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with generateModuleId enabled.
+     * @throws Exception in case of an error.
+     */
+    public void testProject066()
+        throws Exception
+    {
+        doTestProject( "project-066", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with generateModuleId enabled and a custom module.
+     * @throws Exception in case of an error.
+     */
+    public void testProject067()
+        throws Exception
+    {
+        doTestProject( "project-067", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with the no-version file name mapping.
+     * @throws Exception in case of an error.
+     */
+    public void testProject068()
+        throws Exception
+    {
+        doTestProject( "project-068", new String[] { "eartest-ejb-sample-one.jar", "eartest-ejb-sample-two.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a custom library-directory and JavaEE 6.
+     * @throws Exception in case of an error.
+     */
+    public void testProject069()
+        throws Exception
+    {
+        doTestProject( "project-069", new String[] { "eartest-ejb-sample-one-1.0.jar", "myLibs/eartest-jar-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with application-name and initialize-in-order tags.
+     * @throws Exception in case of an error.
+     */
+    public void testProject070()
+        throws Exception
+    {
+        doTestProject( "project-070", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-jar-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with application-name and initialize-in-order tags for unsupported version.
+     * @throws Exception in case of an error.
+     */
+    public void testProject071()
+        throws Exception
+    {
+        doTestProject( "project-071", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-jar-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with an application client module (app-client).
+     * @throws Exception in case of an error.
+     */
+    public void testProject072()
+        throws Exception
+    {
+        doTestProject( "project-072", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-app-client-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with an application client module (app-client) and a default bundle directory for _java_ modules.
+     * @throws Exception in case of an error.
+     */
+    public void testProject073()
+        throws Exception
+    {
+        doTestProject( "project-073", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-app-client-sample-one-1.0.jar",
+            "APP-INF/lib/eartest-jar-sample-one-1.0.jar", "APP-INF/lib/eartest-jar-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with custom env entries settings and J2EE 1.3. Not supported by the specification so this should be
+     * ignored.
+     * @throws Exception in case of an error.
+     */
+    public void testProject074()
+        throws Exception
+    {
+        doTestProject( "project-074", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with custom env entries settings and J2EE 1.4. Not supported by the specification so this should be
+     * ignored.
+     * @throws Exception in case of an error.
+     */
+    public void testProject075()
+        throws Exception
+    {
+        doTestProject( "project-075", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with custom env entries settings and JavaEE 5. Not supported by the specification so this should be
+     * ignored.
+     * @throws Exception in case of an error.
+     */
+    public void testProject076()
+        throws Exception
+    {
+        doTestProject( "project-076", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with custom env entries settings and JavaEE 6.
+     * @throws Exception in case of an error.
+     */
+    public void testProject077()
+        throws Exception
+    {
+        doTestProject( "project-077", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with the no version for ejb file name mapping.
+     * @throws Exception in case of an error.
+     */
+    public void testProject078()
+        throws Exception
+    {
+        doTestProject( "project-078",
+                       new String[] { "ejb-sample-one.jar", "war-sample-one.war", "jar-sample-two.jar" } );
+    }
+
+    /**
+     * Builds an EAR with the 'default' library directory mode. Uses the value of the defaultLibBundleDir.
+     * @throws Exception in case of an error.
+     */
+    public void testProject079()
+        throws Exception
+    {
+        doTestProject( "project-079", new String[] { "eartest-ejb-sample-one-1.0.jar", "myLibs/eartest-jar-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with the 'empty' library directory mode. Generate an empty library-directory element.
+     * @throws Exception in case of an error.
+     */
+    public void testProject080()
+        throws Exception
+    {
+        doTestProject( "project-080", new String[] { "eartest-ejb-sample-one-1.0.jar", "myLibs/eartest-jar-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with the 'none' library directory mode. Does not generate an library-directory element.
+     * @throws Exception in case of an error.
+     */
+    public void testProject081()
+        throws Exception
+    {
+        doTestProject( "project-081", new String[] { "eartest-ejb-sample-one-1.0.jar", "myLibs/eartest-jar-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with deployment descriptor configuration for JavaEE 7.
+     * @throws Exception in case of an error.
+     */
+    public void testProject082()
+        throws Exception
+    {
+        doTestProject( "project-082", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with a library directory and custom env entries. The library-directory element must come first
+     * (MEAR-158).
+     * @throws Exception in case of an error.
+     */
+    public void testProject083()
+        throws Exception
+    {
+        doTestProject( "project-083", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Support of an application id (MEAR-174).
+     * @throws Exception in case of an error.
+     */
+    public void testProject084()
+        throws Exception
+    {
+        doTestProject( "project-084", new String[] { "eartest-ejb-sample-one-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with custom ejbRef entries settings and JavaEE 6.
+     * @throws Exception in case of an error.
+     */
+    public void testProject085()
+        throws Exception
+    {
+        doTestProject( "project-085", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with custom ejbRef entries plus lookup-name entry.
+     * @throws Exception in case of an error.
+     */
+    public void testProject086()
+        throws Exception
+    {
+        doTestProject( "project-086", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+
+    /**
+     * Builds an EAR with resource-ref entries.
+     * @throws Exception in case of an error.
+     */
+    public void testProject087()
+        throws Exception
+    {
+        doTestProject( "project-087", new String[] { "eartest-ejb-sample-one-1.0.jar", "eartest-ejb-sample-two-1.0.jar" } );
+    }
+}


[maven-ear-plugin] 12/24: Improved.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit d0c6ce9e4c324db75423a388d1798b8bdad8cd28
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Wed Oct 30 10:21:56 2019 +0100

    Improved.
---
 .../EARIT/transitive_excludes/invoker.properties   | 20 ++++++++
 .../ear/it/EARIT/transitive_excludes/pom.xml       | 54 ++++++++++++++++++++++
 .../ear/it/EARIT/transitive_excludes/verify.bsh    | 43 +++++++++++++++++
 .../org/apache/maven/plugins/ear/it/EARIT.java     | 11 ++++-
 4 files changed, 127 insertions(+), 1 deletion(-)

diff --git a/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/invoker.properties b/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/invoker.properties
new file mode 100644
index 0000000..63ec51e
--- /dev/null
+++ b/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/invoker.properties
@@ -0,0 +1,20 @@
+# 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.
+
+# wildcard exclusions for dependencies not supported by Maven2
+# The first version which support * is as far as I know maven 3.2.5 RECHECK THIS!
+invoker.maven.version = 3.0+ 
\ No newline at end of file
diff --git a/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/pom.xml b/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/pom.xml
new file mode 100644
index 0000000..bab9973
--- /dev/null
+++ b/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+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.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.ear</groupId>
+  <artifactId>mear73</artifactId>
+  <version>1.0-SNAPSHOT</version>
+  <packaging>ear</packaging>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-core</artifactId>
+      <version>3.0</version>
+      <exclusions>
+        <exclusion>
+          <groupId>*</groupId>
+          <artifactId>*</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-ear-plugin</artifactId>
+        <version>@project.version@</version>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>
diff --git a/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/verify.bsh b/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/verify.bsh
new file mode 100644
index 0000000..4399267
--- /dev/null
+++ b/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/transitive_excludes/verify.bsh
@@ -0,0 +1,43 @@
+/*
+ * 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 java.util.regex.*;
+
+File earFile = new File( basedir, "target/mear73-1.0-SNAPSHOT.ear" );
+if ( !earFile.isFile() )
+{
+    throw new IllegalStateException( "Missing file: " + earFile );
+}
+
+JarFile ear = new JarFile( earFile );
+Enumeration entries = ear.entries();
+while( entries.hasMoreElements() )
+{
+  JarEntry entry = (JarEntry) entries.nextElement();
+  if( entry.getName().endsWith( ".jar" ) && !"org.apache.maven-maven-core-3.0.jar".equals( entry.getName() ) )
+  {
+    throw new IllegalStateException( "Unexpected archive entry: " + entry.getName() );
+  }
+}
+ear.close();
+
+return true;
diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
index e357978..5b45074 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -93,9 +93,18 @@ class EARIT {
     assertThat(log).isSuccessful();
     assertThat(project).hasTarget()
         .withEarFile()
-        .containsOnlyOnce("META-INF/application.xml",
+        .containsOnly("META-INF/application.xml",
             "META-INF/appserver-application.xml",
             "META-INF/jboss-app.xml");
   }
+  @MavenTest
+  @DisplayName("Transitive excludes")
+  void transitive_excludes(MavenExecutionResult result, MavenProjectResult project, MavenLog log) {
+    assertThat(result).isSuccessful();
+    assertThat(log).isSuccessful();
+    assertThat(project).hasTarget()
+        .withEarFile()
+        .containsOnly("org.apache.maven-maven-core-3.0.jar");
+  }
 
 }


[maven-ear-plugin] 02/24: First prototype testing working.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit e76c14ac9752b6a19efe9a23fe72bc129e65bee0
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sun Oct 27 20:16:12 2019 +0100

    First prototype testing working.
---
 pom.xml                                            |  74 +-
 .../maven/plugins/ear/it}/EARIT/basic/pom.xml      |   0
 .../application/META-INF/appserver-application.xml |   0
 .../ear/it/EARIT/packaging_excludes}/pom.xml       |   0
 .../ear/it/EARIT/packaging_excludes}/verify.bsh    |   0
 .../ear/it/EARIT/packaging_includes}/pom.xml       |   0
 .../it/EARIT/resource_custom_directory}/pom.xml    |   0
 .../application/APP-INF/classes/foo.properties     |   0
 ...va => AbstractEarPluginIntegrationTesting.java} | 830 ++++++++++-----------
 .../org/apache/maven/plugins/ear/it/EARIT.java     |  19 +
 .../plugins/ear/it/EarMojoIntegrationTestings.java |   2 +-
 11 files changed, 505 insertions(+), 420 deletions(-)

diff --git a/pom.xml b/pom.xml
index b877f00..6820310 100644
--- a/pom.xml
+++ b/pom.xml
@@ -88,6 +88,17 @@
     <project.build.outputTimestamp>2020-04-07T21:04:00Z</project.build.outputTimestamp>
   </properties>
 
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.junit</groupId>
+        <artifactId>junit-bom</artifactId>
+        <version>5.5.2</version>
+        <scope>import</scope>
+        <type>pom</type>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
   <dependencies>
     <dependency>
       <groupId>org.apache.maven</groupId>
@@ -159,17 +170,42 @@
       <scope>test</scope>
     </dependency>
     <dependency>
+      <groupId>org.apache.maven.jupiter.extension</groupId>
+      <artifactId>maven-it-extension</artifactId>
+      <version>0.1.0-SNAPSHOT</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.assertj</groupId>
+      <artifactId>assertj-core</artifactId>
+      <version>3.13.2</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>org.mockito</groupId>
       <artifactId>mockito-core</artifactId>
-      <version>1.9.5</version>
+      <version>3.0.0</version>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.maven.jupiter.extension</groupId>
-      <artifactId>maven-it-extension</artifactId>
-      <version>0.1.0-SNAPSHOT</version>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-inline</artifactId>
+      <version>3.0.0</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-junit-jupiter</artifactId>
+      <version>3.0.0</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.junit.jupiter</groupId>
+      <artifactId>junit-jupiter-engine</artifactId>
       <scope>test</scope>
     </dependency>
+
+
   </dependencies>
 
   <build>
@@ -216,8 +252,16 @@
             </excludes>
           </configuration>
         </plugin>
+
       </plugins>
     </pluginManagement>
+    <plugins>
+      <plugin>
+        <artifactId>maven-enforcer-plugin</artifactId>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin></plugins>
   </build>
 
   <profiles>
@@ -274,6 +318,25 @@
                 <extraArtifact>org.apache.maven.plugins:maven-ejb-plugin:2.3:jar</extraArtifact>
               </extraArtifacts>
             </configuration>
+            <executions>
+              <execution>
+                <id>integration-test</id>
+                <phase>EMPTY</phase>
+              </execution>
+              <execution>
+                <id>verify</id>
+                <phase>EMPTY</phase>
+              </execution>
+              <execution>
+                <id>install-artifacts</id>
+                <goals>
+                  <goal>install</goal>
+                </goals>
+                <configuration>
+                  <localRepositoryPath>${project.build.directory}/invoker-repo</localRepositoryPath>
+                </configuration>
+              </execution>
+            </executions>
           </plugin>
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
@@ -281,6 +344,9 @@
             <configuration>
               <forkCount>1</forkCount>
               <reuseForks>false</reuseForks>
+              <includes>
+                <include>**/*IT.java</include>
+              </includes>
             </configuration>
             <executions>
               <execution>
diff --git a/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/basic/pom.xml b/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/basic/pom.xml
similarity index 100%
rename from src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/basic/pom.xml
rename to src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/basic/pom.xml
diff --git a/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/basic/src/main/application/META-INF/appserver-application.xml b/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/basic/src/main/application/META-INF/appserver-application.xml
similarity index 100%
rename from src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/basic/src/main/application/META-INF/appserver-application.xml
rename to src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/basic/src/main/application/META-INF/appserver-application.xml
diff --git a/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/packaging-excludes/pom.xml b/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/packaging_excludes/pom.xml
similarity index 100%
rename from src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/packaging-excludes/pom.xml
rename to src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/packaging_excludes/pom.xml
diff --git a/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/packaging-excludes/verify.bsh b/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/packaging_excludes/verify.bsh
similarity index 100%
rename from src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/packaging-excludes/verify.bsh
rename to src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/packaging_excludes/verify.bsh
diff --git a/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/packaging-includes/pom.xml b/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/packaging_includes/pom.xml
similarity index 100%
rename from src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/packaging-includes/pom.xml
rename to src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/packaging_includes/pom.xml
diff --git a/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/resource-custom-directory/pom.xml b/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/resource_custom_directory/pom.xml
similarity index 100%
rename from src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/resource-custom-directory/pom.xml
rename to src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/resource_custom_directory/pom.xml
diff --git a/src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/resource-custom-directory/src/main/application/APP-INF/classes/foo.properties b/src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/resource_custom_directory/src/main/application/APP-INF/classes/foo.properties
similarity index 100%
rename from src/main/filtered-resources/maven-its/org.apache.maven.plugins.ear.it/EARIT/resource-custom-directory/src/main/application/APP-INF/classes/foo.properties
rename to src/test/filtered-resources/maven-its/org/apache/maven/plugins/ear/it/EARIT/resource_custom_directory/src/main/application/APP-INF/classes/foo.properties
diff --git a/src/test/java/org/apache/maven/plugins/ear/it/AbstractEarPluginIT.java b/src/test/java/org/apache/maven/plugins/ear/it/AbstractEarPluginIntegrationTesting.java
similarity index 97%
rename from src/test/java/org/apache/maven/plugins/ear/it/AbstractEarPluginIT.java
rename to src/test/java/org/apache/maven/plugins/ear/it/AbstractEarPluginIntegrationTesting.java
index 2d62559..78001d0 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/AbstractEarPluginIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/AbstractEarPluginIntegrationTesting.java
@@ -1,415 +1,415 @@
-package org.apache.maven.plugins.ear.it;
-
-/*
- * 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.File;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Properties;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import junit.framework.TestCase;
-
-import org.apache.maven.it.VerificationException;
-import org.apache.maven.it.Verifier;
-import org.apache.maven.it.util.ResourceExtractor;
-import org.apache.maven.plugins.ear.util.ResourceEntityResolver;
-import org.custommonkey.xmlunit.Diff;
-import org.custommonkey.xmlunit.XMLAssert;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Base class for ear test cases.
- * 
- * @author <a href="snicoll@apache.org">Stephane Nicoll</a>
- */
-public abstract class AbstractEarPluginIT
-    extends TestCase
-{
-
-    protected final String FINAL_NAME_PREFIX = "maven-ear-plugin-test-";
-
-    protected final String FINAL_NAME_SUFFIX = "-99.0";
-
-    /**
-     * The base directory.
-     */
-    private File basedir;
-
-    /**
-     * Test repository directory.
-     */
-    protected File localRepositoryDir = new File( getBasedir().getAbsolutePath(), "target/test-classes/m2repo" );
-
-    protected File settingsFile = new File( getBasedir().getAbsolutePath(), "target/test-classes/settings.xml" );
-
-    /**
-     * Execute the EAR plugin for the specified project.
-     * 
-     * @param projectName the name of the project
-     * @param properties extra properties to be used by the embedder
-     * @param expectNoError true/flase.
-     * @return the base directory of the project
-     * @throws Exception if an error occurred
-     */
-    protected File executeMojo( final String projectName, final Properties properties, boolean expectNoError )
-        throws Exception
-    {
-        System.out.println( "  Building: " + projectName );
-
-        File testDir = getTestDir( projectName );
-        Verifier verifier = new Verifier( testDir.getAbsolutePath() );
-        // Let's add alternate settings.xml setting so that the latest dependencies are used
-        String localRepo = System.getProperty( "localRepositoryPath" );
-        verifier.setLocalRepo( localRepo );
-
-        String httpsProtocols = System.getProperty( "https.protocols" );
-        verifier.setSystemProperty( "https.protocols", httpsProtocols );
-        verifier.getCliOptions().add( "-s \"" + settingsFile.getAbsolutePath() + "\"" );//
-        verifier.getCliOptions().add( "-X" );
-        verifier.setLocalRepo( localRepo );
-
-        // On linux and macOSX, an exception is thrown if a build failure occurs underneath
-        try
-        {
-            verifier.executeGoal( "package" );
-        }
-        catch ( VerificationException e )
-        {
-            // @TODO needs to be handled nicely in the verifier
-            if ( expectNoError || !e.getMessage().contains( "Exit code was non-zero" ) )
-            {
-                throw e;
-            }
-        }
-
-        // If no error is expected make sure that error logs are free
-        if ( expectNoError )
-        {
-            verifier.verifyErrorFreeLog();
-        }
-        verifier.resetStreams();
-        return testDir;
-    }
-
-    /**
-     * Execute the EAR plugin for the specified project.
-     * 
-     * @param projectName the name of the project
-     * @param properties extra properties to be used by the embedder
-     * @return the base directory of the project
-     * @throws Exception if an error occurred
-     */
-    protected File executeMojo( final String projectName, final Properties properties )
-        throws Exception
-    {
-        return executeMojo( projectName, properties, true );
-    }
-
-    /**
-     * Executes the specified projects and asserts the given artifacts.
-     * 
-     * @param projectName the project to test
-     * @param expectedArtifacts the list of artifacts to be found in the EAR archive
-     * @param artifactsDirectory whether the artifact is an exploded artifactsDirectory or not
-     * @param testDeploymentDescriptors whether we should test deployment descriptors
-     * @return the base directory of the project
-     * @throws Exception Mojo exception in case of an error.
-     */
-    protected File doTestProject( final String projectName, final String[] expectedArtifacts,
-                                  final boolean[] artifactsDirectory, boolean testDeploymentDescriptors )
-        throws Exception
-    {
-        final File baseDir = executeMojo( projectName, new Properties() );
-        assertEarArchive( baseDir, projectName );
-        assertEarDirectory( baseDir, projectName );
-
-        assertArchiveContent( baseDir, projectName, expectedArtifacts, artifactsDirectory );
-
-        if ( testDeploymentDescriptors )
-        {
-            assertDeploymentDescriptors( baseDir, projectName );
-        }
-
-        return baseDir;
-
-    }
-
-    /**
-     * Executes the specified projects and asserts the given artifacts. Assert the deployment descriptors are valid
-     * 
-     * @param projectName the project to test
-     * @param expectedArtifacts the list of artifacts to be found in the EAR archive
-     * @param artifactsDirectory whether the artifact is an exploded artifactsDirectory or not
-     * @return the base directory of the project
-     * @throws Exception Mojo exception in case of an error.
-     */
-    protected File doTestProject( final String projectName, final String[] expectedArtifacts,
-                                  final boolean[] artifactsDirectory )
-        throws Exception
-    {
-        return doTestProject( projectName, expectedArtifacts, artifactsDirectory, true );
-
-    }
-
-    /**
-     * Executes the specified projects and asserts the given artifacts as artifacts (non directory)
-     * 
-     * @param projectName the project to test
-     * @param expectedArtifacts the list of artifacts to be found in the EAR archive
-     * @param testDeploymentDescriptors whether we should test deployment descriptors
-     * @return the base directory of the project
-     * @throws Exception Mojo exception in case of an error.
-     */
-    protected File doTestProject( final String projectName, final String[] expectedArtifacts,
-                                  boolean testDeploymentDescriptors )
-        throws Exception
-    {
-        return doTestProject( projectName, expectedArtifacts, new boolean[expectedArtifacts.length] );
-    }
-
-    /**
-     * Executes the specified projects and asserts the given artifacts as artifacts (non directory). Assert the
-     * deployment descriptors are valid
-     * 
-     * @param projectName the project to test
-     * @param expectedArtifacts the list of artifacts to be found in the EAR archive
-     * @return the base directory of the project
-     * @throws Exception Mojo exception in case of an error.
-     */
-    protected File doTestProject( final String projectName, final String[] expectedArtifacts )
-        throws Exception
-    {
-        return doTestProject( projectName, expectedArtifacts, true );
-    }
-
-    protected void assertEarArchive( final File baseDir, final String projectName )
-    {
-        assertTrue( "EAR archive does not exist", getEarArchive( baseDir, projectName ).exists() );
-    }
-
-    protected void assertEarDirectory( final File baseDir, final String projectName )
-    {
-        assertTrue( "EAR archive directory does not exist", getEarDirectory( baseDir, projectName ).exists() );
-    }
-
-    protected File getTargetDirectory( final File basedir )
-    {
-        return new File( basedir, "target" );
-    }
-
-    protected File getEarArchive( final File baseDir, final String projectName )
-    {
-        return new File( getTargetDirectory( baseDir ), buildFinalName( projectName ) + ".ear" );
-    }
-
-    protected File getEarDirectory( final File baseDir, final String projectName )
-    {
-        return new File( getTargetDirectory( baseDir ), buildFinalName( projectName ) );
-    }
-
-    protected String buildFinalName( final String projectName )
-    {
-        return FINAL_NAME_PREFIX + projectName + FINAL_NAME_SUFFIX;
-    }
-
-    protected void assertArchiveContent( final File baseDir, final String projectName, final String[] artifactNames,
-                                         final boolean[] artifactsDirectory )
-    {
-        // sanity check
-        assertEquals( "Wrong parameter, artifacts mismatch directory flags", artifactNames.length,
-                      artifactsDirectory.length );
-
-        File dir = getEarDirectory( baseDir, projectName );
-
-        // Let's build the expected directories sort list
-        final List<File> expectedDirectories = new ArrayList<File>();
-        for ( int i = 0; i < artifactsDirectory.length; i++ )
-        {
-            if ( artifactsDirectory[i] )
-            {
-                expectedDirectories.add( new File( dir, artifactNames[i] ) );
-            }
-        }
-
-        final List<File> actualFiles = buildArchiveContentFiles( dir, expectedDirectories );
-        assertEquals( "Artifacts mismatch " + actualFiles, artifactNames.length, actualFiles.size() );
-        for ( int i = 0; i < artifactNames.length; i++ )
-        {
-            String artifactName = artifactNames[i];
-            final boolean isDirectory = artifactsDirectory[i];
-            File expectedFile = new File( dir, artifactName );
-
-            assertEquals( "Artifact[" + artifactName + "] not in the right form (exploded/archive", isDirectory,
-                          expectedFile.isDirectory() );
-            assertTrue( "Artifact[" + artifactName + "] not found in ear archive", actualFiles.contains( expectedFile ) );
-
-        }
-    }
-
-    protected List<File> buildArchiveContentFiles( final File baseDir, final List<File> expectedDirectories )
-    {
-        final List<File> result = new ArrayList<File>();
-        addFiles( baseDir, result, expectedDirectories );
-
-        return result;
-    }
-
-    private void addFiles( final File directory, final List<File> files, final List<File> expectedDirectories )
-    {
-        File[] result = directory.listFiles( new FilenameFilter()
-        {
-            public boolean accept( File dir, String name )
-            {
-                return !name.equals( "META-INF" );
-            }
-
-        } );
-
-        /*
-         * Kinda complex. If we found a file, we always add it to the list of files. If a directory is within the
-         * expectedDirectories short list we add it but we don't add it's content. Otherwise, we don't add the directory
-         * *BUT* we browse it's content
-         */
-        for ( File file : result )
-        {
-            if ( file.isFile() )
-            {
-                files.add( file );
-            }
-            else if ( expectedDirectories.contains( file ) )
-            {
-                files.add( file );
-            }
-            else
-            {
-                addFiles( file, files, expectedDirectories );
-            }
-        }
-    }
-
-    protected File getBasedir()
-    {
-        if ( basedir != null )
-        {
-            return basedir;
-        }
-
-        final String basedirString = System.getProperty( "basedir" );
-        if ( basedirString == null )
-        {
-            basedir = new File( "" );
-        }
-        else
-        {
-            basedir = new File( basedirString );
-        }
-        return basedir;
-    }
-
-    protected File getTestDir( String projectName )
-        throws IOException
-    {
-        return ResourceExtractor.simpleExtractResources( getClass(), "/projects/" + projectName );
-    }
-
-    // Generated application.xml stuff
-
-    /**
-     * Asserts that the deployment descriptors have been generated successfully.
-     * 
-     * This test assumes that deployment descriptors are located in the <tt>expected-META-INF</tt> directory of the
-     * project. Note that the <tt>MANIFEST.mf</tt> file is ignored and is not tested.
-     * 
-     * @param baseDir the directory of the tested project
-     * @param projectName the name of the project
-     * @throws IOException exception in case of an error.
-     */
-    protected void assertDeploymentDescriptors( final File baseDir, final String projectName )
-        throws IOException
-    {
-        final File earDirectory = getEarDirectory( baseDir, projectName );
-        final File[] actualDeploymentDescriptors = getDeploymentDescriptors( new File( earDirectory, "META-INF" ) );
-        final File[] expectedDeploymentDescriptors =
-            getDeploymentDescriptors( new File( baseDir, "expected-META-INF" ) );
-
-        if ( expectedDeploymentDescriptors == null )
-        {
-            assertNull( "No deployment descriptor was expected", actualDeploymentDescriptors );
-        }
-        else
-        {
-            assertNotNull( "Missing deployment descriptor", actualDeploymentDescriptors );
-
-            // Make sure we have the same number of files
-            assertEquals( "Number of Deployment descriptor(s) mismatch", expectedDeploymentDescriptors.length,
-                          actualDeploymentDescriptors.length );
-
-            // Sort the files so that we have the same behavior here
-            Arrays.sort( expectedDeploymentDescriptors );
-            Arrays.sort( actualDeploymentDescriptors );
-
-            for ( int i = 0; i < expectedDeploymentDescriptors.length; i++ )
-            {
-                File expectedDeploymentDescriptor = expectedDeploymentDescriptors[i];
-                File actualDeploymentDescriptor = actualDeploymentDescriptors[i];
-
-                assertEquals( "File name mismatch", expectedDeploymentDescriptor.getName(),
-                              actualDeploymentDescriptor.getName() );
-
-                try
-                {
-                    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-                    dbf.setValidating( true );
-                    DocumentBuilder docBuilder = dbf.newDocumentBuilder();
-                    docBuilder.setEntityResolver( new ResourceEntityResolver() );
-                    docBuilder.setErrorHandler( new DefaultHandler() );
-
-                    final Diff myDiff =
-                        new Diff( docBuilder.parse( expectedDeploymentDescriptor ),
-                                  docBuilder.parse( actualDeploymentDescriptor ) );
-                    XMLAssert.assertXMLEqual( "Wrong deployment descriptor generated for["
-                        + expectedDeploymentDescriptor.getName() + "]", myDiff, true );
-                }
-                catch ( Exception e )
-                {
-                    e.printStackTrace();
-                    fail( "Could not assert deployment descriptor " + e.getMessage() );
-                }
-            }
-        }
-    }
-
-    private File[] getDeploymentDescriptors( final File ddDirectory )
-    {
-        return ddDirectory.listFiles( new FilenameFilter()
-        {
-            public boolean accept( File dir, String name )
-            {
-                return !name.equalsIgnoreCase( "manifest.mf" );
-            }
-        } );
-    }
-}
+package org.apache.maven.plugins.ear.it;
+
+/*
+ * 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.File;
+import java.io.FilenameFilter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Properties;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import junit.framework.TestCase;
+
+import org.apache.maven.it.VerificationException;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+import org.apache.maven.plugins.ear.util.ResourceEntityResolver;
+import org.custommonkey.xmlunit.Diff;
+import org.custommonkey.xmlunit.XMLAssert;
+import org.xml.sax.helpers.DefaultHandler;
+
+/**
+ * Base class for ear test cases.
+ * 
+ * @author <a href="snicoll@apache.org">Stephane Nicoll</a>
+ */
+public abstract class AbstractEarPluginIntegrationTesting
+    extends TestCase
+{
+
+    protected final String FINAL_NAME_PREFIX = "maven-ear-plugin-test-";
+
+    protected final String FINAL_NAME_SUFFIX = "-99.0";
+
+    /**
+     * The base directory.
+     */
+    private File basedir;
+
+    /**
+     * Test repository directory.
+     */
+    protected File localRepositoryDir = new File( getBasedir().getAbsolutePath(), "target/test-classes/m2repo" );
+
+    protected File settingsFile = new File( getBasedir().getAbsolutePath(), "target/test-classes/settings.xml" );
+
+    /**
+     * Execute the EAR plugin for the specified project.
+     * 
+     * @param projectName the name of the project
+     * @param properties extra properties to be used by the embedder
+     * @param expectNoError true/flase.
+     * @return the base directory of the project
+     * @throws Exception if an error occurred
+     */
+    protected File executeMojo( final String projectName, final Properties properties, boolean expectNoError )
+        throws Exception
+    {
+        System.out.println( "  Building: " + projectName );
+
+        File testDir = getTestDir( projectName );
+        Verifier verifier = new Verifier( testDir.getAbsolutePath() );
+        // Let's add alternate settings.xml setting so that the latest dependencies are used
+        String localRepo = System.getProperty( "localRepositoryPath" );
+        verifier.setLocalRepo( localRepo );
+
+        String httpsProtocols = System.getProperty( "https.protocols" );
+        verifier.setSystemProperty( "https.protocols", httpsProtocols );
+        verifier.getCliOptions().add( "-s \"" + settingsFile.getAbsolutePath() + "\"" );//
+        verifier.getCliOptions().add( "-X" );
+        verifier.setLocalRepo( localRepo );
+
+        // On linux and macOSX, an exception is thrown if a build failure occurs underneath
+        try
+        {
+            verifier.executeGoal( "package" );
+        }
+        catch ( VerificationException e )
+        {
+            // @TODO needs to be handled nicely in the verifier
+            if ( expectNoError || !e.getMessage().contains( "Exit code was non-zero" ) )
+            {
+                throw e;
+            }
+        }
+
+        // If no error is expected make sure that error logs are free
+        if ( expectNoError )
+        {
+            verifier.verifyErrorFreeLog();
+        }
+        verifier.resetStreams();
+        return testDir;
+    }
+
+    /**
+     * Execute the EAR plugin for the specified project.
+     * 
+     * @param projectName the name of the project
+     * @param properties extra properties to be used by the embedder
+     * @return the base directory of the project
+     * @throws Exception if an error occurred
+     */
+    protected File executeMojo( final String projectName, final Properties properties )
+        throws Exception
+    {
+        return executeMojo( projectName, properties, true );
+    }
+
+    /**
+     * Executes the specified projects and asserts the given artifacts.
+     * 
+     * @param projectName the project to test
+     * @param expectedArtifacts the list of artifacts to be found in the EAR archive
+     * @param artifactsDirectory whether the artifact is an exploded artifactsDirectory or not
+     * @param testDeploymentDescriptors whether we should test deployment descriptors
+     * @return the base directory of the project
+     * @throws Exception Mojo exception in case of an error.
+     */
+    protected File doTestProject( final String projectName, final String[] expectedArtifacts,
+                                  final boolean[] artifactsDirectory, boolean testDeploymentDescriptors )
+        throws Exception
+    {
+        final File baseDir = executeMojo( projectName, new Properties() );
+        assertEarArchive( baseDir, projectName );
+        assertEarDirectory( baseDir, projectName );
+
+        assertArchiveContent( baseDir, projectName, expectedArtifacts, artifactsDirectory );
+
+        if ( testDeploymentDescriptors )
+        {
+            assertDeploymentDescriptors( baseDir, projectName );
+        }
+
+        return baseDir;
+
+    }
+
+    /**
+     * Executes the specified projects and asserts the given artifacts. Assert the deployment descriptors are valid
+     * 
+     * @param projectName the project to test
+     * @param expectedArtifacts the list of artifacts to be found in the EAR archive
+     * @param artifactsDirectory whether the artifact is an exploded artifactsDirectory or not
+     * @return the base directory of the project
+     * @throws Exception Mojo exception in case of an error.
+     */
+    protected File doTestProject( final String projectName, final String[] expectedArtifacts,
+                                  final boolean[] artifactsDirectory )
+        throws Exception
+    {
+        return doTestProject( projectName, expectedArtifacts, artifactsDirectory, true );
+
+    }
+
+    /**
+     * Executes the specified projects and asserts the given artifacts as artifacts (non directory)
+     * 
+     * @param projectName the project to test
+     * @param expectedArtifacts the list of artifacts to be found in the EAR archive
+     * @param testDeploymentDescriptors whether we should test deployment descriptors
+     * @return the base directory of the project
+     * @throws Exception Mojo exception in case of an error.
+     */
+    protected File doTestProject( final String projectName, final String[] expectedArtifacts,
+                                  boolean testDeploymentDescriptors )
+        throws Exception
+    {
+        return doTestProject( projectName, expectedArtifacts, new boolean[expectedArtifacts.length] );
+    }
+
+    /**
+     * Executes the specified projects and asserts the given artifacts as artifacts (non directory). Assert the
+     * deployment descriptors are valid
+     * 
+     * @param projectName the project to test
+     * @param expectedArtifacts the list of artifacts to be found in the EAR archive
+     * @return the base directory of the project
+     * @throws Exception Mojo exception in case of an error.
+     */
+    protected File doTestProject( final String projectName, final String[] expectedArtifacts )
+        throws Exception
+    {
+        return doTestProject( projectName, expectedArtifacts, true );
+    }
+
+    protected void assertEarArchive( final File baseDir, final String projectName )
+    {
+        assertTrue( "EAR archive does not exist", getEarArchive( baseDir, projectName ).exists() );
+    }
+
+    protected void assertEarDirectory( final File baseDir, final String projectName )
+    {
+        assertTrue( "EAR archive directory does not exist", getEarDirectory( baseDir, projectName ).exists() );
+    }
+
+    protected File getTargetDirectory( final File basedir )
+    {
+        return new File( basedir, "target" );
+    }
+
+    protected File getEarArchive( final File baseDir, final String projectName )
+    {
+        return new File( getTargetDirectory( baseDir ), buildFinalName( projectName ) + ".ear" );
+    }
+
+    protected File getEarDirectory( final File baseDir, final String projectName )
+    {
+        return new File( getTargetDirectory( baseDir ), buildFinalName( projectName ) );
+    }
+
+    protected String buildFinalName( final String projectName )
+    {
+        return FINAL_NAME_PREFIX + projectName + FINAL_NAME_SUFFIX;
+    }
+
+    protected void assertArchiveContent( final File baseDir, final String projectName, final String[] artifactNames,
+                                         final boolean[] artifactsDirectory )
+    {
+        // sanity check
+        assertEquals( "Wrong parameter, artifacts mismatch directory flags", artifactNames.length,
+                      artifactsDirectory.length );
+
+        File dir = getEarDirectory( baseDir, projectName );
+
+        // Let's build the expected directories sort list
+        final List<File> expectedDirectories = new ArrayList<File>();
+        for ( int i = 0; i < artifactsDirectory.length; i++ )
+        {
+            if ( artifactsDirectory[i] )
+            {
+                expectedDirectories.add( new File( dir, artifactNames[i] ) );
+            }
+        }
+
+        final List<File> actualFiles = buildArchiveContentFiles( dir, expectedDirectories );
+        assertEquals( "Artifacts mismatch " + actualFiles, artifactNames.length, actualFiles.size() );
+        for ( int i = 0; i < artifactNames.length; i++ )
+        {
+            String artifactName = artifactNames[i];
+            final boolean isDirectory = artifactsDirectory[i];
+            File expectedFile = new File( dir, artifactName );
+
+            assertEquals( "Artifact[" + artifactName + "] not in the right form (exploded/archive", isDirectory,
+                          expectedFile.isDirectory() );
+            assertTrue( "Artifact[" + artifactName + "] not found in ear archive", actualFiles.contains( expectedFile ) );
+
+        }
+    }
+
+    protected List<File> buildArchiveContentFiles( final File baseDir, final List<File> expectedDirectories )
+    {
+        final List<File> result = new ArrayList<File>();
+        addFiles( baseDir, result, expectedDirectories );
+
+        return result;
+    }
+
+    private void addFiles( final File directory, final List<File> files, final List<File> expectedDirectories )
+    {
+        File[] result = directory.listFiles( new FilenameFilter()
+        {
+            public boolean accept( File dir, String name )
+            {
+                return !name.equals( "META-INF" );
+            }
+
+        } );
+
+        /*
+         * Kinda complex. If we found a file, we always add it to the list of files. If a directory is within the
+         * expectedDirectories short list we add it but we don't add it's content. Otherwise, we don't add the directory
+         * *BUT* we browse it's content
+         */
+        for ( File file : result )
+        {
+            if ( file.isFile() )
+            {
+                files.add( file );
+            }
+            else if ( expectedDirectories.contains( file ) )
+            {
+                files.add( file );
+            }
+            else
+            {
+                addFiles( file, files, expectedDirectories );
+            }
+        }
+    }
+
+    protected File getBasedir()
+    {
+        if ( basedir != null )
+        {
+            return basedir;
+        }
+
+        final String basedirString = System.getProperty( "basedir" );
+        if ( basedirString == null )
+        {
+            basedir = new File( "" );
+        }
+        else
+        {
+            basedir = new File( basedirString );
+        }
+        return basedir;
+    }
+
+    protected File getTestDir( String projectName )
+        throws IOException
+    {
+        return ResourceExtractor.simpleExtractResources( getClass(), "/projects/" + projectName );
+    }
+
+    // Generated application.xml stuff
+
+    /**
+     * Asserts that the deployment descriptors have been generated successfully.
+     * 
+     * This test assumes that deployment descriptors are located in the <tt>expected-META-INF</tt> directory of the
+     * project. Note that the <tt>MANIFEST.mf</tt> file is ignored and is not tested.
+     * 
+     * @param baseDir the directory of the tested project
+     * @param projectName the name of the project
+     * @throws IOException exception in case of an error.
+     */
+    protected void assertDeploymentDescriptors( final File baseDir, final String projectName )
+        throws IOException
+    {
+        final File earDirectory = getEarDirectory( baseDir, projectName );
+        final File[] actualDeploymentDescriptors = getDeploymentDescriptors( new File( earDirectory, "META-INF" ) );
+        final File[] expectedDeploymentDescriptors =
+            getDeploymentDescriptors( new File( baseDir, "expected-META-INF" ) );
+
+        if ( expectedDeploymentDescriptors == null )
+        {
+            assertNull( "No deployment descriptor was expected", actualDeploymentDescriptors );
+        }
+        else
+        {
+            assertNotNull( "Missing deployment descriptor", actualDeploymentDescriptors );
+
+            // Make sure we have the same number of files
+            assertEquals( "Number of Deployment descriptor(s) mismatch", expectedDeploymentDescriptors.length,
+                          actualDeploymentDescriptors.length );
+
+            // Sort the files so that we have the same behavior here
+            Arrays.sort( expectedDeploymentDescriptors );
+            Arrays.sort( actualDeploymentDescriptors );
+
+            for ( int i = 0; i < expectedDeploymentDescriptors.length; i++ )
+            {
+                File expectedDeploymentDescriptor = expectedDeploymentDescriptors[i];
+                File actualDeploymentDescriptor = actualDeploymentDescriptors[i];
+
+                assertEquals( "File name mismatch", expectedDeploymentDescriptor.getName(),
+                              actualDeploymentDescriptor.getName() );
+
+                try
+                {
+                    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+                    dbf.setValidating( true );
+                    DocumentBuilder docBuilder = dbf.newDocumentBuilder();
+                    docBuilder.setEntityResolver( new ResourceEntityResolver() );
+                    docBuilder.setErrorHandler( new DefaultHandler() );
+
+                    final Diff myDiff =
+                        new Diff( docBuilder.parse( expectedDeploymentDescriptor ),
+                                  docBuilder.parse( actualDeploymentDescriptor ) );
+                    XMLAssert.assertXMLEqual( "Wrong deployment descriptor generated for["
+                        + expectedDeploymentDescriptor.getName() + "]", myDiff, true );
+                }
+                catch ( Exception e )
+                {
+                    e.printStackTrace();
+                    fail( "Could not assert deployment descriptor " + e.getMessage() );
+                }
+            }
+        }
+    }
+
+    private File[] getDeploymentDescriptors( final File ddDirectory )
+    {
+        return ddDirectory.listFiles( new FilenameFilter()
+        {
+            public boolean accept( File dir, String name )
+            {
+                return !name.equalsIgnoreCase( "manifest.mf" );
+            }
+        } );
+    }
+}
diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
index eb729b7..147ae4c 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -1,5 +1,24 @@
 package org.apache.maven.plugins.ear.it;
 
+/*
+ * 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 static org.apache.maven.jupiter.assertj.MavenITAssertions.assertThat;
 
 import org.apache.maven.jupiter.extension.MavenIT;
diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EarMojoIntegrationTestings.java b/src/test/java/org/apache/maven/plugins/ear/it/EarMojoIntegrationTestings.java
index 0a2f558..c5842f6 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EarMojoIntegrationTestings.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EarMojoIntegrationTestings.java
@@ -34,7 +34,7 @@ import org.codehaus.plexus.util.ReaderFactory;
  */
 //FIXME: Currently disabled based on the name
 public class EarMojoIntegrationTestings
-    extends AbstractEarPluginIT
+    extends AbstractEarPluginIntegrationTesting
 {
 
     /**


[maven-ear-plugin] 24/24: Upgrade to release 0.2.0

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit 3f6ce4aecc0a67c7f1d3052aabdb1d721ce8bf3c
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Thu Apr 16 12:37:46 2020 +0200

    Upgrade to release 0.2.0
---
 pom.xml                                                  | 16 ++++++++--------
 src/test/java/org/apache/maven/plugins/ear/it/EARIT.java | 13 +++++++------
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/pom.xml b/pom.xml
index 76b0320..62c22da 100644
--- a/pom.xml
+++ b/pom.xml
@@ -173,15 +173,15 @@
      ! New maven-it-extension including dependencies needed to write IT tests.
      -->
     <dependency>
-      <groupId>org.apache.maven.jupiter.extension</groupId>
-      <artifactId>maven-jupiter-extension</artifactId>
-      <version>0.1.0-SNAPSHOT</version>
+      <groupId>com.soebes.itf.jupiter.extension</groupId>
+      <artifactId>itf-jupiter-extension</artifactId>
+      <version>0.2.0</version>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.maven.jupiter.extension</groupId>
-      <artifactId>maven-it-assertions</artifactId>
-      <version>0.1.0-SNAPSHOT</version>
+      <groupId>com.soebes.itf.jupiter.extension</groupId>
+      <artifactId>itf-assertj</artifactId>
+      <version>0.2.0</version>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -389,7 +389,6 @@
               </execution>
             </executions>
           </plugin>
--->
           <plugin>
 					<groupId>org.apache.maven.plugins</groupId>
 					<artifactId>maven-ngi-plugin</artifactId>
@@ -400,12 +399,13 @@
 						<execution>
 							<id>execution-first</id>
               <goals>
-<!--                <goal>install</goal> -->
+                <goal>install</goal>
                 <goal>integration-test</goal>
               </goals>
 						</execution>
 					</executions>
 				</plugin>
+-->
         </plugins>
       </build>
     </profile>
diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
index 48dd243..4f2a265 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -19,17 +19,18 @@ package org.apache.maven.plugins.ear.it;
  * under the License.
  */
 
-import org.apache.maven.jupiter.extension.MavenIT;
-import org.apache.maven.jupiter.extension.MavenTest;
-import org.apache.maven.jupiter.maven.MavenExecutionResult;
-import org.apache.maven.jupiter.maven.MavenLog;
-import org.apache.maven.jupiter.maven.MavenProjectResult;
+import static com.soebes.itf.extension.assertj.MavenITAssertions.assertThat;
+
+import com.soebes.itf.jupiter.extension.MavenIT;
+import com.soebes.itf.jupiter.extension.MavenTest;
+import com.soebes.itf.jupiter.maven.MavenExecutionResult;
+import com.soebes.itf.jupiter.maven.MavenLog;
+import com.soebes.itf.jupiter.maven.MavenProjectResult;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.DisplayNameGeneration;
 import org.junit.jupiter.api.DisplayNameGenerator;
 
-import static org.apache.maven.assertj.MavenITAssertions.assertThat;
 
 /**
  * <ul>


[maven-ear-plugin] 20/24: Fixed.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit 5a246599027633ff378725ff8fc9aeb7e2244f66
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sun Mar 29 17:19:33 2020 +0200

    Fixed.
---
 pom.xml                                            | 48 ++++++++++++----------
 .../plugins/ear/it/{EARMIT.java => EARIT.java}     | 15 +++----
 2 files changed, 35 insertions(+), 28 deletions(-)

diff --git a/pom.xml b/pom.xml
index a78cf0e..4b3669d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,8 +23,8 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <artifactId>maven-plugins</artifactId>
     <groupId>org.apache.maven.plugins</groupId>
+    <artifactId>maven-plugins</artifactId>
     <version>34</version>
     <relativePath>../../pom/maven/maven-plugins/pom.xml</relativePath>
   </parent>
@@ -93,7 +93,7 @@
       <dependency>
         <groupId>org.junit</groupId>
         <artifactId>junit-bom</artifactId>
-        <version>5.5.2</version>
+        <version>5.6.1</version>
         <scope>import</scope>
         <type>pom</type>
       </dependency>
@@ -150,7 +150,7 @@
       <artifactId>maven-mapping</artifactId>
       <version>3.0.0</version>
     </dependency>
-    
+
     <dependency>
       <groupId>org.apache.maven.shared</groupId>
       <artifactId>maven-verifier</artifactId>
@@ -174,7 +174,13 @@
      -->
     <dependency>
       <groupId>org.apache.maven.jupiter.extension</groupId>
-      <artifactId>maven-it-extension</artifactId>
+      <artifactId>maven-jupiter-extension</artifactId>
+      <version>0.1.0-SNAPSHOT</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.jupiter.extension</groupId>
+      <artifactId>maven-it-assertions</artifactId>
       <version>0.1.0-SNAPSHOT</version>
       <scope>test</scope>
     </dependency>
@@ -325,7 +331,7 @@
               </execution>
               <execution>
                 <id>install-artifacts</id>
-                <phase>EMPTY</phase>
+<!--                <phase>EMPTY</phase>-->
                 <goals>
                   <goal>install</goal>
                 </goals>
@@ -339,7 +345,6 @@
               </execution>
             </executions>
           </plugin>
-<!--
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-failsafe-plugin</artifactId>
@@ -369,7 +374,7 @@
               </execution>
             </executions>
           </plugin>
-
+<!--
           <plugin>
             <groupId>de.sormuras.junit</groupId>
             <artifactId>junit-platform-maven-plugin</artifactId>
@@ -386,20 +391,21 @@
           </plugin>
 -->
           <plugin>
-						<groupId>org.apache.maven.plugins</groupId>
-  					<artifactId>maven-ngi-plugin</artifactId>
-						<version>0.1.0-SNAPSHOT</version>
-            <configuration>
-            </configuration>
-            <executions>
-							<execution>
-                <goals>
-                  <goal>install</goal>
-                  <goal>integration-test</goal>
-                </goals>
-							</execution>
-						</executions>
-					</plugin>
+					<groupId>org.apache.maven.plugins</groupId>
+					<artifactId>maven-ngi-plugin</artifactId>
+					<version>0.1.0-SNAPSHOT</version>
+          <configuration>
+          </configuration>
+          <executions>
+						<execution>
+							<id>execution-first</id>
+              <goals>
+                <goal>install</goal>
+                <goal>integration-test</goal>
+              </goals>
+						</execution>
+					</executions>
+				</plugin>
         </plugins>
       </build>
     </profile>
diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARMIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
similarity index 95%
rename from src/test/java/org/apache/maven/plugins/ear/it/EARMIT.java
rename to src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
index 5dce615..01e8164 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARMIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -19,18 +19,19 @@ package org.apache.maven.plugins.ear.it;
  * under the License.
  */
 
-import static org.apache.maven.jupiter.assertj.MavenITAssertions.assertThat;
-
+import org.apache.maven.assertj.MavenITAssertions;
 import org.apache.maven.jupiter.extension.MavenIT;
 import org.apache.maven.jupiter.extension.MavenTest;
-import org.apache.maven.jupiter.extension.maven.MavenExecutionResult;
-import org.apache.maven.jupiter.extension.maven.MavenLog;
-import org.apache.maven.jupiter.extension.maven.MavenProjectResult;
+import org.apache.maven.jupiter.maven.MavenExecutionResult;
+import org.apache.maven.jupiter.maven.MavenLog;
+import org.apache.maven.jupiter.maven.MavenProjectResult;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.DisplayNameGeneration;
 import org.junit.jupiter.api.DisplayNameGenerator;
 
+import static org.apache.maven.assertj.MavenITAssertions.assertThat;
+
 /**
  * <ul>
  *   <li>basic</li>
@@ -45,11 +46,11 @@ import org.junit.jupiter.api.DisplayNameGenerator;
 @MavenIT
 @DisplayNameGeneration(DisplayNameGenerator.ReplaceUnderscores.class)
 @DisplayName("EAR Plugin Integration tests")
-class EARMIT
+class EARIT
 {
 
   @MavenTest
-  void basic(MavenExecutionResult result, MavenProjectResult project) {
+  void basic( MavenExecutionResult result, MavenProjectResult project) {
     assertThat(result).isSuccessful();
     assertThat(project).hasTarget()
         .withEarFile()


[maven-ear-plugin] 15/24: Recordered test methods.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit cd2456d7b7d4c541afce377e5a7e5ed7c3497aeb
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sun Nov 10 22:05:02 2019 +0100

    Recordered test methods.
---
 .../org/apache/maven/plugins/ear/it/EARIT.java     | 59 ++++++++++------------
 1 file changed, 27 insertions(+), 32 deletions(-)

diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
index ba01079..4eb46c1 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -20,9 +20,7 @@ package org.apache.maven.plugins.ear.it;
  */
 
 import static org.apache.maven.jupiter.assertj.MavenITAssertions.assertThat;
-import static org.apache.maven.jupiter.extension.maven.MavenVersion.M3_6_2;
 
-import org.apache.maven.jupiter.extension.DisabledForMaven;
 import org.apache.maven.jupiter.extension.MavenIT;
 import org.apache.maven.jupiter.extension.MavenTest;
 import org.apache.maven.jupiter.extension.maven.MavenExecutionResult;
@@ -38,16 +36,14 @@ import org.junit.jupiter.api.DisplayName;
  *   <li>resource_custom_directory</li>
  * </ul>
  *
- * @author Karl Heinz Marbaise
- * These are the maven-invoker-plugin integration tests (src/it/**).
- * migrated to the new maven-it-extension
+ * @author Karl Heinz Marbaise These are the maven-invoker-plugin integration tests (src/it/**). migrated to the new
+ * maven-it-extension
  */
 @MavenIT
 @DisplayName("EAR Plugin Integration tests")
 class EARIT {
 
   @MavenTest
-  @DisabledForMaven(M3_6_2)
   @DisplayName("Basic configuration. Should simply create an ear file.")
   void basic(MavenExecutionResult result, MavenProjectResult project) {
     assertThat(result).isSuccessful();
@@ -56,14 +52,27 @@ class EARIT {
         .containsOnlyOnce("META-INF/application.xml", "META-INF/appserver-application.xml");
   }
 
+  /*
+Archive:  test-1.0.ear
+  testing: META-INF/MANIFEST.MF     OK
+  testing: META-INF/                OK
+  testing: META-INF/maven/          OK
+  testing: META-INF/maven/org.apache.maven.its.ear.jboss/   OK
+  testing: META-INF/maven/org.apache.maven.its.ear.jboss/test/   OK
+  testing: META-INF/application.xml   OK
+  testing: META-INF/jboss-app.xml   OK
+  testing: META-INF/appserver-application.xml   OK
+  testing: META-INF/maven/org.apache.maven.its.ear.jboss/test/pom.xml   OK
+  testing: META-INF/maven/org.apache.maven.its.ear.jboss/test/pom.properties   OK
+ */
   @MavenTest
-  @DisplayName("Packging includes defined.")
-  void packaging_includes(MavenExecutionResult result, MavenProjectResult project) {
+  @DisplayName("JBoss app generation in EAR file.")
+  void jboss(MavenExecutionResult result, MavenProjectResult project, MavenLog log) {
     assertThat(result).isSuccessful();
+    assertThat(log).isSuccessful();
     assertThat(project).hasTarget()
         .withEarFile()
-        .doesNotContain("commons-io-1.4.jar")
-        .containsOnlyOnce("commons-lang-commons-lang-2.5.jar", "META-INF/application.xml", "META-INF/MANIFEST.MF");
+        .containsOnlyOnce("META-INF/application.xml", "META-INF/appserver-application.xml", "META-INF/jboss-app.xml");
   }
 
   @MavenTest
@@ -77,39 +86,25 @@ class EARIT {
   }
 
   @MavenTest
-  @DisplayName("Filtering of a custom directory (likely wrong!)")
-  void resource_custom_directory(MavenExecutionResult result, MavenProjectResult project, MavenLog log) {
+  @DisplayName("Packging includes defined.")
+  void packaging_includes(MavenExecutionResult result, MavenProjectResult project) {
     assertThat(result).isSuccessful();
-    assertThat(log).isSuccessful();
     assertThat(project).hasTarget()
         .withEarFile()
-        .containsOnlyOnce("META-INF/application.xml", "APP-INF/classes/foo.properties");
+        .doesNotContain("commons-io-1.4.jar")
+        .containsOnlyOnce("commons-lang-commons-lang-2.5.jar", "META-INF/application.xml", "META-INF/MANIFEST.MF");
   }
 
-  /*
-  Archive:  test-1.0.ear
-    testing: META-INF/MANIFEST.MF     OK
-    testing: META-INF/                OK
-    testing: META-INF/maven/          OK
-    testing: META-INF/maven/org.apache.maven.its.ear.jboss/   OK
-    testing: META-INF/maven/org.apache.maven.its.ear.jboss/test/   OK
-    testing: META-INF/application.xml   OK
-    testing: META-INF/jboss-app.xml   OK
-    testing: META-INF/appserver-application.xml   OK
-    testing: META-INF/maven/org.apache.maven.its.ear.jboss/test/pom.xml   OK
-    testing: META-INF/maven/org.apache.maven.its.ear.jboss/test/pom.properties   OK
-   */
   @MavenTest
-  @DisplayName("JBoss app generation in EAR file.")
-  void jboss(MavenExecutionResult result, MavenProjectResult project, MavenLog log) {
+  @DisplayName("Filtering of a custom directory (likely wrong!)")
+  void resource_custom_directory(MavenExecutionResult result, MavenProjectResult project, MavenLog log) {
     assertThat(result).isSuccessful();
     assertThat(log).isSuccessful();
     assertThat(project).hasTarget()
         .withEarFile()
-        .containsOnlyOnce("META-INF/application.xml",
-            "META-INF/appserver-application.xml",
-            "META-INF/jboss-app.xml");
+        .containsOnlyOnce("META-INF/application.xml", "APP-INF/classes/foo.properties");
   }
+
   @MavenTest
   @DisplayName("Transitive excludes")
   void transitive_excludes(MavenExecutionResult result, MavenProjectResult project, MavenLog log) {


[maven-ear-plugin] 18/24: Disabled tow tests which currently not working based on issues in extension.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit 6cac0f975da02051dfe210085fe7a8284874fec6
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Tue Dec 3 18:41:43 2019 +0100

    Disabled tow tests which currently not working based on
    issues in extension.
---
 src/test/java/org/apache/maven/plugins/ear/it/EARIT.java | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
index 59d0819..042c96e 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -26,6 +26,7 @@ import org.apache.maven.jupiter.extension.MavenTest;
 import org.apache.maven.jupiter.extension.maven.MavenExecutionResult;
 import org.apache.maven.jupiter.extension.maven.MavenLog;
 import org.apache.maven.jupiter.extension.maven.MavenProjectResult;
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.DisplayNameGeneration;
 import org.junit.jupiter.api.DisplayNameGenerator;
@@ -126,6 +127,7 @@ Archive:  test-1.0.ear
   }
 
   @MavenTest
+  @Disabled
   void same_artifactId(MavenExecutionResult result, MavenProjectResult project, MavenLog log) {
     assertThat(result).isSuccessful();
     assertThat(log).isSuccessful();
@@ -190,6 +192,7 @@ Archive:  test-1.0.ear
   }
 
   @MavenTest
+  @Disabled
   void skinny_wars_timestamp(MavenExecutionResult result, MavenProjectResult project) {
     assertThat(result).isSuccessful();
     assertThat(project).hasModule("war-module");


[maven-ear-plugin] 14/24: Improved tests.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit af50c1fa1de20c8f620c1363231f739f5c2643d6
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sun Nov 10 21:59:45 2019 +0100

    Improved tests.
---
 .../java/org/apache/maven/plugins/ear/it/EARIT.java     | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
index 5b45074..ba01079 100644
--- a/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
+++ b/src/test/java/org/apache/maven/plugins/ear/it/EARIT.java
@@ -86,6 +86,19 @@ class EARIT {
         .containsOnlyOnce("META-INF/application.xml", "APP-INF/classes/foo.properties");
   }
 
+  /*
+  Archive:  test-1.0.ear
+    testing: META-INF/MANIFEST.MF     OK
+    testing: META-INF/                OK
+    testing: META-INF/maven/          OK
+    testing: META-INF/maven/org.apache.maven.its.ear.jboss/   OK
+    testing: META-INF/maven/org.apache.maven.its.ear.jboss/test/   OK
+    testing: META-INF/application.xml   OK
+    testing: META-INF/jboss-app.xml   OK
+    testing: META-INF/appserver-application.xml   OK
+    testing: META-INF/maven/org.apache.maven.its.ear.jboss/test/pom.xml   OK
+    testing: META-INF/maven/org.apache.maven.its.ear.jboss/test/pom.properties   OK
+   */
   @MavenTest
   @DisplayName("JBoss app generation in EAR file.")
   void jboss(MavenExecutionResult result, MavenProjectResult project, MavenLog log) {
@@ -93,7 +106,7 @@ class EARIT {
     assertThat(log).isSuccessful();
     assertThat(project).hasTarget()
         .withEarFile()
-        .containsOnly("META-INF/application.xml",
+        .containsOnlyOnce("META-INF/application.xml",
             "META-INF/appserver-application.xml",
             "META-INF/jboss-app.xml");
   }
@@ -104,7 +117,7 @@ class EARIT {
     assertThat(log).isSuccessful();
     assertThat(project).hasTarget()
         .withEarFile()
-        .containsOnly("org.apache.maven-maven-core-3.0.jar");
+        .containsOnlyOnce("org.apache.maven-maven-core-3.0.jar", "META-INF/application.xml");
   }
 
 }


[maven-ear-plugin] 06/24: Added some comments within the pom file to explain some of the changes.

Posted by kh...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch itf-extension
in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git

commit 4e96a9e6c26643b36378f473fa1a9c6111075ad7
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sun Oct 27 20:49:27 2019 +0100

    Added some comments within the pom file to explain some of the changes.
---
 pom.xml | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/pom.xml b/pom.xml
index ac875a8..993db82 100644
--- a/pom.xml
+++ b/pom.xml
@@ -169,6 +169,9 @@
       <version>4.12 </version>
       <scope>test</scope>
     </dependency>
+    <!--
+     ! New maven-it-extension including dependencies needed to write IT tests.
+     -->
     <dependency>
       <groupId>org.apache.maven.jupiter.extension</groupId>
       <artifactId>maven-it-extension</artifactId>
@@ -238,6 +241,9 @@
       </plugins>
     </pluginManagement>
     <plugins>
+      <!--
+       ! Currently based on animal-sniffer of new packages;
+       -->
       <plugin>
         <artifactId>maven-enforcer-plugin</artifactId>
         <configuration>
@@ -301,6 +307,11 @@
               </extraArtifacts>
             </configuration>
             <executions>
+              <!--
+               ! !!Hack!!
+               ! Currently needed to turn off running integration-test part
+               ! and keep only install goal of maven-invoker-plugin.
+               -->
               <execution>
                 <id>integration-test</id>
                 <phase>EMPTY</phase>
@@ -315,6 +326,10 @@
                   <goal>install</goal>
                 </goals>
                 <configuration>
+                  <!--
+                   ! !!Hack!!
+                   ! This location is currently hard coded within the maven-it-extension
+                   -->
                   <localRepositoryPath>${project.build.directory}/invoker-repo</localRepositoryPath>
                 </configuration>
               </execution>