[netbeans] branch master updated: Fixing project loading issues with micronaut complex project.
This is an automated email from the ASF dual-hosted git repository. lkishalmi 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 861bbffd98 Fixing project loading issues with micronaut complex project. 861bbffd98 is described below commit 861bbffd98935fe96149472fef28bba7e7bf01cc Author: Svata Dedic AuthorDate: Mon Dec 19 19:15:36 2022 +0100 Fixing project loading issues with micronaut complex project. --- .../gradle/tooling/NbProjectInfoBuilder.java | 22 ++ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/NbProjectInfoBuilder.java b/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/NbProjectInfoBuilder.java index 0fd561a2cd..b17933e692 100644 --- a/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/NbProjectInfoBuilder.java +++ b/extide/gradle/netbeans-gradle-tooling/src/main/java/org/netbeans/modules/gradle/tooling/NbProjectInfoBuilder.java @@ -186,7 +186,7 @@ class NbProjectInfoBuilder { public ValueAndType(Class type, Object value) { this.type = type; -this.value = Optional.of(value); +this.value = Optional.ofNullable(value); } public ValueAndType(Class type) { @@ -290,7 +290,7 @@ class NbProjectInfoBuilder { Map taskProperties = new HashMap<>(); Map taskPropertyTypes = new HashMap<>(); -Map taskList = project.getTasks().getAsMap(); +Map taskList = new HashMap<>(project.getTasks().getAsMap()); for (String s : taskList.keySet()) { Task task = taskList.get(s); Class taskClass = task.getClass(); @@ -307,7 +307,7 @@ class NbProjectInfoBuilder { private void detectTaskDependencies(NbProjectInfoModel model) { Map tasks = new HashMap<>(); -Map taskList = project.getTasks().getAsMap(); +Map taskList = new HashMap<>(project.getTasks().getAsMap()); for (String s : taskList.keySet()) { Task task = taskList.get(s); Map taskInfo = new HashMap<>(); @@ -684,7 +684,7 @@ class NbProjectInfoBuilder { } NamedDomainObjectContainer nc = (NamedDomainObjectContainer)value; -Map m = nc.getAsMap(); +Map m = new HashMap<>(nc.getAsMap()); List ss = new ArrayList<>(m.keySet()); propertyTypes.put(prefix + propName + COLLECTION_KEYS_MARKER, String.join(";;", ss)); for (String k : m.keySet()) { @@ -1000,14 +1000,12 @@ class NbProjectInfoBuilder { List compilerArgs; -try { -compilerArgs = (List) getProperty(compileTask, "options", "allCompilerArgs"); -} catch (Throwable ex) { -try { -compilerArgs = (List) getProperty(compileTask, "options", "compilerArgs"); -} catch (Throwable ex2) { -compilerArgs = (List) getProperty(compileTask, "kotlinOptions", "freeCompilerArgs"); -} +compilerArgs = (List) getProperty(compileTask, "options", "allCompilerArgs"); +if (compilerArgs == null) { +compilerArgs = (List) getProperty(compileTask, "options", "compilerArgs"); +} +if (compilerArgs == null) { +compilerArgs = (List) getProperty(compileTask, "kotlinOptions", "freeCompilerArgs"); } model.getInfo().put(propBase + lang + "_compiler_args", new ArrayList<>(compilerArgs)); } - 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
[netbeans] branch master updated: globally enable maven stacktrace processing.
This is an automated email from the ASF dual-hosted git repository. mbien 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 5a46d6d4c6 globally enable maven stacktrace processing. new a959587808 Merge pull request #5116 from mbien/global-stacktrace-parsing 5a46d6d4c6 is described below commit 5a46d6d4c685677f5d877eae165fdb8fb5064d4e Author: Michael Bien AuthorDate: Thu Dec 15 23:48:05 2022 +0100 globally enable maven stacktrace processing. --- .../output/DefaultOutputProcessorFactory.java | 4 +- .../output/ExecPluginOutputListenerProvider.java | 51 +++- ...der.java => JavaStacktraceOutputProcessor.java} | 55 +++--- 3 files changed, 35 insertions(+), 75 deletions(-) diff --git a/java/maven/src/org/netbeans/modules/maven/output/DefaultOutputProcessorFactory.java b/java/maven/src/org/netbeans/modules/maven/output/DefaultOutputProcessorFactory.java index 18f923c53b..7f57110442 100644 --- a/java/maven/src/org/netbeans/modules/maven/output/DefaultOutputProcessorFactory.java +++ b/java/maven/src/org/netbeans/modules/maven/output/DefaultOutputProcessorFactory.java @@ -33,13 +33,13 @@ import org.openide.util.lookup.ServiceProvider; public class DefaultOutputProcessorFactory implements ContextOutputProcessorFactory { @Override public Set createProcessorsSet(Project project) { -Set toReturn = new HashSet(); +Set toReturn = new HashSet<>(); if (project != null) { toReturn.add(new JavadocOutputProcessor()); toReturn.add(new TestOutputListenerProvider()); toReturn.add(new SiteOutputProcessor(project)); NbMavenProjectImpl nbprj = project.getLookup().lookup(NbMavenProjectImpl.class); -toReturn.add(new ExecPluginOutputListenerProvider(nbprj)); +toReturn.add(new JavaStacktraceOutputProcessor(nbprj)); toReturn.add(new DependencyAnalyzeOutputProcessor(nbprj)); } return toReturn; diff --git a/java/maven/src/org/netbeans/modules/maven/output/ExecPluginOutputListenerProvider.java b/java/maven/src/org/netbeans/modules/maven/output/ExecPluginOutputListenerProvider.java index 2da6103946..fa90801d70 100644 --- a/java/maven/src/org/netbeans/modules/maven/output/ExecPluginOutputListenerProvider.java +++ b/java/maven/src/org/netbeans/modules/maven/output/ExecPluginOutputListenerProvider.java @@ -19,64 +19,25 @@ package org.netbeans.modules.maven.output; import org.netbeans.modules.maven.NbMavenProjectImpl; -import org.netbeans.modules.maven.api.output.OutputProcessor; -import org.netbeans.modules.maven.api.output.OutputUtils; -import org.netbeans.modules.maven.api.output.OutputVisitor; -import org.netbeans.api.java.classpath.ClassPath; -import org.netbeans.api.project.Project; -import org.netbeans.modules.maven.api.classpath.ProjectSourcesClassPathProvider; -import org.netbeans.spi.java.classpath.support.ClassPathSupport; -import org.openide.windows.OutputListener; - - /** * exec plugin output processing, just handle stacktraces. * @author Milos Kleint + * + * @deprecated use JavaStacktraceOutputListenerProvider instead */ -public class ExecPluginOutputListenerProvider implements OutputProcessor { - +public class ExecPluginOutputListenerProvider extends JavaStacktraceOutputProcessor { + private static final String[] EXECGOALS = new String[] { "mojo-execute#exec:exec", //NOI18N "mojo-execute#exec:java", //NOI18N "mojo-execute#javafx:run" //NOI18N }; -private final NbMavenProjectImpl project; - + /** Creates a new instance of ExecPluginOutputListenerProvider */ public ExecPluginOutputListenerProvider(NbMavenProjectImpl proj) { -project = proj; -} - -@Override -public void processLine(String line, OutputVisitor visitor) { -OutputVisitor.Context context = visitor.getContext(); -Project prj = project; -if (context != null && context.getCurrentProject() != null) { -prj = context.getCurrentProject(); -} -OutputListener list = OutputUtils.matchStackTraceLine(line, prj); -if (list != null) { -visitor.setOutputListener(list); -} +super(proj, EXECGOALS); } -@Override -public String[] getRegisteredOutputSequences() { -return EXECGOALS; -} - -@Override -public void sequenceStart(String sequenceId, OutputVisitor visitor) { -} - -@Override -public void sequenceEnd(String sequenceId, OutputVisitor visitor) { -} - -@Override -public void sequenceFail(String sequenceId, OutputVisitor visitor) { -} - } diff --git a/java/maven/src/org/netbeans/modules/maven/output/ExecPluginOutputListenerProvider.java
[netbeans] branch master updated: fix output window stacktrace parsing when mvnd is used.
This is an automated email from the ASF dual-hosted git repository. mbien 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 b2856f4e59 fix output window stacktrace parsing when mvnd is used. new 8678d582a4 Merge pull request #5099 from mbien/mvnd-stacktrace-parsing-fix b2856f4e59 is described below commit b2856f4e59642c20c747888ff29aefa10b8b622b Author: Michael Bien AuthorDate: Mon Dec 12 22:44:24 2022 +0100 fix output window stacktrace parsing when mvnd is used. mvnd is using WARN instead of WARNING and prints the output type (stderr|stdout) on exceptions. Improvements to some regex patterns so that the faster match() can be used instead of find(), which improves parsing speed of long lines. --- .../modules/maven/api/output/OutputUtils.java | 13 +++--- .../maven/execute/CommandLineOutputHandler.java| 52 +- .../output/DependencyAnalyzeOutputProcessor.java | 3 +- .../maven/output/JavaOutputListenerProvider.java | 2 +- 4 files changed, 50 insertions(+), 20 deletions(-) diff --git a/java/maven/src/org/netbeans/modules/maven/api/output/OutputUtils.java b/java/maven/src/org/netbeans/modules/maven/api/output/OutputUtils.java index 88a8e09a2b..ae905247fd 100644 --- a/java/maven/src/org/netbeans/modules/maven/api/output/OutputUtils.java +++ b/java/maven/src/org/netbeans/modules/maven/api/output/OutputUtils.java @@ -50,7 +50,9 @@ import org.openide.windows.OutputListener; * @author mkleint */ public final class OutputUtils { -public static final Pattern linePattern = Pattern.compile("(?:\\[catch\\])?\\sat (.*)\\((?:Native Method|(.*)\\.java\\:(\\d+))\\)"); //NOI18N + +// example: '[WARN]at java.base/java.util.ImmutableCollections.uoe(ImmutableCollections.java:142)' +public static final Pattern linePattern = Pattern.compile("(?:\\[\\w+\\])?\\s*(?:\\[catch\\]\\s)?at\\s(.*)\\((?:Native Method|(.*)\\.java\\:(\\d+))\\)"); //NOI18N private static final Map projectStacktraceListeners = new WeakHashMap<>(); private static final Map fileStacktraceListeners = new WeakHashMap<>(); @@ -115,13 +117,10 @@ public final class OutputUtils { return null; } -/** - * - * @param line - * @param classPath - * @return - */ private static StacktraceAttributes matchStackTraceLine(String line) { +if (!line.endsWith(")")) { +return null; // fast path -> not a stack trace +} Matcher match = linePattern.matcher(line); if (match.matches() && match.groupCount() == 3) { String method = match.group(1); diff --git a/java/maven/src/org/netbeans/modules/maven/execute/CommandLineOutputHandler.java b/java/maven/src/org/netbeans/modules/maven/execute/CommandLineOutputHandler.java index ea8bcf98d0..0e4f54fff8 100644 --- a/java/maven/src/org/netbeans/modules/maven/execute/CommandLineOutputHandler.java +++ b/java/maven/src/org/netbeans/modules/maven/execute/CommandLineOutputHandler.java @@ -78,16 +78,25 @@ public class CommandLineOutputHandler extends AbstractOutputHandler { private static final RequestProcessor PROCESSOR = new RequestProcessor("Maven ComandLine Output Redirection", Integer.getInteger("maven.concurrent.builds", 16) * 2); //NOI18N private static final Logger LOG = Logger.getLogger(CommandLineOutputHandler.class.getName()); private InputOutput inputOutput; -private static final Pattern linePattern = Pattern.compile("\\[(DEBUG|INFO|WARNING|ERROR|FATAL)\\] (.*)"); // NOI18N + +/* + * example: '[WARN] [stderr] Exception in thread "main" java.lang.UnsupportedOperationException' + * @see Output#mapLevel for details + */ +private static final Pattern linePattern = Pattern.compile("(\\[(DEBUG|TRACE|INFO|WARN|WARNING|ERROR|FATAL)\\]\\s)?(?:\\[(?:stderr|stdout)\\]\\s)?(.*)"); // NOI18N + public static final Pattern startPatternM2 = Pattern.compile("\\[INFO\\] \\[([\\w]*):([\\w]*)[ ]?.*\\]"); // NOI18N public static final Pattern startPatternM3 = Pattern.compile("\\[INFO\\] --- (\\S+):\\S+:(\\S+)(?: [(]\\S+[)])? @ \\S+ ---"); // ExecutionEventLogger.mojoStarted NOI18N + private static final Pattern mavenSomethingPlugin = Pattern.compile("maven-(.+)-plugin"); // NOI18N private static final Pattern somethingMavenPlugin = Pattern.compile("(.+)-maven-plugin"); // NOI18N + /** @see org.apache.maven.cli.ExecutionEventLogger#logReactorSummary */ static final Pattern reactorFailure = Pattern.compile("\\[INFO\\] (.+) [.]* FAILURE \\[.+\\]"); // NOI18N -private static final Pattern stackTraceElement = OutputUtils.linePattern; - public static final Pattern reactorSummaryLine = Pattern.compile("(.+) [.]* (FAILURE|SUCCESS) (\\[.+\\])?"); // NOI18N + +private static final Pattern stackTraceElement =