[Created] (MINSTALL-169) Handle non-pom packaging with only a pom artifact

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[Created] (MINSTALL-169) Handle non-pom packaging with only a pom artifact

Marco Patavini (Jira)
Ben Tatham created MINSTALL-169:

             Summary: Handle non-pom packaging with only a pom artifact
                 Key: MINSTALL-169
                 URL: https://issues.apache.org/jira/browse/MINSTALL-169
             Project: Maven Install Plugin
          Issue Type: Improvement
          Components: install:install
            Reporter: Ben Tatham

Note: this story affects maven-install-plugin and maven-deploy-plugin equally.

Currently, in [DefaultProjectInstaller|https://github.com/apache/maven-artifact-transfer/blob/dfb1e61c4f5db6fe167b3d879a37ab5e25c8475c/src/main/java/org/apache/maven/shared/transfer/project/install/internal/DefaultProjectInstaller.java#L82], if a project does not have literally "pom" as packaging, then if there are no other artifacts, install:install fails (as does deploy:deploy) with
NoFileAssignedException: The packaging plugin for this project did not assign a main file to the project but it has attachments. Change packaging to 'pom'.{code}
 However, for some custom lifecycles (and therefore different packaging types), we might want to be able to have a lifecycle that just installs/deploys the pom file alone with no additional artifacts.

Further, if a plugin explicitly sets the main artifact (via MavenProject.setArtifact) to the `ProjectArtifact`, aka the pom file itself (which I tried as a work around), then install and deploy perform the same action twice (which would then break deploy, if the maven central repo blocks duplicate pushes, as we have setup in our Nexus environment for release (non-snapshot) artifacts)

Our use case might be weird, but we want to be able to use maven to lookup version updates for it, even though the artifacts themselves are not in maven (our use case is docker, helm charts, etc).

I see this as a relatively simple fix in the above mentioned class, and am happy to contribute a pull request for it.

This message was sent by Atlassian Jira