Skip to content

Commit 6eea108

Browse files
committed
Move ProcessStarter to separate source set to allow reuse
1 parent d9ba9b4 commit 6eea108

23 files changed

+68
-31
lines changed

platform-tests/platform-tests.gradle.kts

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
2+
import junitbuild.extensions.capitalized
13
import org.gradle.api.tasks.PathSensitivity.NONE
24
import org.gradle.api.tasks.PathSensitivity.RELATIVE
35
import org.gradle.internal.os.OperatingSystem
@@ -9,6 +11,18 @@ plugins {
911
id("junitbuild.jmh-conventions")
1012
}
1113

14+
val processStarter by sourceSets.creating {
15+
java {
16+
srcDir("src/processStarter/java")
17+
}
18+
}
19+
20+
java {
21+
registerFeature(processStarter.name) {
22+
usingSourceSet(processStarter)
23+
}
24+
}
25+
1226
dependencies {
1327
// --- Things we are testing --------------------------------------------------
1428
testImplementation(projects.junitPlatformCommons)
@@ -37,16 +51,32 @@ dependencies {
3751
testImplementation(libs.bundles.xmlunit)
3852
testImplementation(testFixtures(projects.junitJupiterApi))
3953
testImplementation(testFixtures(projects.junitPlatformReporting))
54+
testImplementation(projects.platformTests) {
55+
capabilities {
56+
requireFeature("process-starter")
57+
}
58+
}
4059

4160
// --- Test run-time dependencies ---------------------------------------------
4261
testRuntimeOnly(projects.junitVintageEngine)
4362
testRuntimeOnly(libs.groovy4) {
4463
because("`ReflectionUtilsTests.findNestedClassesWithInvalidNestedClassFile` needs it")
4564
}
4665

47-
// --- https://openjdk.java.net/projects/code-tools/jmh/ -----------------------
66+
// --- https://openjdk.java.net/projects/code-tools/jmh/ ----------------------
4867
jmh(projects.junitJupiterApi)
4968
jmh(libs.junit4)
69+
70+
// --- ProcessStarter dependencies --------------------------------------------
71+
processStarter.implementationConfigurationName(libs.groovy4) {
72+
because("it provides convenience methods to handle process output")
73+
}
74+
processStarter.implementationConfigurationName(libs.commons.io) {
75+
because("it uses TeeOutputStream")
76+
}
77+
processStarter.implementationConfigurationName(libs.opentest4j) {
78+
because("it throws TestAbortedException")
79+
}
5080
}
5181

5282
jmh {
@@ -80,6 +110,12 @@ tasks {
80110
includeTags("junit4")
81111
}
82112
}
113+
named<JavaCompile>(processStarter.compileJavaTaskName).configure {
114+
options.release = 21
115+
}
116+
named<Checkstyle>("checkstyle${processStarter.name.capitalized()}").configure {
117+
config = resources.text.fromFile(checkstyle.configDirectory.file("checkstyleMain.xml"))
118+
}
83119
}
84120

85121
eclipse {

platform-tooling-support-tests/src/main/java/platform/tooling/support/process/ProcessResult.java renamed to platform-tests/src/processStarter/java/org/junit/platform/tests/process/ProcessResult.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* https://www.eclipse.org/legal/epl-v20.html
99
*/
1010

11-
package platform.tooling.support.process;
11+
package org.junit.platform.tests.process;
1212

1313
import java.util.List;
1414

platform-tooling-support-tests/src/main/java/platform/tooling/support/process/ProcessStarter.java renamed to platform-tests/src/processStarter/java/org/junit/platform/tests/process/ProcessStarter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* https://www.eclipse.org/legal/epl-v20.html
99
*/
1010

11-
package platform.tooling.support.process;
11+
package org.junit.platform.tests.process;
1212

1313
import java.io.ByteArrayOutputStream;
1414
import java.io.IOException;

platform-tooling-support-tests/src/main/java/platform/tooling/support/process/WatchedOutput.java renamed to platform-tests/src/processStarter/java/org/junit/platform/tests/process/WatchedOutput.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* https://www.eclipse.org/legal/epl-v20.html
99
*/
1010

11-
package platform.tooling.support.process;
11+
package org.junit.platform.tests.process;
1212

1313
import java.io.ByteArrayOutputStream;
1414
import java.nio.charset.Charset;

platform-tooling-support-tests/src/main/java/platform/tooling/support/process/WatchedProcess.java renamed to platform-tests/src/processStarter/java/org/junit/platform/tests/process/WatchedProcess.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* https://www.eclipse.org/legal/epl-v20.html
99
*/
1010

11-
package platform.tooling.support.process;
11+
package org.junit.platform.tests.process;
1212

1313
public class WatchedProcess {
1414

platform-tooling-support-tests/src/main/java/platform/tooling/support/process/package-info.java renamed to platform-tests/src/processStarter/java/org/junit/platform/tests/process/package-info.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
* @since 1.12
55
*/
66

7-
package platform.tooling.support.process;
7+
package org.junit.platform.tests.process;

platform-tooling-support-tests/platform-tooling-support-tests.gradle.kts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,13 @@ dependencies {
4747
implementation(libs.commons.io) {
4848
because("moving/deleting directory trees")
4949
}
50-
implementation(libs.groovy4) {
51-
because("it provides convenience methods to handle process output")
50+
implementation(projects.platformTests) {
51+
capabilities {
52+
requireFeature("process-starter")
53+
}
5254
}
5355
implementation(projects.junitJupiterApi) {
54-
because("it throws TestAbortedException to abort tests and uses the OS enum")
56+
because("it uses the OS enum to support Windows")
5557
}
5658

5759
testImplementation(libs.archunit) {

platform-tooling-support-tests/src/main/java/platform/tooling/support/process/ProcessStarters.java renamed to platform-tooling-support-tests/src/main/java/platform/tooling/support/ProcessStarters.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,15 @@
88
* https://www.eclipse.org/legal/epl-v20.html
99
*/
1010

11-
package platform.tooling.support.process;
11+
package platform.tooling.support;
1212

1313
import java.nio.file.Path;
1414
import java.util.Optional;
1515

1616
import org.junit.jupiter.api.condition.OS;
17+
import org.junit.platform.tests.process.ProcessStarter;
1718
import org.opentest4j.TestAbortedException;
1819

19-
import platform.tooling.support.Helper;
20-
2120
public class ProcessStarters {
2221

2322
public static ProcessStarter java() {

platform-tooling-support-tests/src/test/java/platform/tooling/support/tests/AntStarterTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import org.junit.jupiter.api.Timeout;
2424
import org.junit.jupiter.api.io.TempDir;
2525

26-
import platform.tooling.support.process.ProcessStarters;
26+
import platform.tooling.support.ProcessStarters;
2727

2828
/**
2929
* @since 1.3

platform-tooling-support-tests/src/test/java/platform/tooling/support/tests/GraalVmStarterTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import org.junit.jupiter.api.io.TempDir;
2626

2727
import platform.tooling.support.MavenRepo;
28-
import platform.tooling.support.process.ProcessStarters;
28+
import platform.tooling.support.ProcessStarters;
2929

3030
/**
3131
* @since 1.9.1

0 commit comments

Comments
 (0)