This is an automated email from the ASF dual-hosted git repository.

sdedic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git


The following commit(s) were added to refs/heads/master by this push:
     new 78778ee  [NETBEANS-3733] Suggest surefire 2.22 for JUnit5 tests.
     new cd600b0  Merge pull request #2144 from 
sdedic/bugfix/NETBEANS-3733_surefire-junit5
78778ee is described below

commit 78778ee66febfb65da6e9e1f1f3c19b48581bb6f
Author: Svata Dedic <svatopluk.de...@oracle.com>
AuthorDate: Sun May 17 10:17:48 2020 +0200

    [NETBEANS-3733] Suggest surefire 2.22 for JUnit5 tests.
---
 .../netbeans/modules/maven/ActionProviderImpl.java | 29 +++++++++++++++++++---
 1 file changed, 25 insertions(+), 4 deletions(-)

diff --git a/java/maven/src/org/netbeans/modules/maven/ActionProviderImpl.java 
b/java/maven/src/org/netbeans/modules/maven/ActionProviderImpl.java
index a3aac55..a9dd035 100644
--- a/java/maven/src/org/netbeans/modules/maven/ActionProviderImpl.java
+++ b/java/maven/src/org/netbeans/modules/maven/ActionProviderImpl.java
@@ -211,6 +211,8 @@ public class ActionProviderImpl implements ActionProvider {
     
     //TODO these effectively need updating once in a while
     private static final String SUREFIRE_VERSION_SAFE = "2.15"; //2.16 is 
broken
+    // surefire 2.22 is needed for JUnit 5
+    private static final String SUREFIRE_VERSION_SAFE_5 = "2.22.0";
     private static final String JUNIT_VERSION_SAFE = "4.11";
 
     @Override public void invokeAction(final String action, final Lookup 
lookup) {
@@ -288,14 +290,17 @@ public class ActionProviderImpl implements ActionProvider 
{
 
     @Messages({
         "run_single_method_disabled=Surefire 2.8+ with JUnit 4.8+ or TestNG 
needed to run a single test method.",
+        "run_single_method_disabled5=Surefire 2.22.0 is required to run a 
single test method with JUnit5.",
         "TIT_RequiresUpdateOfPOM=Feature requires update of POM",
-        "TXT_Run_Single_method=<html>Executing single test method requires 
Surefire 2.8+ and JUnit in version 4.8 and bigger. <br/><br/>Update your 
pom.xml?</html>"
+        "TXT_Run_Single_method=<html>Executing single test method requires 
Surefire 2.8+ and JUnit in version 4.8 and bigger. <br/><br/>Update your 
pom.xml?</html>",
+        "TXT_Run_Single_method5=<html>Executing single test method with JUnit 
5 requires Surefire 2.22.0. <br/><br/>Update your pom.xml?</html>"
     })    
     private boolean checkSurefire(final String action) {
         if (action.equals(SingleMethod.COMMAND_RUN_SINGLE_METHOD) || 
action.equals(SingleMethod.COMMAND_DEBUG_SINGLE_METHOD)) {
             if (!runSingleMethodEnabled()) {
+                boolean ju5 = usingJUnit5();
                 if 
(NbPreferences.forModule(ActionProviderImpl.class).getBoolean(SHOW_SUREFIRE_WARNING,
 true)) {
-                    WarnPanel pnl = new WarnPanel(TXT_Run_Single_method());
+                    WarnPanel pnl = new WarnPanel(ju5 ? 
TXT_Run_Single_method5() : TXT_Run_Single_method());
                     Object o = DialogDisplayer.getDefault().notify(new 
NotifyDescriptor.Confirmation(pnl, TIT_RequiresUpdateOfPOM(), 
NotifyDescriptor.YES_NO_OPTION));
                     if (pnl.disabledWarning()) {
                         
NbPreferences.forModule(ActionProviderImpl.class).putBoolean(SHOW_SUREFIRE_WARNING,
 false);
@@ -304,9 +309,24 @@ public class ActionProviderImpl implements ActionProvider {
                         RequestProcessor.getDefault().post(new Runnable() {
                             @Override
                             public void run() {
+                                String surefireVersion = null;
+                                String junitVersion = null;
+                                
+                                if (ju5 && !usingSurefire2_22()) {
+                                    surefireVersion = SUREFIRE_VERSION_SAFE_5;
+                                } else if (!usingSurefire28()) {
+                                    surefireVersion = SUREFIRE_VERSION_SAFE;
+                                }
+                                if (!ju5) {
+                                    junitVersion = usingJUnit4() || 
usingTestNG() ? null : JUNIT_VERSION_SAFE;
+                                }
+                                
                                 Utilities.performPOMModelOperations(
                                         
proj.getProjectDirectory().getFileObject("pom.xml"),
-                                        Collections.singletonList(new 
UpdateSurefireOperation(usingSurefire28() ? null : SUREFIRE_VERSION_SAFE, 
usingJUnit4() || usingTestNG() ? null : JUNIT_VERSION_SAFE)));
+                                        Collections.singletonList(new 
UpdateSurefireOperation(
+                                                surefireVersion, junitVersion
+                                        ))
+                                );
                                 //this appears to run too fast, before the 
resolved model is updated.
 //                                SwingUtilities.invokeLater(new Runnable() {
 //                                    @Override
@@ -319,7 +339,8 @@ public class ActionProviderImpl implements ActionProvider {
                         return false;
                     }
                 }
-                
StatusDisplayer.getDefault().setStatusText(run_single_method_disabled());
+                StatusDisplayer.getDefault().setStatusText(
+                        ju5 ? run_single_method_disabled5() : 
run_single_method_disabled());
                 return false;
             }
         }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org
For additional commands, e-mail: commits-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to