package org.arquillian.cube.docker.impl.client.reporter; import org.arquillian.reporter.api.model.StringKey; import org.jboss.arquillian.core.spi.LoadableExtension; public class CubeDockerReporterExtension implements LoadableExtension { @Override public void register(ExtensionBuilder builder) { // Only if reporter is in classpath we should provide reporting capabilities. final boolean reportedInClasspath = Validate.classExists("org.arquillian.core.reporter.ArquillianCoreReporterExtension"); if (reportedInClasspath) { builder.observer(TakeDockerEnvironment.class); builder.service(StringKey.class, DockerEnvironmentReportKey.class); } // Only if drone is in classpath we should provide reporting capabilities for videos. if (reportedInClasspath && Validate.classExists("org.arquillian.cube.docker.drone.CubeDockerDroneExtension")) { builder.observer(TakeVncDroneVideo.class); } // Only if restassured is in classpath we should provide reporting capabilities for restassured if (reportedInClasspath && Validate.classExists("org.arquillian.cube.docker.restassured.RestAssuredExtension")) { builder.observer(TakeRestAssuredContent.class); } } }