You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Dennis Lundberg (Jira)" <ji...@apache.org> on 2020/07/17 12:49:00 UTC

[jira] [Updated] (MSHARED-884) Only overwrite filtered resources when contents differ

     [ https://issues.apache.org/jira/browse/MSHARED-884?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dennis Lundberg updated MSHARED-884:
------------------------------------
    Fix Version/s: maven-filtering-3.2.0

> 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
>            Assignee: Olivier Lamy
>            Priority: Major
>             Fix For: maven-filtering-3.2.0
>
>
> 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)