package org.arquillian.cube.impl.client.container.remote;
import org.arquillian.cube.CubeController;
import org.arquillian.cube.impl.client.enricher.CubeControllerProvider;
import org.arquillian.cube.requirement.ArquillianConditionalRunner;
import org.arquillian.cube.spi.requirement.Requires;
import org.jboss.arquillian.container.test.spi.RemoteLoadableExtension;
import org.jboss.arquillian.container.test.spi.client.deployment.AuxiliaryArchiveAppender;
import org.jboss.arquillian.core.spi.LoadableExtension;
import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.JavaArchive;
public class CubeAuxiliaryArchiveAppender implements AuxiliaryArchiveAppender {
@Override
public Archive<?> createAuxiliaryArchive() {
JavaArchive javaArchive = ShrinkWrap.create(JavaArchive.class, "arquillian-cube.jar")
.addPackage(CubeController.class.getPackage())
.addPackages(true, CubeRemoteExtension.class.getPackage())
.addClass(CubeControllerProvider.class)
.addAsServiceProvider(RemoteLoadableExtension.class, CubeRemoteExtension.class);
if (LoadableExtension.Validate.classExists("org.arquillian.cube.requirement.ArquillianConditionalRunner")) {
javaArchive.addPackages(true, ArquillianConditionalRunner.class.getPackage(), Requires.class.getPackage());
}
return javaArchive;
}
}