public TestWarArchiveBuilder( final File baseWar, final Class<?> testClass, final File buildOutput ) { this( testClass, buildOutput ); war.merge( ShrinkWrap.createFromZipFile( WebArchive.class, baseWar ) ); }
protected void merge(MultiContext context, WebArchive war) throws Exception { WebArchive uber = context.getWar(); Filter<ArchivePath> filter = createFilter(uber, war); uber.merge(war, filter); }
@Deployment(testable = false) public static WebArchive deploy() { return ShrinkWrap.create(WebArchive.class) .merge(ShrinkWrap.createFromZipFile(WebArchive.class, new File("target/geekseek-1.0.0-alpha-1-SNAPSHOT.war"))); } }
private File explode(File targetDir, JavaArchive classes, JavaArchive lib) { WebArchive archive = ShrinkWrap.create(WebArchive.class); archive.merge(classes, "WEB-INF/classes"); archive.addAsDirectory("WEB-INF/lib"); File explodedDir = archive.as(ExplodedExporter.class).exportExploded(targetDir); File libJar = new File(explodedDir, "WEB-INF/lib/lib.jar"); lib.as(ZipExporter.class).exportTo(libJar); return explodedDir; }
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; }
private File explode(File targetDir, JavaArchive classes, JavaArchive lib) { WebArchive archive = ShrinkWrap.create(WebArchive.class); archive.merge(classes, "WEB-INF/classes"); archive.addAsDirectory("WEB-INF/lib"); File explodedDir = archive.as(ExplodedExporter.class).exportExploded(targetDir); File libJar = new File(explodedDir, "WEB-INF/lib/lib.jar"); lib.as(ZipExporter.class).exportTo(libJar); return explodedDir; }
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; }
protected final WebArchive baseApplicationArchive(final String archiveName) { final File[] files = Maven. configureResolver(). fromClassloaderResource("settings.xml"). resolve(GROUP_ID+":"+ARTIFACT_ID+":"+PACKAGING+":"+VERSION). withoutTransitivity(). as(File.class); final WebArchive archive = ShrinkWrap. create(WebArchive.class,archiveName). merge(ShrinkWrap.createFromZipFile(WebArchive.class,files[0])); return archive; } }