apache / apache/maven-mvnd

Provide a mechanism to exclude building specific modules in parallel

Open
#492 1 comment 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
3.5k
Forks
250
Avg merge
16h 22m
Merged PRs (30d)
36

Description

This could be very handy in case you have integration tests modules that do share some external resource.
This would require some kind of lock exclusion, similar to the junit annotation https://junit.org/junit5/docs/5.7.2/api/org.junit.jupiter.api/org/junit/jupiter/api/parallel/ResourceLock.html . However, I think we may have several forked JVMs in parallel in these cases, so a simple lock would not work...
A simple workaround would be add some dependencies at test scope between the ITs so that they're never executed in parallel, but that's not as clean.

Contributor guide

No contributing guide indexed for this repository

Research direction

Review the current parallel module scheduling and forked JVM behavior, focusing on how integration-test modules are selected and executed. Compare the proposed resource-lock approach with test-scope dependency ordering; done means a documented mechanism can prevent selected modules sharing an external resource from running concurrently across forked JVMs.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.