You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Robert Scholte (Jira)" <ji...@apache.org> on 2019/09/10 17:03:00 UTC

[jira] [Commented] (MCOMPILER-397) Use relative paths in jpms.args to make the builds reproducible

    [ https://issues.apache.org/jira/browse/MCOMPILER-397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16926785#comment-16926785 ] 

Robert Scholte commented on MCOMPILER-397:
------------------------------------------

The {{jpms.args}} was introduced because these are arguments used at compile you likely need at runtime as well.
The {{-add-modules}} works well because it refers to a module name.
But what about {{upgrade-module-path}}? Changing it to a relative path doesn't seem to help either.
I understand the request, but if we change it, then the solution should be usable at runtime as well.

> Use relative paths in jpms.args to make the builds reproducible
> ---------------------------------------------------------------
>
>                 Key: MCOMPILER-397
>                 URL: https://issues.apache.org/jira/browse/MCOMPILER-397
>             Project: Maven Compiler Plugin
>          Issue Type: Improvement
>    Affects Versions: 3.8.1
>            Reporter: Emmanuel Bourg
>            Priority: Major
>              Labels: reproducibility
>
> The {{jpms.args}} file generated since the version 3.7 contains absolute paths, for example here is the file generated for jaxb-core:
> {code}
> --add-modules
> java.xml.bind
> --upgrade-module-path
> /home/ebourg/jaxb/jaxb-ri/core/target/endorsed
> {code}
> The absolute path affects the reproducibility of the builds. Someone else rebuilding the project is unlikely to have the same base path and will not get a byte identical artifact. I suggest using a relative path instead (starting at the root of the project or at the root of the module) and normalizing the path separators (such that builds on Windows and Unix generate the same file).



--
This message was sent by Atlassian Jira
(v8.3.2#803003)