Search in sources :

Example 1 with BinaryTasks

use of org.gradle.platform.base.BinaryTasks in project gradle by gradle.

the class JvmTestSuiteBasePlugin method createJvmTestSuiteTasks.

@BinaryTasks
void createJvmTestSuiteTasks(ModelMap<Task> tasks, final JvmTestSuiteBinarySpecInternal binary, @Path("buildDir") final File buildDir) {
    final JvmAssembly jvmAssembly = ((WithJvmAssembly) binary).getAssembly();
    tasks.create(testTaskNameFor(binary), Test.class, new Action<Test>() {

        @Override
        public void execute(final Test test) {
            test.setGroup(LifecycleBasePlugin.VERIFICATION_GROUP);
            test.setDescription(String.format("Runs %s.", WordUtils.uncapitalize(binary.getDisplayName())));
            test.dependsOn(jvmAssembly);
            test.setTestClassesDir(binary.getClassesDir());
            test.setClasspath(binary.getRuntimeClasspath());
            configureReports((JvmTestSuiteBinarySpecInternal) binary, test);
        }

        private void configureReports(JvmTestSuiteBinarySpecInternal binary, Test test) {
            // todo: improve configuration of reports
            TestTaskReports reports = test.getReports();
            File reportsDirectory = new File(buildDir, "reports");
            File reportsOutputDirectory = binary.getNamingScheme().getOutputDirectory(reportsDirectory);
            File htmlDir = new File(reportsOutputDirectory, "tests");
            File xmlDir = new File(buildDir, "test-results");
            File xmlDirOutputDirectory = binary.getNamingScheme().getOutputDirectory(xmlDir);
            File binDir = new File(xmlDirOutputDirectory, "binary");
            reports.getHtml().setDestination(htmlDir);
            reports.getJunitXml().setDestination(xmlDirOutputDirectory);
            test.setBinResultsDir(binDir);
        }
    });
}
Also used : TestTaskReports(org.gradle.api.tasks.testing.TestTaskReports) WithJvmAssembly(org.gradle.jvm.internal.WithJvmAssembly) Test(org.gradle.api.tasks.testing.Test) WithJvmAssembly(org.gradle.jvm.internal.WithJvmAssembly) JvmAssembly(org.gradle.jvm.internal.JvmAssembly) JvmTestSuiteBinarySpecInternal(org.gradle.jvm.test.internal.JvmTestSuiteBinarySpecInternal) File(java.io.File) BinaryTasks(org.gradle.platform.base.BinaryTasks)

Aggregations

File (java.io.File)1 Test (org.gradle.api.tasks.testing.Test)1 TestTaskReports (org.gradle.api.tasks.testing.TestTaskReports)1 JvmAssembly (org.gradle.jvm.internal.JvmAssembly)1 WithJvmAssembly (org.gradle.jvm.internal.WithJvmAssembly)1 JvmTestSuiteBinarySpecInternal (org.gradle.jvm.test.internal.JvmTestSuiteBinarySpecInternal)1 BinaryTasks (org.gradle.platform.base.BinaryTasks)1