[
https://issues.apache.org/jira/browse/MRRESOURCES-150?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Herve Boutemy updated MRRESOURCES-150:
--------------------------------------
Summary: Ensure reproducible order in bundle goal output
META-INF/maven/remote-resources.xml (was: Ensure reproducible order in bundle
output META-INF/maven/remote-resources.xml)
> Ensure reproducible order in bundle goal output
> META-INF/maven/remote-resources.xml
> -----------------------------------------------------------------------------------
>
> 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)