Fixed 'unless' test when we are using caching #30
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 "unless" check of wget's
exec
resource uses the existence of the destination file to determine whether or not it should fetch the remote file. This causes problems when other resources create a different version of the file. Consider the following scenario:exec
resource checks the existence of local_policy.jar in the Java directory to see of it needs to be fetched. Since there is already a file there, it does not download it.file
resource tries to copy the file from the cache directory into the Java directory, but since it wasn't ever downloaded, the copy fails.When we enable caching, the wget module uses the
-N
option to conditionally download the file, so there is no need to check the destination file. I've made a change to theunless_test
variable to skip checking when we are using caching. Since the file resource always runs, we get the nice benefit of making sure the file always matches the copy in the cache directory.