@Override public Archive<?> createAuxiliaryArchive() { final JavaArchive dbUnitExtensionArchive = ShrinkWrap.create(JavaArchive.class, "arquillian-persistence-dbunit.jar") .addPackages(true, // exclude client package Filters.exclude(DBUnitExtension.class.getPackage()), "org.jboss.arquillian.persistence.dbunit") .addPackages(true, requiredLibraries()) .addAsServiceProvider(RemoteLoadableExtension.class, RemoteDBUnitExtension.class); return dbUnitExtensionArchive; }
@Override public Archive<?> createAuxiliaryArchive() { final JavaArchive dbUnitExtensionArchive = ShrinkWrap.create(JavaArchive.class, "arquillian-ape-sql-container-dbunit.jar") .addPackages(true, // exclude client package Filters.exclude(DBUnitExtension.class.getPackage()), "org.arquillian.ape.rdbms.dbunit") .addPackages(true, // Avoid slf4j implementation in case different impl is chosen in @Deployment Filters.exclude(".*/org/slf4j/impl/.*"), requiredLibraries()) .addAsServiceProvider(RemoteLoadableExtension.class, RemoteDBUnitExtension.class) .addAsServiceProvider(TableFilterProvider.class, DefaultDatabaseSequenceFilterProvider.class, OracleDatabaseSequenceFilterProvider.class); return dbUnitExtensionArchive; }
@Override public Archive<?> createAuxiliaryArchive() { final JavaArchive dbUnitExtensionArchive = ShrinkWrap.create(JavaArchive.class, "arquillian-persistence-dbunit.jar") .addPackages(true, // exclude client package Filters.exclude(DBUnitExtension.class.getPackage()), "org.jboss.arquillian.persistence.dbunit") .addPackages(true, // Avoid slf4j implementation in case different impl is chosen in @Deployment Filters.exclude(".*/org/slf4j/impl/.*"), requiredLibraries()) .addAsServiceProvider(RemoteLoadableExtension.class, RemoteDBUnitExtension.class) .addAsServiceProvider(TableFilterProvider.class, DefaultDatabaseSequenceFilterProvider.class, OracleDatabaseSequenceFilterProvider.class); return dbUnitExtensionArchive; }
@Override public Archive<?> createAuxiliaryArchive() { final JavaArchive persistenceExtensionArchive = ShrinkWrap.create(JavaArchive.class, "arquillian-persistence.jar") .addPackages(true, // exclude client package Filters.exclude(PersistenceExtension.class.getPackage()), "org.jboss.arquillian.persistence") .addPackages(true, requiredLibraries()) .addAsServiceProvider(RemoteLoadableExtension.class, RemotePersistenceExtension.class); return persistenceExtensionArchive; }
public Filter<ArchivePath> composeFilter() { final List<Filter<ArchivePath>> includeFilter = new ArrayList<Filter<ArchivePath>>(); final List<Filter<ArchivePath>> excludeFilter = new ArrayList<Filter<ArchivePath>>(); for (String include : getIncludeRegexps()) { includeFilter.add(Filters.include(include)); } for (String exclude : getExcludeRegexps()) { excludeFilter.add(Filters.exclude(exclude)); } if (includeFilter.isEmpty() && excludeFilter.isEmpty()) { includeFilter.add(ALL_CLASSES); } final Filter<ArchivePath> notExcluded = AndFilter.and(excludeFilter); final Filter<ArchivePath> included = OrFilter.or(includeFilter); return AndFilter.and(notExcluded, included); }
public Filter<ArchivePath> composeFilter() { final List<Filter<ArchivePath>> includeFilter = new ArrayList<Filter<ArchivePath>>(); final List<Filter<ArchivePath>> excludeFilter = new ArrayList<Filter<ArchivePath>>(); for (String include : getIncludeRegexps()) { includeFilter.add(Filters.include(include)); } for (String exclude : getExcludeRegexps()) { excludeFilter.add(Filters.exclude(exclude)); } if (includeFilter.isEmpty() && excludeFilter.isEmpty()) { includeFilter.add(ALL_CLASSES); } final Filter<ArchivePath> notExcluded = AndFilter.and(excludeFilter); final Filter<ArchivePath> included = OrFilter.or(includeFilter); return AndFilter.and(notExcluded, included); }
@Override public Archive<?> createAuxiliaryArchive() { final JavaArchive persistenceExtensionArchive = ShrinkWrap.create(JavaArchive.class, "arquillian-persistence-core.jar") .addPackages(true, // exclude client package Filters.exclude(PersistenceExtension.class.getPackage()), "org.jboss.arquillian.persistence") .addAsServiceProvider(RemoteLoadableExtension.class, RemotePersistenceExtension.class) .addAsServiceProviderAndClasses(StatementSplitter.class, DefaultStatementSplitter.class, OracleStatementSplitter.class) .addAsServiceProvider(TransactionEnabler.class, PersistenceExtensionConventionTransactionEnabler.class); return persistenceExtensionArchive; }
@Override public Archive<?> createAuxiliaryArchive() { final JavaArchive persistenceExtensionArchive = ShrinkWrap.create(JavaArchive.class, "arquillian-persistence-core.jar") .addPackages(true, // exclude client package Filters.exclude(PersistenceExtension.class.getPackage()), "org.jboss.arquillian.persistence") .addAsServiceProvider(RemoteLoadableExtension.class, RemotePersistenceExtension.class) .addAsServiceProviderAndClasses(StatementSplitter.class, DefaultStatementSplitter.class, OracleStatementSplitter.class) .addAsServiceProvider(TransactionEnabler.class, PersistenceExtensionConventionTransactionEnabler.class); return persistenceExtensionArchive; } }
public Archive<?> createAuxiliaryArchive() { JavaArchive archive = ShrinkWrap.create(JavaArchive.class, "arquillian-testng.jar") .addPackages( true, // exclude com.sun.javadoc.Doclet loading, not in OpenJDK Filters.exclude("/org/testng/junit/.*|/org/testng/eclipse/.*"), TestNG.class.getPackage(), Package.getPackage("org.jboss.arquillian.testng")) .addAsServiceProvider( TestRunner.class, TestNGTestRunner.class); /* Attempt to add Guice if on classpath. TestNG 5.12 > use Guice */ // exclude AOP Alliance reference, not provided as part of TestNG jar optionalPackages( archive, Filters.exclude(".*/InterceptorStackCallback\\$InterceptedMethodInvocation.*"), Inject.class.getPackage().getName()); /* Attempt to add com.beust, internal TestNG package 5.14 > */ optionalPackages( archive, Filters.includeAll(), "com.beust"); return archive; }
@Override protected Archive<?> buildArchive() { JavaArchive archive = ShrinkWrap.create(JavaArchive.class, "arquillian-testng.jar") .addPackages( true, // exclude com.sun.javadoc.Doclet loading, not in OpenJDK Filters.exclude("/org/testng/junit/.*|/org/testng/eclipse/.*"), "org.testng", "bsh", "org.jboss.arquillian.testng") .addAsServiceProvider( TestRunner.class, TestNGTestRunner.class); /* Attempt to add Guice if on classpath. TestNG 5.12 > use Guice */ // exclude AOP Alliance reference, not provided as part of TestNG jar optionalPackages( archive, Filters.exclude(".*/InterceptorStackCallback\\$InterceptedMethodInvocation.*"), "com.google.inject"); /* Attempt to add com.beust, internal TestNG package 5.14 > */ optionalPackages( archive, Filters.includeAll(), "com.beust"); return archive; }
@Override protected Archive<?> buildArchive() { JavaArchive archive = ShrinkWrap.create(JavaArchive.class, "arquillian-testng.jar") .addPackages( true, // exclude com.sun.javadoc.Doclet loading, not in OpenJDK Filters.exclude("/org/testng/junit/.*|/org/testng/eclipse/.*"), "org.testng", "bsh", "org.jboss.arquillian.testng") .addAsServiceProvider( TestRunner.class, TestNGTestRunner.class); /* Attempt to add Guice if on classpath. TestNG 5.12 > use Guice */ // exclude AOP Alliance reference, not provided as part of TestNG jar optionalPackages( archive, Filters.exclude(".*/InterceptorStackCallback\\$InterceptedMethodInvocation.*"), "com.google.inject"); /* Attempt to add com.beust, internal TestNG package 5.14 > */ optionalPackages( archive, Filters.includeAll(), "com.beust"); return archive; }
public Archive<?> createAuxiliaryArchive() { return ShrinkWrap.create(JavaArchive.class, "arquillian-spock.jar") .addPackages( true, Filters.exclude(".*/package-info.*"), "groovy", "groovyjarjarantlr", "groovyjarjarasm.asm", "groovyjarjarcommonscli", "org.codehaus.groovy", "spock", "org.spockframework", "org.objectweb.asm") .addPackages( // junit true, Filters.includeAll(), "org.junit", "org.hamcrest") .addPackages(true, ArquillianSputnik.class.getPackage()) .addAsServiceProvider(TestRunner.class, SpockTestRunner.class) .addAsServiceProvider(ScriptEngineFactory.class, GroovyScriptEngineFactory.class) .addClass(SpockSpecificationFilter.class) .addAsManifestResource("META-INF/dgminfo", "dgminfo") .addAsManifestResource("META-INF/groovy-release-info.properties", "groovy-release-info.properties"); } }
@Test public void shouldExcludePathRegExp() throws Exception { List<ArchivePath> paths = Arrays.asList(ArchivePaths.create("/META-INF/"), ArchivePaths.create("/WEB-INF/")); List<ArchivePath> filteredPaths = executeFilter(ArchivePath.class, paths, Filters.exclude(".*META-INF.*")); Assert.assertEquals("Should only contain one", 1, filteredPaths.size()); Assert.assertEquals("Should only contain webinf", ArchivePaths.create("/WEB-INF/"), filteredPaths.get(0)); }
@Test public void shouldBeAbleToImportADirectoryWithExcludeFilter() throws Exception { String fileName = SecurityActions.getThreadContextClassLoader().getResource(EXISTING_DIRECTORY_RESOURCE).toURI().getPath(); Archive<?> archive = ShrinkWrap .create(ExplodedImporter.class, "test.jar") .importDirectory(fileName, Filters.exclude(".*META-INF.*")) .as(JavaArchive.class); Logger.getLogger(ExplodedImporterTestCase.class.getName()).info(archive.toString(true)); Assert.assertTrue("Root files should be imported", archive.contains(new BasicPath("/Test.properties"))); Assert.assertTrue("Nested files should be imported", archive.contains(new BasicPath("/org/jboss/Test.properties"))); Assert.assertTrue("Empty directories should be imported", archive.contains(new BasicPath("/empty_dir"))); Assert.assertTrue("Nested empty directories should be imported", archive.contains(new BasicPath("/parent/empty_dir"))); }
private Archive<?> handleArchive(WebArchive applicationArchive, Collection<Archive<?>> auxiliaryArchives, WebArchive protocol, Processor processor) { if (applicationArchive.contains(WEB_XML_PATH)) { WebAppDescriptor applicationWebXml = Descriptors.importAs(WebAppDescriptor.class).from( applicationArchive.get(WEB_XML_PATH).getAsset().openStream()); // SHRINKWRAP-187, to eager on not allowing overrides, delete it first applicationArchive.delete(WEB_XML_PATH); applicationArchive.setWebXML( new StringAsset( WebUtils.mergeWithDescriptor(applicationWebXml).exportAsString())); applicationArchive.merge(protocol, Filters.exclude(".*web\\.xml.*")); } else { applicationArchive.merge(protocol); } applicationArchive.addAsLibraries(auxiliaryArchives.toArray(new Archive<?>[0])); processor.process(applicationArchive); return applicationArchive; }
private Archive<?> handleArchive(WebArchive applicationArchive, Collection<Archive<?>> auxiliaryArchives, WebArchive protocol, Processor processor) { ArchivePath webXmlPath = ArchivePaths.create("WEB-INF/web.xml"); if(applicationArchive.contains(webXmlPath)) { WebAppDescriptor applicationWebXml = Descriptors.importAs(WebAppDescriptor.class).from( applicationArchive.get(webXmlPath).getAsset().openStream()); applicationArchive.setWebXML( new StringAsset( mergeWithDescriptor(applicationWebXml).exportAsString())); applicationArchive.merge(protocol, Filters.exclude(".*web\\.xml.*")); } else { applicationArchive.merge(protocol); } applicationArchive.addAsLibraries(auxiliaryArchives.toArray(new Archive<?>[0])); processor.process(applicationArchive); return applicationArchive; }
/** * X TODO creating a WebArchive is only a workaround because JavaArchive * cannot contain other archives. */ @Deployment public static WebArchive deploy() { JavaArchive testJar = ShrinkWrap .create(JavaArchive.class, "minimalMessageTest.jar") .addPackages(false, Filters.exclude(MessageContextTest.class), MinimalMessagesTest.class.getPackage()) .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); return ShrinkWrap .create(WebArchive.class, "minimalMessageTest.war") .addAsLibraries(ArchiveUtils.getDeltaSpikeCoreArchive()) .addAsLibraries(testJar) .addAsResource("customMinimalMessage_en.properties") .addAsResource("org/apache/deltaspike/test/core/api/message/MinimalMessages_en.properties") .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml") .addAsServiceProvider(Extension.class, MessageBundleExtension.class); }
private Archive<?> handleWar(WebArchive war, WebArchive protocol, Processor processor) { if (war.contains(WEB_XML_PATH)) { WebAppDescriptor applicationWebXml = Descriptors.importAs(WebAppDescriptor.class).fromStream(war.get(WEB_XML_PATH).getAsset().openStream()); // SHRINKWRAP-187, to eager on not allowing overrides, delete it first war.delete(WEB_XML_PATH); war.setWebXML(new StringAsset(mergeWithDescriptor(applicationWebXml).exportAsString())); war.merge(protocol, Filters.exclude(".*web\\.xml.*")); } else { war.merge(protocol); } processor.process(war); return war; }
@Test @ArchiveType(ClassContainer.class) public void shouldExcludeOnlySelectedClasses() throws Exception { getClassContainer().addPackages(true, Filters.exclude(DynamicContainerTestBase.class, ArchiveType.class), DynamicContainerTestBase.class.getPackage().getName()); ArchivePath notExpectedPath = new BasicPath(getClassPath(), AssetUtil.getFullPathForClassResource(DynamicContainerTestBase.class)); ArchivePath notExpectedPath2 = new BasicPath(getClassPath(), AssetUtil.getFullPathForClassResource(ArchiveType.class)); Assert.assertFalse("Archive should not contain " + notExpectedPath.get(), getArchive() .contains(notExpectedPath)); Assert.assertFalse("Archive should not contain " + notExpectedPath2.get(), getArchive().contains(notExpectedPath2)); }
/** * Ensure a package as a String can be added to a container with filter * * @throws Exception */ @Test @ArchiveType(ClassContainer.class) public void testShouldExcludeOnlySelectedPackages() throws Exception { Package parent = DummyClassForTest.class.getPackage(); Package nested1 = EmptyClassForFiltersTest1.class.getPackage(); Package nested2 = EmptyClassForFiltersTest2.class.getPackage(); getClassContainer().addPackages(true, Filters.exclude(nested1, nested2), parent.getName()); ArchivePath expectedPath1 = new BasicPath(getClassPath(), AssetUtil.getFullPathForClassResource(EmptyClassForFiltersTest3.class)); ArchivePath expectedPath2 = new BasicPath(getClassPath(), AssetUtil.getFullPathForClassResource(DummyClassForTest.class)); ArchivePath notExpectedPath1 = new BasicPath(getClassPath(), AssetUtil.getFullPathForClassResource(EmptyClassForFiltersTest1.class)); ArchivePath notExpectedPath2 = new BasicPath(getClassPath(), AssetUtil.getFullPathForClassResource(EmptyClassForFiltersTest2.class)); assertContainsClass(expectedPath1); assertContainsClass(expectedPath2); assertNotContainsClass(notExpectedPath1); assertNotContainsClass(notExpectedPath2); }