← Back to issue list

java plugin: Support `disable-parallel` parameter

View original Github issue

Metadata

Project
craft-parts
Number
#1240
Type
issue
State
open
Author
lengau
Labels
Type: Enhancement Status: Needs information
Created
Updated
Closed
—

Current evaluation

Java base disable-parallel support remains open and Needs information: the property is not implemented, and no real-world Java build failing under parallelism has been supplied.

Suggested action: keep open

Reason: The body explicitly calls this "extremely low priority until someone shows us a real-world use case," and the Needs information label remains with no comments. The property is defined globally and implemented by Autotools, but JavaPlugin has neither its own properties model nor build commands, so this valid umbrella enhancement should remain open pending a concrete reproducer and expected behavior across Java-derived plugins.

Evaluated by: mr-cal-bot

Impact: 30 Quick Win: 7 Complexity: 48 Confidence: 93 Actionability: 45

Issue body

### What needs to get done Support the [disable-parallel](https://canonical-craft-parts.readthedocs-hosted.com/latest/common/craft-parts/reference/part_properties/#disable-parallel) part property in the java base plugin. ### Why it needs to get done All of our plugins should theoretically support this. In practice though, this is extremely low priority until someone shows us a real-world use case for it. If someone can bring us a real-world use case that we can test against (especially a case of "this application simply does not build with parallel"), that would be ideal. The [autotools plugin](https://github.com/canonical/craft-parts/pull/1167) required this for OpenJDK builds, for example.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 30
Quick Win: 7
Complexity: 48
Confidence: 93
Actionability: 45
keep open Java base disable-parallel support remains open and Needs information: the property is not implemented, and no real-world Java build failing under parallelism has been supplied.
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 4
Complexity: 40
Confidence: 70
Actionability: 20
close stale Enhancement request to add `disable-parallel` support to the Java plugin. Open 384 days with no real-world use case provided despite maintainer request.
qwen/qwen3.8-27b
Impact: 15
Quick Win: 8
Staleness: 75
Complexity: 45
Confidence: 65
Support Request: 5
close stale Enhancement request to add the disable-parallel part property to the Java base plugin (shared by ant, gradle, maven, maven-use). Labeled Needs information; maintainer awaits a real-world use case, no activity for 363 days.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 40
Confidence: 80
Support Request: 10
close stale Request to add disable-parallel support to the Java plugin. Currently inactive and awaiting a real-world use case from the author.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 20
Confidence: 80
Support Request: 0
keep open Enhancement request to add disable-parallel part property support to the Java plugin. Currently waiting for a real-world use case to justify implementation.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/craft-parts#1167 (confidence 100%)

    Autotools added the property after OpenJDK builds required non-parallel execution.

  • Related To: craft-parts#1243 (confidence 99%)

    Tracks the same low-priority enhancement for the Maven JavaPlugin subclass.

  • Related To: craft-parts#1232 (confidence 98%)

    Tracks disable-parallel support in the Ant plugin, a JavaPlugin subclass.

  • Related To: craft-parts#1239 (confidence 98%)

    Tracks disable-parallel support in the Gradle plugin, a JavaPlugin subclass.

  • Related To: craft-parts#1244 (confidence 98%)

    Tracks disable-parallel support in the Maven-use JavaPlugin subclass.

Related issues

Issue Project State Summary Similarity
#1232 ant plugin: Support `disable-parallel` parameter craft-parts open Ant plugin support for disable-parallel is unimplemented; the request remains open as Needs information, with maintainers requesting a real-world case that fails under parallel builds.
83%
#1243 maven plugin: Support `disable-parallel` parameter craft-parts open Maven plugin support for disable-parallel remains unimplemented; the open enhancement is maintainer-marked Needs information and deliberately low priority pending a real-world failing build.
83%
#1239 gradle plugin: Support `disable-parallel` parameter craft-parts open Feature request: add `disable-parallel` support to the gradle plugin. Maintainer labels it low-priority, 'Needs information', asking for a real-world use case that fails under parallel builds; design (None/False/True) sketched in a comment.
77%
#1244 maven-use plugin: Support `disable-parallel` parameter craft-parts open Maintainer-filed request to add the disable-parallel part property to the maven-use plugin. Marked Enhancement/Needs information; maintainer states it is extremely low priority pending a real-world use case, none supplied in ~395 days.
77%
#1237 go plugin: Support `disable-parallel` parameter craft-parts open Adding disable-parallel support to the Go plugin remains open and low priority, pending a concrete real-world use case or application that fails with parallel builds.
75%
#1247 python plugin: Support `disable-parallel` parameter craft-parts open Python plugin support for compiled-wheel parallel control remains unimplemented; maintainers are awaiting a real-world case and resolution of tri-state semantics versus setting CRAFT_PARALLEL_BUILD_COUNT=1.
75%
#1241 jlink plugin: Support `disable-parallel` parameter craft-parts open Maintainer-filed, triaged enhancement to honour the disable-parallel part property in the jlink plugin. Labeled Needs information; jlink never uses parallel_build_count, so the property would likely be a no-op. Open 395 days, no comments.
74%
#1250 rust plugin: Support `disable-parallel` parameter craft-parts open Request to honor the documented `disable-parallel` part property in the rust plugin. Maintainer-opened, labeled Needs information, explicitly deprioritized pending a real-world use case; rust_plugin.py still builds with cargo defaults.
74%
#1246 npm plugin: Support `disable-parallel` parameter craft-parts open Add disable-parallel support to the npm plugin. It remains open and low priority, with the maintainer requesting a real-world npm build case before prioritizing implementation.
73%
#1242 make plugin: Support `disable-parallel` parameter craft-parts open Enhancement: make plugin should honor the disable-parallel part property (currently always emits make -j"N"). Filed by a maintainer, labeled Triaged/Enhancement, and explicitly deferred as "extremely low priority" until a real-world non-parallel-build use case is supplied; autotools already has it via PR #1167.
72%