[
https://issues.apache.org/jira/browse/MDEPLOY-198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14613664#comment-14613664
]
Robert Scholte commented on MDEPLOY-198:
----------------------------------------
{quote:title=comment from MDEPLOY-197}
Hi Robert Scholte,
thanks for the feedback.
I can't speak here for the deploy:deploy-file. However, the problem I reported
in MDEPLOY-198 shows a valid use-case where a developer may not want to upload
an artifact twice.
What happens is kind of simple. The default-deploy will be executed before the
java-doc and sources are build. Therefore the default-deploy will not upload
them and we simply can't put the generation of the files before the
default-deploy because it's automatically attached. Hence we either need to set
the generation of the java-doc to a different phase OR introduce an second
configuration of a deploy. However, when we create an additional configuration,
the artifacts will be uploaded twice (and the javadocs+sources).
When I add the configuration to skip the duplicate artifact, it will not be
uploaded at all because the default-deploy and the custom-deploy share the same
configuration (you can test this with my attached example).
I also think that it should be totally up the the pom-writer where he want's to
create javadoc and source's (e.g. in deploy).
I haven't tested with deploy:file but I would say it's kind of the same
problem here.
Maybe a more reliable test would be something like:
if the md5-sum of the artifact matches, skip the upload and not just skip it
at all, if the artifact is present...
{quote}
Hi [~TheSnoozer], copied your comment to this issue.
thanks for the example (although it can't be built), it gave me enough info
about your issue. However, I still don't understand why you chose to go for a
second execution of the deploy goal, rather then changing the phases. Actually,
the default phase for both {{sources:jar-no-fork}} and {{javadoc:jar}} is
package. IMO after the {{package}} phase, the project should be in such a state
that it shouldn't matter if you want to {{install}} or {{deploy}} this project.
So by simplifying for {{pom.xml}} (remove the phases for the {{attach-sources}}
and {{attach-javadoc}} executions and removing the whole executions-block from
the maven-deploy-plugin) you will get the desired result.
> deploy:deploy in some cases upload a file twice
> -----------------------------------------------
>
> Key: MDEPLOY-198
> URL: https://issues.apache.org/jira/browse/MDEPLOY-198
> Project: Maven Deploy Plugin
> Issue Type: Bug
> Components: deploy:deploy
> Affects Versions: 2.8.2
> Reporter: S L
> Priority: Minor
> Attachments: hello-maven-plugin.zip
>
>
> This is a similar issue to MDEPLOY-197 and if you feel that is this is the
> same problem feel free to close it as duplicate.
> However, in some cases when using the maven-deploy-plugin the artificat will
> be uploaded twice. Example will be attached.
> In my example I craft sources & javadoc in the deploy-phase and have an
> additional maven-deploy-plugin-definition which also be be executed in
> deploy. However the default-deploy will upload the final artifact as well as
> my custom tailored maven-deploy-plugin-definition and therefore the artifcat
> will be uploaded twice.
> In the zip there is also the build log where I replaced all sensitive
> information.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)