package org.richfaces.integration;
import java.io.File;
import org.jboss.shrinkwrap.api.Filters;
import org.jboss.shrinkwrap.api.GenericArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.importer.ExplodedImporter;
import org.jboss.shrinkwrap.api.spec.JavaArchive;
import org.richfaces.arquillian.configuration.FundamentalTestConfiguration;
import org.richfaces.arquillian.configuration.FundamentalTestConfigurationContext;
import org.richfaces.deployment.Deployment;
public class OutputDeployment extends Deployment {
private final FundamentalTestConfiguration configuration = FundamentalTestConfigurationContext.getProxy();
public OutputDeployment(Class<?> testClass) {
super(testClass);
if (configuration.isCurrentRichFacesVersion()) {
addCurrentProjectClasses();
this.addMavenDependency(
"org.richfaces.core:richfaces-core-api",
"org.richfaces.core:richfaces-core-impl",
"org.richfaces.ui.common:richfaces-ui-common-api",
"org.richfaces.ui.common:richfaces-ui-common-ui",
"org.richfaces.ui.core:richfaces-ui-core-api",
"org.richfaces.ui.core:richfaces-ui-core-ui",
"org.richfaces.ui.misc:richfaces-ui-misc-ui",
"org.richfaces.ui.output:richfaces-ui-output-api");
} else {
String version = configuration.getRichFacesVersion();
this.addMavenDependency(
"org.richfaces.core:richfaces-core-api:" + version,
"org.richfaces.core:richfaces-core-impl:" + version,
"org.richfaces.ui.common:richfaces-ui-common-api:" + version,
"org.richfaces.ui.common:richfaces-ui-common-ui:" + version,
"org.richfaces.ui.core:richfaces-ui-core-api:" + version,
"org.richfaces.ui.core:richfaces-ui-core-ui:" + version,
"org.richfaces.ui.misc:richfaces-ui-misc-ui:" + version,
"org.richfaces.ui.output:richfaces-ui-output-api:" + version,
"org.richfaces.ui.output:richfaces-ui-output-ui:" + version);
}
archive().addAsWebInfResource(new File("src/test/resources/beans.xml"));
}
private void addCurrentProjectClasses() {
JavaArchive jar = ShrinkWrap.create(JavaArchive.class, "richfaces-ui-output-ui.jar");
jar.merge(
ShrinkWrap.create(GenericArchive.class).as(ExplodedImporter.class).importDirectory("target/classes/")
.as(GenericArchive.class), "/", Filters.includeAll());
archive().addAsLibrary(jar);
}
}