[jira] [Commented] (MJAR-301) maven jar plugin does not support all cases of ISO 8601 dates for project.build.outputTimestamp

2024-02-16 Thread S L (Jira)


[ 
https://issues.apache.org/jira/browse/MJAR-301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17818046#comment-17818046
 ] 

S L commented on MJAR-301:
--

I see. Thanks for the citation and clarifying how you see the formatting (must 
be either basic or extended).

Unfortunately I can't close this ticket, so please go ahead and close this 
ticket as won't fix then (or not a problem).

Thanks again for the prompt feedback and discussion.

 

> maven jar plugin does not support all cases of ISO 8601 dates for 
> project.build.outputTimestamp
> ---
>
> Key: MJAR-301
> URL: https://issues.apache.org/jira/browse/MJAR-301
> Project: Maven JAR Plugin
>  Issue Type: Bug
>Affects Versions: 3.3.0
>Reporter: S L
>Priority: Major
> Attachments: git-plugin-timestamp-problem-demo_minimal.zip
>
>
> Originally reported in 
> [https://github.com/git-commit-id/git-commit-id-maven-plugin/issues/674] by 
> "Interessierter".
>  
> May or may not be related to https://issues.apache.org/jira/browse/MJAR-300.
>  
> The support for reproducible builds (ISO 8601 date formats) should have been 
> added to the maven-jar-plugin in version 3.2.X (via 
> https://issues.apache.org/jira/browse/MJAR-263).
>  
> The documentation of the maven-jar-plugin 
> ([https://github.com/apache/maven-jar-plugin/blob/63f9c982d49f046519088490d7a8af5a7cd647fb/src/main/java/org/apache/maven/plugins/jar/AbstractJarMojo.java#L144])
>  even claims it can process ISO 8601 date formats as input for 
> project.build.outputTimestamp, however there seems to be some cases that are 
> unsupported.
>  
> Not supported:
> 2022-02-12T15:30:45
> 2024-02-15T13:54:59+0100 (note with an extra ':' like '+01:00' this works)
>  
> Not supported edge cases:
> 2022-W06
> 2022-W06-5
> 2022-W06-5T15:30:45
> 2019-03-26T14:00.9Z



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


[jira] [Commented] (MJAR-301) maven jar plugin does not support all cases of ISO 8601 dates for project.build.outputTimestamp

2024-02-16 Thread Michael Osipov (Jira)


[ 
https://issues.apache.org/jira/browse/MJAR-301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17818022#comment-17818022
 ] 

Michael Osipov commented on MJAR-301:
-

No, the documentation is incomplete. The ISO standard says that all components 
must be in the same format: basic or extended, you cannot mix and match. I have 
access to the original German language documents. From DIN ISO 8601-1:2020-12, 
chapter 5.4.3: Der gesamte Ausdruck muss entweder vollständig im Basisformat 
oder vollständig im erweiterten Format sein. (The entire expression must be 
entirely either in the basic format or in the extended format.)

> maven jar plugin does not support all cases of ISO 8601 dates for 
> project.build.outputTimestamp
> ---
>
> Key: MJAR-301
> URL: https://issues.apache.org/jira/browse/MJAR-301
> Project: Maven JAR Plugin
>  Issue Type: Bug
>Affects Versions: 3.3.0
>Reporter: S L
>Priority: Major
> Attachments: git-plugin-timestamp-problem-demo_minimal.zip
>
>
> Originally reported in 
> [https://github.com/git-commit-id/git-commit-id-maven-plugin/issues/674] by 
> "Interessierter".
>  
> May or may not be related to https://issues.apache.org/jira/browse/MJAR-300.
>  
> The support for reproducible builds (ISO 8601 date formats) should have been 
> added to the maven-jar-plugin in version 3.2.X (via 
> https://issues.apache.org/jira/browse/MJAR-263).
>  
> The documentation of the maven-jar-plugin 
> ([https://github.com/apache/maven-jar-plugin/blob/63f9c982d49f046519088490d7a8af5a7cd647fb/src/main/java/org/apache/maven/plugins/jar/AbstractJarMojo.java#L144])
>  even claims it can process ISO 8601 date formats as input for 
> project.build.outputTimestamp, however there seems to be some cases that are 
> unsupported.
>  
> Not supported:
> 2022-02-12T15:30:45
> 2024-02-15T13:54:59+0100 (note with an extra ':' like '+01:00' this works)
>  
> Not supported edge cases:
> 2022-W06
> 2022-W06-5
> 2022-W06-5T15:30:45
> 2019-03-26T14:00.9Z



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


[jira] [Commented] (MJAR-301) maven jar plugin does not support all cases of ISO 8601 dates for project.build.outputTimestamp

2024-02-16 Thread S L (Jira)


[ 
https://issues.apache.org/jira/browse/MJAR-301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17818015#comment-17818015
 ] 

S L commented on MJAR-301:
--

Hello, thanks for the quick feedback!

Ok, fine with me if you want to be explicit and want to avoid certain edge 
cases.

 

However IMHO the 2024-02-15T13:54:59+0100 is following ISO 8601 standard.

Refer for example to the java doc

[https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html#iso8601timezone]

[https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/text/SimpleDateFormat.html#iso8601timezone]

Both docs mention the support for the following three cases:
{code:java}
 OneLetterISO8601TimeZone:
 Sign TwoDigitHours
 Z
 TwoLetterISO8601TimeZone:
 Sign TwoDigitHours Minutes
 Z
 ThreeLetterISO8601TimeZone:
 Sign TwoDigitHours : Minutes
 Z {code}
The 2024-02-15T13:54:59+0100 follows the TwoLetterISO8601TimeZone. Only the 
ThreeLetterISO8601TimeZone can be currently processed.

Similar to what wikipedia claims 
[https://en.wikipedia.org/wiki/ISO_8601#Time_zone_designators]:
{code:java}
Z
±hh:mm
±hhmm
±hh {code}
The 2024-02-15T13:54:59+0100 follows ±hhmm and therefore should be 
supported.

> maven jar plugin does not support all cases of ISO 8601 dates for 
> project.build.outputTimestamp
> ---
>
> Key: MJAR-301
> URL: https://issues.apache.org/jira/browse/MJAR-301
> Project: Maven JAR Plugin
>  Issue Type: Bug
>Affects Versions: 3.3.0
>Reporter: S L
>Priority: Major
> Attachments: git-plugin-timestamp-problem-demo_minimal.zip
>
>
> Originally reported in 
> [https://github.com/git-commit-id/git-commit-id-maven-plugin/issues/674] by 
> "Interessierter".
>  
> May or may not be related to https://issues.apache.org/jira/browse/MJAR-300.
>  
> The support for reproducible builds (ISO 8601 date formats) should have been 
> added to the maven-jar-plugin in version 3.2.X (via 
> https://issues.apache.org/jira/browse/MJAR-263).
>  
> The documentation of the maven-jar-plugin 
> ([https://github.com/apache/maven-jar-plugin/blob/63f9c982d49f046519088490d7a8af5a7cd647fb/src/main/java/org/apache/maven/plugins/jar/AbstractJarMojo.java#L144])
>  even claims it can process ISO 8601 date formats as input for 
> project.build.outputTimestamp, however there seems to be some cases that are 
> unsupported.
>  
> Not supported:
> 2022-02-12T15:30:45
> 2024-02-15T13:54:59+0100 (note with an extra ':' like '+01:00' this works)
>  
> Not supported edge cases:
> 2022-W06
> 2022-W06-5
> 2022-W06-5T15:30:45
> 2019-03-26T14:00.9Z



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


[jira] [Commented] (MJAR-301) maven jar plugin does not support all cases of ISO 8601 dates for project.build.outputTimestamp

2024-02-15 Thread Michael Osipov (Jira)


[ 
https://issues.apache.org/jira/browse/MJAR-301?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17817794#comment-17817794
 ] 

Michael Osipov commented on MJAR-301:
-

Let's go through:

2022-02-12T15:30:45: Implies local offset, we intentionally require you to 
provide the offset, the build should be indepent of it otherwise we cannot 
reliably calcuate back to Zulu
2024-02-15T13:54:59+0100: This input is invalid according to ISO 8601, I can 
cite from if you want to.

2022-W06 and other with week do not contain any offset, times are local. Leads 
ot the first issue.
2019-03-26T14:00.9Z: This is valid, but we haven't intentionally implemented a 
telescoping parsing approach to reduce complexity.

[~hboutemy].

Since we have clearly documented the extended ISO datetime format we will parse 
I consider this more or less as clarified and won't fix. Let me know what you 
think.

> maven jar plugin does not support all cases of ISO 8601 dates for 
> project.build.outputTimestamp
> ---
>
> Key: MJAR-301
> URL: https://issues.apache.org/jira/browse/MJAR-301
> Project: Maven JAR Plugin
>  Issue Type: Bug
>Affects Versions: 3.3.0
>Reporter: S L
>Priority: Major
> Attachments: git-plugin-timestamp-problem-demo_minimal.zip
>
>
> Originally reported in 
> [https://github.com/git-commit-id/git-commit-id-maven-plugin/issues/674] by 
> "Interessierter".
>  
> May or may not be related to https://issues.apache.org/jira/browse/MJAR-300.
>  
> The support for reproducible builds (ISO 8601 date formats) should have been 
> added to the maven-jar-plugin in version 3.2.X (via 
> https://issues.apache.org/jira/browse/MJAR-263).
>  
> The documentation of the maven-jar-plugin 
> ([https://github.com/apache/maven-jar-plugin/blob/63f9c982d49f046519088490d7a8af5a7cd647fb/src/main/java/org/apache/maven/plugins/jar/AbstractJarMojo.java#L144])
>  even claims it can process ISO 8601 date formats as input for 
> project.build.outputTimestamp, however there seems to be some cases that are 
> unsupported.
>  
> Not supported:
> 2022-02-12T15:30:45
> 2024-02-15T13:54:59+0100 (note with an extra ':' like '+01:00' this works)
>  
> Not supported edge cases:
> 2022-W06
> 2022-W06-5
> 2022-W06-5T15:30:45
> 2019-03-26T14:00.9Z



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