git-commit-id/git-commit-id-maven-plugin

Using git commit hash with Artifactory Maven Plugin

artespoon opened this issue · 1 comments

Description

I would like to add git commit hash as a suffix to my jar file using git-commit-id-maven-plugin and then deploy it to artifactory using artifactory-maven-plugin.

I'm able to produce a local jar file with a git commit hash in the target folder. But when I run mvn deploy it gets published to artifactory with the default version (no git commit hash).

I tried to follow solution mentioned in the FAQ, but don't know if this workaround can be used for artifactory maven plugin.

Expected behavior

I would like to be able to publish to artifactory jar file with version and git commit hash.

Additional context

  • maven version: 3.8.2
  • git-commit-id-maven-plugin version: 5.0.0
  • artifactory-maven-plugin: 3.2.3
  • maven command: mvn clean deploy

Hello,
thanks for creating this ticket!
Indeed reading up on this again I see the following
https://github.com/git-commit-id/git-commit-id-maven-plugin/blob/master/docs/faq.md#generated-properties-are-not-being-used-in-install-andor-deploy

This specific behaviour is basically not intended / not supported by maven-install-plugin and/or maven-deploy-plugin (https://issues.apache.org/jira/browse/MINSTALL-1 / https://issues.apache.org/jira/browse/MDEPLOY-93). The naming format in the remote repo seems to be always $artifactId-$version-$classifier by default and thus any generated property will not end up inside the artifact being installed/deployed.

the initial workaround was suggested in
#256 (comment)

And in a nutshell you disable the default install/deploy and replace it with a custom version (the one that deploys your custom version.

For full reference here is a full project that demonstrates the behaviour.
example-594.zip

Depending on the target location where you deploy the file to you might need add an extra dependency (as outlined in https://maven.apache.org/plugins/maven-site-plugin/examples/adding-deploy-protocol.html). Supported protocols are mentioned in https://maven.apache.org/wagon/.

However I need to stress that this might not be something fully supported or intended by the maven eco-system. So use this at your own risk. I will also not provide further support on this matter.