Skip to content

Commit

Permalink
Move ProcessStarter to separate source set to allow reuse
Browse files Browse the repository at this point in the history
  • Loading branch information
marcphilipp committed Nov 28, 2024
1 parent 79c2cdc commit 33679e7
Show file tree
Hide file tree
Showing 23 changed files with 68 additions and 31 deletions.
38 changes: 37 additions & 1 deletion platform-tests/platform-tests.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@

import junitbuild.extensions.capitalized
import org.gradle.api.tasks.PathSensitivity.NONE
import org.gradle.api.tasks.PathSensitivity.RELATIVE
import org.gradle.internal.os.OperatingSystem
Expand All @@ -9,6 +11,18 @@ plugins {
id("junitbuild.jmh-conventions")
}

val processStarter by sourceSets.creating {
java {
srcDir("src/processStarter/java")
}
}

java {
registerFeature(processStarter.name) {
usingSourceSet(processStarter)
}
}

dependencies {
// --- Things we are testing --------------------------------------------------
testImplementation(projects.junitPlatformCommons)
Expand Down Expand Up @@ -37,16 +51,32 @@ dependencies {
testImplementation(libs.bundles.xmlunit)
testImplementation(testFixtures(projects.junitJupiterApi))
testImplementation(testFixtures(projects.junitPlatformReporting))
testImplementation(projects.platformTests) {
capabilities {
requireFeature("process-starter")
}
}

// --- Test run-time dependencies ---------------------------------------------
testRuntimeOnly(projects.junitVintageEngine)
testRuntimeOnly(libs.groovy4) {
because("`ReflectionUtilsTests.findNestedClassesWithInvalidNestedClassFile` needs it")
}

// --- https://openjdk.java.net/projects/code-tools/jmh/ -----------------------
// --- https://openjdk.java.net/projects/code-tools/jmh/ ----------------------
jmh(projects.junitJupiterApi)
jmh(libs.junit4)

// --- ProcessStarter dependencies --------------------------------------------
processStarter.implementationConfigurationName(libs.groovy4) {
because("it provides convenience methods to handle process output")
}
processStarter.implementationConfigurationName(libs.commons.io) {
because("it uses TeeOutputStream")
}
processStarter.implementationConfigurationName(libs.opentest4j) {
because("it throws TestAbortedException")
}
}

jmh {
Expand Down Expand Up @@ -80,6 +110,12 @@ tasks {
includeTags("junit4")
}
}
named<JavaCompile>(processStarter.compileJavaTaskName).configure {
options.release = 21
}
named<Checkstyle>("checkstyle${processStarter.name.capitalized()}").configure {
config = resources.text.fromFile(checkstyle.configDirectory.file("checkstyleMain.xml"))
}
}

