[
https://issues.apache.org/jira/browse/MSHARED-884?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Robert James Oxspring updated MSHARED-884:
--
Description:
When filtering files with the {{MavenFileFilter.copyFile}} method, the
destination file should only be overwritten if the contents have changed.
Currently we unconditionally overwrite the contents in this situation,
potentially leading to unnecessary downstream work. When the {{overwrite}}
parameter is {{true}} then overwriting should overwrite as it does now.
Given a {{copyFile}} call
When an identical {{copyFile}} operation is performed
Then the destination file should remain unmodified
Given a {{copyFile}} call with {{overwrite}} set {{true}}
When an identical {{copyFile}} operation is performed
Then the destination file should be overwritten
The [linked pull request|https://github.com/apache/maven-filtering/pull/5]
meets these requirements by writing the filtered resource to a temporary file
and then comparing the temporary contents to the content of a previously
written target file. If the contents match then the temporary file is deleted,
otherwise it's renamed over the top of the target file.
was:
When filtering files with the {{MavenFileFilter.copyFile}} method, the
destination file should only be overwritten if the contents have changed.
Currently we unconditionally overwrite the contents in this situation,
potentially leading to unnecessary downstream work. When the {{overwrite}}
parameter is {{true}} then overwriting should overwrite as it does now.
Given a {{copyFile}} call
When an identical filterFile operation is performed
Then the destination file should remain unmodified
Given a {{copyFile}} call with {{overwrite}} set {{true}}
When an identical filterFile operation is performed
Then the destination file should be overwritten
> Only overwrite filtered resources when contents differ
> --
>
> Key: MSHARED-884
> URL: https://issues.apache.org/jira/browse/MSHARED-884
> Project: Maven Shared Components
> Issue Type: Improvement
> Components: maven-filtering
>Reporter: Robert James Oxspring
>Priority: Major
>
> When filtering files with the {{MavenFileFilter.copyFile}} method, the
> destination file should only be overwritten if the contents have changed.
> Currently we unconditionally overwrite the contents in this situation,
> potentially leading to unnecessary downstream work. When the {{overwrite}}
> parameter is {{true}} then overwriting should overwrite as it does now.
> Given a {{copyFile}} call
> When an identical {{copyFile}} operation is performed
> Then the destination file should remain unmodified
> Given a {{copyFile}} call with {{overwrite}} set {{true}}
> When an identical {{copyFile}} operation is performed
> Then the destination file should be overwritten
> The [linked pull request|https://github.com/apache/maven-filtering/pull/5]
> meets these requirements by writing the filtered resource to a temporary file
> and then comparing the temporary contents to the content of a previously
> written target file. If the contents match then the temporary file is
> deleted, otherwise it's renamed over the top of the target file.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)