Skip to content

Fix #9337 — recognize compact -T<n> and --threads=<n> Maven flags#9382

Open
xerno wants to merge 1 commit intoapache:masterfrom
xerno:fix-9337-compact-threads-flag
Open

Fix #9337 — recognize compact -T<n> and --threads=<n> Maven flags#9382
xerno wants to merge 1 commit intoapache:masterfrom
xerno:fix-9337-compact-threads-flag

Conversation

@xerno
Copy link
Copy Markdown

@xerno xerno commented May 6, 2026

NetBeans only detected the spaced forms (-T 2, --threads 2) as parallel builds. The compact forms (-T2) and GNU-style equals form (--threads=2) were not recognized, so for multi-module projects NetBeans kept its output tree-folding active and crashed with an NPE in CommandLineOutputHandler.trimTree when concurrent module events arrived (Cannot read field "type" because "start" is null).

Extracts a threadsArgValue() helper that recognizes all four forms and uses it from both isMultiThreadedMaven and isMultiThreadedMvnd.

Side effects, both intentional improvements

  • mvnd: compact -T1 now correctly flips to single-threaded mode (previously only the spaced -T 1 did).
  • A non-numeric suffix after -T (e.g. -Tfoo) is now reported as the threads value verbatim; Maven itself rejects such input.

Tests

Added cases for -T2, -T10, -T1C, -T1, --threads=2, --threads=1, and a dangling -T to both MavenCommandParametersAnalyzerTest and MavenDaemonCommandParametersAnalyzerTest.


^Add meaningful description above

Click to collapse/expand PR instructions

By opening a pull request you confirm that, unless explicitly stated otherwise, the changes -

  • are all your own work, and you have the right to contribute them.
  • are contributed solely under the terms and conditions of the Apache License 2.0 (see section 5 of the license for more information).

Please make sure (eg. git log) that all commits have a valid name and email address for you in the Author field.

If you're a first time contributor, see the Contributing guidelines for more information.

If you're a committer, please label the PR before pressing "Create pull request" so that the right test jobs can run.

PR approval and merge checklist:

  1. Was this PR correctly labeled, did the right tests run? When did they run?
  2. Is this PR squashed?
  3. Are author name / email address correct? Are co-authors correctly listed? Do the commit messages need updates?
  4. Does the PR title and description still fit after the Nth iteration? Is the description sufficient to appear in the release notes?

If this PR targets the delivery branch: don't merge. (full wiki article)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant