Michael Osipov commented on MSHARED-837:

As for the style: The ISO definition provides two styles basic and extended. 
Basic can drop {{-}} and {{::}} delimiters while extended retains them. All 
components date, time, offset but be either basic or extended format. You are 
not allowed to mix them. Just using {{X}} with the extended style would allow 
{{2019-10-11T10:56:00+02}} (valid), {{2019-10-11T10:56:00+0200}} (invalid) and 
{{2019-10-11T10:56:00+02}} (valid). In basic format this would be 
{{20191011T105600+02}} (valid), {{20191011T105600+0200}} (valid) and 
{{20191011T105600+02:00}} (invalid).
 This is due to the lenient and telescoping nature of SDF. See also 
[here|https://stackoverflow.com/q/13088140/696632]. So you can only use the 
extended format with this implementation and stick to {{XXX}} and all is fine.


I don't think that just changing code and updating test would have really 
helped because I wanted you just to understand what I object here since you 
didn't understand how telescoping in SDF works. Principal understanding is more 
important that pure code. I will change my branch accordingly with the tests.

> add an API to configure Reproducible Builds with outputTimestamp
> ----------------------------------------------------------------
>                 Key: MSHARED-837
>                 URL: https://issues.apache.org/jira/browse/MSHARED-837
>             Project: Maven Shared Components
>          Issue Type: New Feature
>          Components: maven-archiver
>    Affects Versions: maven-archiver-3.4.0
>            Reporter: Herve Boutemy
>            Assignee: Herve Boutemy
>            Priority: Major
>             Fix For: maven-archiver-3.4.1
> creating an archive in a Reproducible Builds way requires to configure 
> archiver with an output timestamp: see 
> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=74682318
> The timestamp value can't be natively injected as Date with Plexus, because 
> Plexus Date injection uses local timezone, then is not reproducible: see 
> https://codehaus-plexus.github.io/plexus-containers/plexus-container-default/xref/org/codehaus/plexus/component/configurator/converters/basic/DateConverter.html
> Then we need top inject ${project.build.outputTimestamp} as a String and 
> provide an API to parse this String to a Date, before calling 
> plexus-archiver's configureReproducible 
> https://github.com/codehaus-plexus/plexus-archiver/pull/121

This message was sent by Atlassian Jira

Reply via email to