diff --git a/opensearch/build.gradle b/opensearch/build.gradle index 5ca10c7091c..3184844cad9 100644 --- a/opensearch/build.gradle +++ b/opensearch/build.gradle @@ -85,6 +85,13 @@ pitest { junit5PluginVersion = '1.0.0' } +// Ensure compileJava waits for all dependency modules to finish building classes +// This prevents race conditions in parallel builds and composite builds +tasks.named('compileJava') { + dependsOn ':core:classes' + dependsOn ':common:classes' +} + test { maxParallelForks = Runtime.runtime.availableProcessors() useJUnitPlatform() diff --git a/ppl/build.gradle b/ppl/build.gradle index ef7973b1e37..fb81069bdf9 100644 --- a/ppl/build.gradle +++ b/ppl/build.gradle @@ -85,6 +85,14 @@ spotless { } } +// Ensure compileJava waits for all dependency modules to finish building classes +// This prevents race conditions in parallel builds and composite builds +tasks.named('compileJava') { + dependsOn ':core:classes' + dependsOn ':common:classes' + dependsOn ':protocol:classes' +} + test { maxParallelForks = Runtime.runtime.availableProcessors() testLogging { diff --git a/protocol/build.gradle b/protocol/build.gradle index e6385ab69c2..b3b7c5672b3 100644 --- a/protocol/build.gradle +++ b/protocol/build.gradle @@ -49,6 +49,13 @@ configurations.all { resolutionStrategy.force "com.fasterxml.jackson.core:jackson-databind:${versions.jackson_databind}" } +// Ensure compileJava waits for all dependency modules to finish building classes +// This prevents race conditions in parallel builds and composite builds +tasks.named('compileJava') { + dependsOn ':core:classes' + dependsOn ':opensearch:classes' +} + test { maxParallelForks = Runtime.runtime.availableProcessors() useJUnitPlatform() diff --git a/sql/build.gradle b/sql/build.gradle index 8391d1538d9..d2ba1235c55 100644 --- a/sql/build.gradle +++ b/sql/build.gradle @@ -78,6 +78,14 @@ spotless { } } +// Ensure compileJava waits for all dependency modules to finish building classes +// This prevents race conditions in parallel builds and composite builds +tasks.named('compileJava') { + dependsOn ':core:classes' + dependsOn ':common:classes' + dependsOn ':protocol:classes' +} + test { maxParallelForks = Runtime.runtime.availableProcessors() useJUnitPlatform()