Skip to content

Commit b74fb23

Browse files
authored
Expose JUnit VM runner configuration to subclasses (#3079)
* Expose JUnit VM runner configuration to subclasses Allow launch delegate subclasses to reuse the fully resolved VMRunnerConfiguration without reflection or duplicating the launch orchestration. Copilot-Session: c3cd113b-dad4-4d4d-90c2-60abfd204405 Signed-off-by: wenytang-ms <wenyutang@microsoft.com> * Bump JUnit unit test feature version Update the containing feature after the org.eclipse.jdt.ui.unittest.junit bundle minor version increase. Copilot-Session: c3cd113b-dad4-4d4d-90c2-60abfd204405 Signed-off-by: wenytang-ms <wenyutang@microsoft.com> --------- Signed-off-by: wenytang-ms <wenyutang@microsoft.com>
1 parent 1d2e5a4 commit b74fb23

6 files changed

Lines changed: 32 additions & 6 deletions

File tree

org.eclipse.jdt.junit.core/META-INF/MANIFEST.MF

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Automatic-Module-Name: org.eclipse.jdt.junit.core
33
Bundle-ManifestVersion: 2
44
Bundle-Name: %pluginName
55
Bundle-SymbolicName: org.eclipse.jdt.junit.core;singleton:=true
6-
Bundle-Version: 3.14.300.qualifier
6+
Bundle-Version: 3.15.0.qualifier
77
Bundle-Activator: org.eclipse.jdt.internal.junit.JUnitCorePlugin
88
Bundle-ActivationPolicy: lazy
99
Bundle-Vendor: %providerName

org.eclipse.jdt.junit.core/src/org/eclipse/jdt/junit/launcher/JUnitLaunchConfigurationDelegate.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,20 @@ public String showCommandLine(ILaunchConfiguration configuration, String mode, I
124124
}
125125
}
126126

127-
private VMRunnerConfiguration getVMRunnerConfiguration(ILaunchConfiguration configuration, ILaunch launch, String mode, IProgressMonitor monitor) throws CoreException {
127+
/**
128+
* Creates the VM runner configuration for the given JUnit launch configuration.
129+
* Subclasses can use this method to obtain the fully resolved launch configuration
130+
* while customizing the existing protected launch hooks.
131+
*
132+
* @param configuration the launch configuration
133+
* @param launch the launch
134+
* @param mode the launch mode
135+
* @param monitor the progress monitor
136+
* @return the VM runner configuration, or {@code null} if the operation was canceled
137+
* @throws CoreException if the launch configuration cannot be resolved
138+
* @since 3.15
139+
*/
140+
protected final VMRunnerConfiguration getVMRunnerConfiguration(ILaunchConfiguration configuration, ILaunch launch, String mode, IProgressMonitor monitor) throws CoreException {
128141
SubMonitor subMon= SubMonitor.convert(monitor, JUnitMessages.JUnitLaunchConfigurationDelegate_verifying_attriburtes_description, 4);
129142
// check for cancellation
130143
if (subMon.isCanceled()) {

org.eclipse.jdt.ui.unittest.junit.feature/feature.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<feature
33
id="org.eclipse.jdt.ui.unittest.junit.feature"
44
label="%featureName"
5-
version="1.2.200.qualifier"
5+
version="1.2.300.qualifier"
66
provider-name="%provider"
77
license-feature="org.eclipse.license"
88
license-feature-version="0.0.0">

org.eclipse.jdt.ui.unittest.junit/META-INF/MANIFEST.MF

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Automatic-Module-Name: org.eclipse.jdt.ui.unittest.junit
33
Bundle-ManifestVersion: 2
44
Bundle-Name: %pluginName
55
Bundle-SymbolicName: org.eclipse.jdt.ui.unittest.junit;singleton:=true
6-
Bundle-Version: 1.3.100.qualifier
6+
Bundle-Version: 1.4.0.qualifier
77
Bundle-Activator: org.eclipse.jdt.ui.unittest.junit.JUnitTestPlugin
88
Bundle-ActivationPolicy: lazy
99
Bundle-Vendor: %providerName

org.eclipse.jdt.ui.unittest.junit/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@
1818
</parent>
1919
<groupId>org.eclipse.jdt</groupId>
2020
<artifactId>org.eclipse.jdt.ui.unittest.junit</artifactId>
21-
<version>1.3.100-SNAPSHOT</version>
21+
<version>1.4.0-SNAPSHOT</version>
2222
<packaging>eclipse-plugin</packaging>
2323
</project>

org.eclipse.jdt.ui.unittest.junit/src/org/eclipse/jdt/ui/unittest/junit/launcher/JUnitLaunchConfigurationDelegate.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,20 @@ public String showCommandLine(ILaunchConfiguration configuration, String mode, I
134134
}
135135
}
136136

137-
private VMRunnerConfiguration getVMRunnerConfiguration(ILaunchConfiguration configuration, ILaunch launch,
137+
/**
138+
* Creates the VM runner configuration for the given JUnit launch configuration.
139+
* Subclasses can use this method to obtain the fully resolved launch configuration
140+
* while customizing the existing protected launch hooks.
141+
*
142+
* @param configuration the launch configuration
143+
* @param launch the launch
144+
* @param mode the launch mode
145+
* @param monitor the progress monitor
146+
* @return the VM runner configuration, or {@code null} if the operation was canceled
147+
* @throws CoreException if the launch configuration cannot be resolved
148+
* @since 1.4
149+
*/
150+
protected final VMRunnerConfiguration getVMRunnerConfiguration(ILaunchConfiguration configuration, ILaunch launch,
138151
String mode, IProgressMonitor monitor) throws CoreException {
139152
VMRunnerConfiguration runConfig = null;
140153
monitor.beginTask(MessageFormat.format("{0}...", configuration.getName()), 5); //$NON-NLS-1$

0 commit comments

Comments
 (0)