You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2013/09/23 15:42:55 UTC
svn commit: r1525591 -
/tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java
Author: rmannibucau
Date: Mon Sep 23 13:42:55 2013
New Revision: 1525591
URL: http://svn.apache.org/r1525591
Log:
allowing to configure a filter on Mvn
Modified:
tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java
Modified: tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java?rev=1525591&r1=1525590&r2=1525591&view=diff
==============================================================================
--- tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java (original)
+++ tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java Mon Sep 23 13:42:55 2013
@@ -20,6 +20,7 @@ import org.apache.ziplock.IO;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.ArchivePath;
import org.jboss.shrinkwrap.api.Filter;
+import org.jboss.shrinkwrap.api.Filters;
import org.jboss.shrinkwrap.api.GenericArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.asset.Asset;
@@ -47,6 +48,7 @@ public final class Mvn {
private String name = "test.war";
private Map<File, String> additionalResources = new HashMap<File, String>();
private ScopeType[] scopes = { ScopeType.COMPILE, ScopeType.RUNTIME };
+ private Filter<ArchivePath> filter = Filters.includeAll();
public Builder scopes(final ScopeType... scopes) {
this.scopes = scopes;
@@ -83,6 +85,11 @@ public final class Mvn {
return this;
}
+ public Builder filter(final Filter<ArchivePath> filter) {
+ this.filter = filter;
+ return this;
+ }
+
public Builder additionalResource(final File folder, final String root) {
additionalResources.put(folder, root);
return this;
@@ -94,7 +101,11 @@ public final class Mvn {
final WebArchive webArchive = ShrinkWrap.create(WebArchive.class, name);
if (basePackage != null) {
- webArchive.addPackages(true, basePackage);
+ if (filter != null) {
+ webArchive.addPackages(true, filter, basePackage);
+ } else {
+ webArchive.addPackages(true, basePackage);
+ }
}
add(webArchive, classes, "/WEB-INF/classes/")
.add(webArchive, resources, "/WEB-INF/classes/")
@@ -154,7 +165,7 @@ public final class Mvn {
return this;
}
- final KnownResourcesFilter filter = new KnownResourcesFilter(dir, root);
+ final KnownResourcesFilter filter = new KnownResourcesFilter(dir, root, this.filter);
filter.update(
webArchive.merge(
ShrinkWrap.create(GenericArchive.class).as(ExplodedImporter.class)
@@ -190,9 +201,11 @@ public final class Mvn {
private final File base;
private final String prefix;
private final Map<ArchivePath, Asset> paths = new HashMap<ArchivePath, Asset>();
+ private final Filter<ArchivePath> delegate;
- public KnownResourcesFilter(final File base, final String prefix) {
+ public KnownResourcesFilter(final File base, final String prefix, final Filter<ArchivePath> filter) {
this.base = base;
+ this.delegate = filter;
if (prefix.startsWith("/")) {
this.prefix = prefix.substring(1);
@@ -203,6 +216,9 @@ public final class Mvn {
@Override
public boolean include(final ArchivePath archivePath) {
+ if (!delegate.include(archivePath)) {
+ return false;
+ }
if (archivePath.get().contains("shiro.ini")) {
paths.put(archivePath, addArquillianServletInUrls(archivePath));
return false;