GEODE-4181: Reduce ChildVM command line length #6763
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PROBLEM
Windows limits command lines to a maximum length of ~32k characters. The
command line for DUnit child VMs is very close to this limit.
Currently this prevents us from adding JUnit 5 support. JUnit 5 adds 8
more jars to the classpath, which adds ~1300 characters to the command
line, which puts the command line over the limit.
SOLUTION
Write the ChildVM's entire classpath to a "pathing" jar, then include
only that pathing jar on the command line. This results in command line
that is shorter by many thousands of characters, and which does not grow
as we add more jars or other classpath elements.