Fix compile task out of date when runtime args change #372
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.
The
NativeImageOptions
domain object is used in the DSL to configure both compile and runtime arguments for native images: the compile options are used to invokenative-image
and build a binary, while the runtime args are used to pass extra arguments when executing the native image.The full
NativeImageOptions
domain object was passed to the native image compilation task as a@Nested
input, which meant in practice that if the runtime arguments changed, then we would rebuild the image although it isn't necessary.This commit fixes the problem in a binary compatible way, by introducing a couple of interfaces: one for the compile options, the other for the runtime options. It makes the "options" internal on the compile task, and uses a delegated view of compile options for input snapshotting.
Fixes #371