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

Herve Boutemy updated MRRESOURCES-150:
--------------------------------------
    Description: 
see 
https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/ratis/ratis-3.1.2.diffoscope
 for 
https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/ratis/README.md
{noformat}├── META-INF/maven/remote-resources.xml
│ ├── META-INF/maven/remote-resources.xml
│ │┄ Ordering differences only
│ │ @@ -1,8 +1,8 @@
│ │  <?xml version="1.0" encoding="utf-8"?>
│ │  <remoteResourcesBundle 
xmlns="http://maven.apache.org/remote-resources/1.1.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/remote-resources/1.1.0 
https://maven.apache.org/xsd/remote-resources-1.1.0.xsd";>
│ │    <remoteResources>
│ │ -    <remoteResource>META-INF/LICENSE.vm</remoteResource>
│ │      <remoteResource>META-INF/NOTICE.vm</remoteResource>
│ │ +    <remoteResource>META-INF/LICENSE.vm</remoteResource>
│ │    </remoteResources>
│ │    <sourceEncoding>UTF-8</sourceEncoding>
│ │  </remoteResourcesBundle>
{noformat}

{{remote-resources:bundle}} creates output that may not be reproducible.

{code:title=https://github.com/apache/maven-remote-resources-plugin/blob/7a40047813a7cfde0a1bfeedff66bdc76f7ea430/src/main/java/org/apache/maven/plugin/resources/remote/BundleRemoteResourcesMojo.java#L108-L122}
        DirectoryScanner scanner = new DirectoryScanner();

        scanner.setBasedir(resourcesDirectory);
        if (includes != null && includes.length != 0) {
            scanner.setIncludes(includes);
        } else {
            scanner.setIncludes(DEFAULT_INCLUDES);
        }

        if (excludes != null && excludes.length != 0) {
            scanner.setExcludes(excludes);
        }

        scanner.addDefaultExcludes();
        scanner.scan();
{code}

{{DirectoryScanner}} uses {{java.io.File.list()}}, which does not guarantee 
order.

  was:
see 
https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/ratis/ratis-3.1.2.diffoscope
 for 
https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/ratis/README.md
{{remote-resources:bundle}} creates output that may not be reproducible.

{code:title=https://github.com/apache/maven-remote-resources-plugin/blob/7a40047813a7cfde0a1bfeedff66bdc76f7ea430/src/main/java/org/apache/maven/plugin/resources/remote/BundleRemoteResourcesMojo.java#L108-L122}
        DirectoryScanner scanner = new DirectoryScanner();

        scanner.setBasedir(resourcesDirectory);
        if (includes != null && includes.length != 0) {
            scanner.setIncludes(includes);
        } else {
            scanner.setIncludes(DEFAULT_INCLUDES);
        }

        if (excludes != null && excludes.length != 0) {
            scanner.setExcludes(excludes);
        }

        scanner.addDefaultExcludes();
        scanner.scan();
{code}

{{DirectoryScanner}} uses {{java.io.File.list()}}, which does not guarantee 
order.


> Ensure reproducible order in bundle
> -----------------------------------
>
>                 Key: MRRESOURCES-150
>                 URL: https://issues.apache.org/jira/browse/MRRESOURCES-150
>             Project: Maven Remote Resources Plugin
>          Issue Type: Improvement
>            Reporter: Attila Doroszlai
>            Assignee: Slawomir Jaranowski
>            Priority: Major
>             Fix For: 3.3.0
>
>
> see 
> https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/ratis/ratis-3.1.2.diffoscope
>  for 
> https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/ratis/README.md
> {noformat}├── META-INF/maven/remote-resources.xml
> │ ├── META-INF/maven/remote-resources.xml
> │ │┄ Ordering differences only
> │ │ @@ -1,8 +1,8 @@
> │ │  <?xml version="1.0" encoding="utf-8"?>
> │ │  <remoteResourcesBundle 
> xmlns="http://maven.apache.org/remote-resources/1.1.0"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:schemaLocation="http://maven.apache.org/remote-resources/1.1.0 
> https://maven.apache.org/xsd/remote-resources-1.1.0.xsd";>
> │ │    <remoteResources>
> │ │ -    <remoteResource>META-INF/LICENSE.vm</remoteResource>
> │ │      <remoteResource>META-INF/NOTICE.vm</remoteResource>
> │ │ +    <remoteResource>META-INF/LICENSE.vm</remoteResource>
> │ │    </remoteResources>
> │ │    <sourceEncoding>UTF-8</sourceEncoding>
> │ │  </remoteResourcesBundle>
> {noformat}
> {{remote-resources:bundle}} creates output that may not be reproducible.
> {code:title=https://github.com/apache/maven-remote-resources-plugin/blob/7a40047813a7cfde0a1bfeedff66bdc76f7ea430/src/main/java/org/apache/maven/plugin/resources/remote/BundleRemoteResourcesMojo.java#L108-L122}
>         DirectoryScanner scanner = new DirectoryScanner();
>         scanner.setBasedir(resourcesDirectory);
>         if (includes != null && includes.length != 0) {
>             scanner.setIncludes(includes);
>         } else {
>             scanner.setIncludes(DEFAULT_INCLUDES);
>         }
>         if (excludes != null && excludes.length != 0) {
>             scanner.setExcludes(excludes);
>         }
>         scanner.addDefaultExcludes();
>         scanner.scan();
> {code}
> {{DirectoryScanner}} uses {{java.io.File.list()}}, which does not guarantee 
> order.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to