// Path: tooling/hawtio-junit/src/main/java/io/hawt/junit/JUnitService.java
// public interface JUnitService {
// 
//     List<Method> findTestMethods(Class<?> clazz) throws Exception;
// 
//     List<Method> filterTestMethods(List<Method> methods, String filter);
// 
//     Method findBefore(Class<?> clazz) throws Exception;
// 
//     Method findBeforeClass(Class<?> clazz) throws Exception;
// 
//     Method findAfter(Class<?> clazz) throws Exception;
// 
//     Method findAfterClass(Class<?> clazz) throws Exception;
// }


import java.io.Console;
import java.io.File;
import java.lang.reflect.Method;
import java.net.URL;
import java.util.List;
import java.util.Set;
import io.hawt.junit.DefaultJUnitService;
import io.hawt.junit.JUnitService;
import io.hawt.util.ReflectionHelper;
import org.apache.maven.plugins.annotations.Execute;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.plugins.annotations.ResolutionScope;
package io.hawt.maven;




@Mojo(name = "test", defaultPhase = LifecyclePhase.INTEGRATION_TEST, requiresDependencyResolution = ResolutionScope.TEST)
@Execute(phase = LifecyclePhase.PROCESS_TEST_CLASSES)
public class TestMojo extends CamelMojo {

    @Parameter(property = "hawtio.className")
    private String className;

    @Parameter(property = "hawtio.testName")
    private String testName;

    /**
     * The directory containing generated test classes of the project being tested. This will be included at the
     * beginning of the test classpath.
     */
    @Parameter( defaultValue = "${project.build.testOutputDirectory}" )
    protected File testClassesDirectory;

// Path: tooling/hawtio-junit/src/main/java/io/hawt/junit/JUnitService.java
// public interface JUnitService {
// 
//     List<Method> findTestMethods(Class<?> clazz) throws Exception;
// 
//     List<Method> filterTestMethods(List<Method> methods, String filter);
// 
//     Method findBefore(Class<?> clazz) throws Exception;
// 
//     Method findBeforeClass(Class<?> clazz) throws Exception;
// 
//     Method findAfter(Class<?> clazz) throws Exception;
// 
//     Method findAfterClass(Class<?> clazz) throws Exception;
// }


// Path: tooling/hawtio-maven-plugin/src/main/java/io/hawt/maven/TestMojo.java
import java.io.Console;
import java.io.File;
import java.lang.reflect.Method;
import java.net.URL;
import java.util.List;
import java.util.Set;
import io.hawt.junit.DefaultJUnitService;
import io.hawt.junit.JUnitService;
import io.hawt.util.ReflectionHelper;
import org.apache.maven.plugins.annotations.Execute;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.plugins.annotations.ResolutionScope;

package io.hawt.maven;




@Mojo(name = "test", defaultPhase = LifecyclePhase.INTEGRATION_TEST, requiresDependencyResolution = ResolutionScope.TEST)
@Execute(phase = LifecyclePhase.PROCESS_TEST_CLASSES)
public class TestMojo extends CamelMojo {

    @Parameter(property = "hawtio.className")
    private String className;

    @Parameter(property = "hawtio.testName")
    private String testName;

    /**
     * The directory containing generated test classes of the project being tested. This will be included at the
     * beginning of the test classpath.
     */
    @Parameter( defaultValue = "${project.build.testOutputDirectory}" )
    protected File testClassesDirectory;

    private JUnitService jUnitService = new DefaultJUnitService();