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

ASF GitHub Bot commented on MARTIFACT-59:
-----------------------------------------

rmannibucau commented on PR #30:
URL: 
https://github.com/apache/maven-artifact-plugin/pull/30#issuecomment-2028692226

   > Having a value hard coded + maven-release-plugin and versions-maven-plugin 
update/rewrite when version is updated is the most efficient strategy found so 
far: I know it's not a usual strategy, but it never creates a different jar 
when it is not necessary because its content has really changed.
   
   I almost more than agree with that except the first parth.
   For me it means we must not set the value in the pom but set the strategy - 
you "only modify when needed" works until you use last modified date of the 
jars so guess in `<build>` we should get an option to define outputTimestamp 
when model is built -  with multiple lookup flavors but it sounds like 
something which must be in maven to ensure any plugin can rely on this read 
only value otherwise anything is wrong.
   
   Now (v4) we have a root pom we can enforce to define it in the root pom for 
the whole project too.
   
   Side note: I don't care much if we stay in the status quo for v3, it kind of 
works.
   
   > FYI, moditect uses the git commit strategy and there is no issue for them
   
   Cause they don't use any of artifact plugin nor use it in the root pom 
otherwise it is there for them too  ;).
   
   So overall more I think to it more I agree with you we do it wrong and 
should make it immutable - we should make it immutable ;) - and in maven core - 
there is no way it works reliably in any plugin by design and it is shared 
anyway by all plugins and maven properties - thinking to injected metadata in 
artifacts with filtering.
   So it sounds like the ability to read `.git` folder - don't think we need 
jgit/scm-provider or alike at all.
   Not sure any other SCM is worth it today.
   
   So my proposal would be:
   
   1. add a property in `Build` model
   2. enable it to be a hardcoded value or provider "id" (git for ex)
   3. ensure this value is initialized early and fully immutable
   4. let plugin consume it in plugins
   
   wdyt?




> artifact plugin should tolerate injected project.build.outputTimestamp
> ----------------------------------------------------------------------
>
>                 Key: MARTIFACT-59
>                 URL: https://issues.apache.org/jira/browse/MARTIFACT-59
>             Project: Maven Artifact Plugin
>          Issue Type: Improvement
>            Reporter: Romain Manni-Bucau
>            Priority: Minor
>              Labels: pull-request-available
>
> Goal is to not log
> {code:java}
> Reproducible Build not activated by project.build.outputTimestamp property: 
> see https://maven.apache.org/guides/mini/guide-reproducible-builds.html {code}
> when the project is actually set but computed from another property and not 
> fail (check mojo) when the setup is the same.



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

Reply via email to