Le dimanche 29 septembre 2019, 12:29:47 CEST Karl Heinz Marbaise a écrit :
> Hi Hervé,
> 
> On 29.09.19 11:19, Hervé BOUTEMY wrote:
> > regarding the property name, I had an idea:
> > 
> > why not do like we already did for  ${project.build.sourceEncoding}, ie.
> > mimic a future element in pom.xml, in build?
> > 
> > could be project.build.timestamp?
> 
> This sounds like the best idea...
> 
> 
> This would mean to define something like this:
> 
> <properties>
>    <project.build.timestamp>..</project.build.timestamp>
> </properties>
> 
> But now there are coming up some questions:
> 
> * Is that the real value to be used?
> * Or should it activate the mechanism ? (boolean?)
we can define both a boolean and a timestamp
but the timestamp de-facto means also a boolean: defined means true, undefined  
means false

> 
> <properties>
>    <project.build.timestamp.usage>true</project.build.timestamp.usage>
> </properties>
> 
> 
> * Or should we use it by default and giving the user the opportunity
>    to overrite the current timestamp by fixed timestamp for building ?
>    This means we would define only the real time to be used during
>    building. No need for a kind of activation etc.
>    So you could call Maven via:
> 
>    mvn -Dproject.build.timestamp=... package
> 
> 
> * Or do we need a combination of the above
> 
>    First activate, define the format and the timestamp to be used.
> 
> 
> Furthermore do we need to define a format either which could look like this:
> 
> <properties>
>    <project.build.timestamp.usage>true</project.build.timestamp.usage>
>    <project.build.timestamp>..</project.build.timestamp>
>    <project.build.timestamp.format>ISO-8601</project.build.timestamp.format>
> </properties>
letting the format as a third parameter is of course feasible, but adds 
complexity: is it really necessary? Isn't ISO-8601 sufficient to you?

> 
> 
> Kind regards
> Karl Heinz Marbaise
> 
> > Le samedi 28 septembre 2019, 17:55:24 CEST Hervé BOUTEMY a écrit :
> >> Achieving Reproducible Builds require only one parameter: plugins that
> >> create zip or tar archives require a fixed timestamp for entries
> >> 
> >> Putting that parameter as a pom property with a well known name and value
> >> format permits to share the configuration between every packaging plugin.
> >> This also has the advantage that child poms will inherit from parent
> >> value,
> >> and eventually override.
> >> 
> >> The question is: *what property name and what value format should we
> >> keep?*
> >> 
> >> For the PoC, I chose to extrapolate from a convention from Reproducible
> >> Builds project, which is very Linux-oriented: SOURCE_DATE_EPOCH
> >> environment
> >> variable, that I transformed into source-date-epoch property name,
> >> keeping
> >> the "date + %s" value
> >> https://reproducible-builds.org/docs/source-date-epoch/
> >> 
> >> 
> >> But I feel we can do a more user-readable solution by choosing another
> >> name
> >> and format, like "reproducible-build-timestamp" with an ISO-8601 combined
> >> date and time representation
> >> 
> >> 
> >> WDYT? Any other idea?
> >> 
> >> Regards,
> >> 
> >> Hervé





---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to