mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-09 22:45:04 +00:00
We embed the :reaper project jar in the build-tools jar so we can spawn a reaper process at build runtime. Due to this, the jar technically isn't part of the test runtime classpath, but for input snapshotting purposes, we should be treating it as such. Instead, because it lives in META-INF, Gradle treats it as a normal file, which in practice means its hash changes on every build (timestamps, etc). This commit changes our input snapshotting strategy such that instead we explicitly add the jar as an input to any test tasks using Gradle's runtime classpath normalization strategy (ignore timestamps, jar entry order, etc) and ignore the file in META-INF. This ensures that we can properly cache test results for build-tools, why still ensuring that changes to the :reaper project trigger reexecution of tests.