eclipse {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* https://www.eclipse.org/legal/epl-v20.html
*/

package platform.tooling.support.process;
package org.junit.platform.tests.process;

import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* https://www.eclipse.org/legal/epl-v20.html
*/

package platform.tooling.support.process;
package org.junit.platform.tests.process;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* https://www.eclipse.org/legal/epl-v20.html
*/

package platform.tooling.support.process;
package org.junit.platform.tests.process;

import java.io.ByteArrayOutputStream;
import java.nio.charset.Charset;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* https://www.eclipse.org/legal/epl-v20.html
*/

package platform.tooling.support.process;
package org.junit.platform.tests.process;

public class WatchedProcess {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@
* @since 1.12
*/

package platform.tooling.support.process;
package org.junit.platform.tests.process;
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,13 @@ dependencies {
implementation(libs.commons.io) {
because("moving/deleting directory trees")
}
implementation(libs.groovy4) {
because("it provides convenience methods to handle process output")
implementation(projects.platformTests) {
capabilities {
requireFeature("process-starter")
}
}
implementation(projects.junitJupiterApi) {
because("it throws TestAbortedException to abort tests and uses the OS enum")
because("it uses the OS enum to support Windows")
}

testImplementation(libs.archunit) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,15 @@
* https://www.eclipse.org/legal/epl-v20.html
*/

package platform.tooling.support.process;
package platform.tooling.support;

import java.nio.file.Path;
import java.util.Optional;

import org.junit.jupiter.api.condition.OS;
import org.junit.platform.tests.process.ProcessStarter;
import org.opentest4j.TestAbortedException;

import platform.tooling.support.Helper;

public class ProcessStarters {

public static ProcessStarter java() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import org.junit.jupiter.api.Timeout;
import org.junit.jupiter.api.io.TempDir;

import platform.tooling.support.process.ProcessStarters;
import platform.tooling.support.ProcessStarters;

/**
* @since 1.3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import org.junit.jupiter.api.io.TempDir;

import platform.tooling.support.MavenRepo;
import platform.tooling.support.process.ProcessStarters;
import platform.tooling.support.ProcessStarters;

/**
* @since 1.9.1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

import platform.tooling.support.Helper;
import platform.tooling.support.MavenRepo;
import platform.tooling.support.process.ProcessStarters;
import platform.tooling.support.ProcessStarters;

/**
* @since 1.3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

import platform.tooling.support.Helper;
import platform.tooling.support.MavenRepo;
import platform.tooling.support.process.ProcessStarters;
import platform.tooling.support.ProcessStarters;

/**
* @since 1.3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

import platform.tooling.support.Helper;
import platform.tooling.support.MavenRepo;
import platform.tooling.support.process.ProcessStarters;
import platform.tooling.support.ProcessStarters;

/**
* @since 1.3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

import platform.tooling.support.Helper;
import platform.tooling.support.MavenRepo;
import platform.tooling.support.process.ProcessStarters;
import platform.tooling.support.ProcessStarters;

/**
* @since 1.3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assumptions.assumeTrue;
import static platform.tooling.support.process.ProcessStarters.currentJdkHome;
import static platform.tooling.support.ProcessStarters.currentJdkHome;
import static platform.tooling.support.tests.Projects.copyToWorkspace;

import java.nio.file.Path;
Expand All @@ -25,7 +25,7 @@

import platform.tooling.support.Helper;
import platform.tooling.support.MavenRepo;
import platform.tooling.support.process.ProcessStarters;
import platform.tooling.support.ProcessStarters;

/**
* @since 1.4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

import platform.tooling.support.Helper;
import platform.tooling.support.MavenRepo;
import platform.tooling.support.process.ProcessStarters;
import platform.tooling.support.ProcessStarters;

/**
* @since 1.3
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

import platform.tooling.support.Helper;
import platform.tooling.support.MavenRepo;
import platform.tooling.support.process.ProcessStarters;
import platform.tooling.support.ProcessStarters;

/**
* @since 1.9.2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@
import org.junit.platform.launcher.LauncherConstants;

import platform.tooling.support.MavenRepo;
import platform.tooling.support.ProcessStarters;
import platform.tooling.support.ThirdPartyJars;
import platform.tooling.support.process.ProcessStarters;

/**
* @since 1.5
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
import org.junit.jupiter.api.io.TempDir;

import platform.tooling.support.MavenRepo;
import platform.tooling.support.process.ProcessStarters;
import platform.tooling.support.ProcessStarters;

/**
* @since 1.4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

import platform.tooling.support.Helper;
import platform.tooling.support.MavenRepo;
import platform.tooling.support.process.ProcessStarters;
import platform.tooling.support.ProcessStarters;

/**
* @since 1.11
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,13 @@
import org.junit.jupiter.api.TestMethodOrder;
import org.junit.jupiter.api.io.TempDir;
import org.junit.jupiter.api.parallel.Execution;
import org.junit.platform.tests.process.ProcessResult;
import org.opentest4j.TestAbortedException;

import platform.tooling.support.Helper;
import platform.tooling.support.MavenRepo;
import platform.tooling.support.ProcessStarters;
import platform.tooling.support.ThirdPartyJars;
import platform.tooling.support.process.ProcessResult;
import platform.tooling.support.process.ProcessStarters;

/**
* @since 1.4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@
import org.junit.jupiter.api.io.TempDir;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
import org.junit.platform.tests.process.ProcessResult;
import org.opentest4j.TestAbortedException;

import platform.tooling.support.Helper;
import platform.tooling.support.MavenRepo;
import platform.tooling.support.process.ProcessResult;
import platform.tooling.support.process.ProcessStarters;
import platform.tooling.support.ProcessStarters;

class VintageGradleIntegrationTests {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@
import org.junit.jupiter.api.io.TempDir;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
import org.junit.platform.tests.process.ProcessResult;
import org.opentest4j.TestAbortedException;

import platform.tooling.support.Helper;
import platform.tooling.support.MavenRepo;
import platform.tooling.support.process.ProcessResult;
import platform.tooling.support.process.ProcessStarters;
import platform.tooling.support.ProcessStarters;

class VintageMavenIntegrationTests {

Expand Down

0 comments on commit 33679e7

Please sign in to comment.