Bind javadoc and sources goals to deploy phase before deploy goal is run










0















I would like my project to generate javadoc and sources artifacts only when I activate the deploy phase, not when I ask for mvn install. That is because I only need those artifacts when deploying, and I want to save time when not deploying.



Therefore, I thought about binding the maven-source-plugin goal to the deploy phase.



But, I need those artifacts to exist at the time the deploy goal runs. Thus, the source and javadoc generation goals must run before the deploy goal. Unfortunately, the goal from the packaging is executed first (as documented).



I am aware the usual advice is to define a “release” profile and define the javadoc plugin (and related ones) only there. But this seems needlessly complicated for my simple use case. Now I need to think about activating the release profile exactly when I ask for deploying, I would prefer the right plugins to be activated automatically depending on the phase I ask for.



I am surprised this does not seem to be considered possible or even desirable by Maven (as it does not seem to allow for a goal to run in the deploy phase but before the deploy goal). Did I miss something, is this possible? Or, is there any reason not to do it in the way I consider? (Otherwise, I am thinking about introducing a feature request.)










share|improve this question

















  • 1





    in this case I seems the advice to use a profile fits best. The javadoc files you create would actually also be used for the install phase when the artifacts are copied into the local repository. You might be able to gain control over this by configuring the source plugin to the deploy phase and also the deploy plugin itself (mainly keeping the defaults, only put it below in the pom). Since the order in the pom will be reflected in the execution order.

    – wemu
    Nov 10 '18 at 21:42






  • 1





    “The javadoc files you create would actually also be used for the install phase when the artifacts are copied into the local repository.” ⇒ Very good point, thank you.

    – Olivier Cailloux
    Nov 12 '18 at 13:27
















0















I would like my project to generate javadoc and sources artifacts only when I activate the deploy phase, not when I ask for mvn install. That is because I only need those artifacts when deploying, and I want to save time when not deploying.



Therefore, I thought about binding the maven-source-plugin goal to the deploy phase.



But, I need those artifacts to exist at the time the deploy goal runs. Thus, the source and javadoc generation goals must run before the deploy goal. Unfortunately, the goal from the packaging is executed first (as documented).



I am aware the usual advice is to define a “release” profile and define the javadoc plugin (and related ones) only there. But this seems needlessly complicated for my simple use case. Now I need to think about activating the release profile exactly when I ask for deploying, I would prefer the right plugins to be activated automatically depending on the phase I ask for.



I am surprised this does not seem to be considered possible or even desirable by Maven (as it does not seem to allow for a goal to run in the deploy phase but before the deploy goal). Did I miss something, is this possible? Or, is there any reason not to do it in the way I consider? (Otherwise, I am thinking about introducing a feature request.)










share|improve this question

















  • 1





    in this case I seems the advice to use a profile fits best. The javadoc files you create would actually also be used for the install phase when the artifacts are copied into the local repository. You might be able to gain control over this by configuring the source plugin to the deploy phase and also the deploy plugin itself (mainly keeping the defaults, only put it below in the pom). Since the order in the pom will be reflected in the execution order.

    – wemu
    Nov 10 '18 at 21:42






  • 1





    “The javadoc files you create would actually also be used for the install phase when the artifacts are copied into the local repository.” ⇒ Very good point, thank you.

    – Olivier Cailloux
    Nov 12 '18 at 13:27














0












0








0








I would like my project to generate javadoc and sources artifacts only when I activate the deploy phase, not when I ask for mvn install. That is because I only need those artifacts when deploying, and I want to save time when not deploying.



Therefore, I thought about binding the maven-source-plugin goal to the deploy phase.



But, I need those artifacts to exist at the time the deploy goal runs. Thus, the source and javadoc generation goals must run before the deploy goal. Unfortunately, the goal from the packaging is executed first (as documented).



I am aware the usual advice is to define a “release” profile and define the javadoc plugin (and related ones) only there. But this seems needlessly complicated for my simple use case. Now I need to think about activating the release profile exactly when I ask for deploying, I would prefer the right plugins to be activated automatically depending on the phase I ask for.



I am surprised this does not seem to be considered possible or even desirable by Maven (as it does not seem to allow for a goal to run in the deploy phase but before the deploy goal). Did I miss something, is this possible? Or, is there any reason not to do it in the way I consider? (Otherwise, I am thinking about introducing a feature request.)










share|improve this question














I would like my project to generate javadoc and sources artifacts only when I activate the deploy phase, not when I ask for mvn install. That is because I only need those artifacts when deploying, and I want to save time when not deploying.



Therefore, I thought about binding the maven-source-plugin goal to the deploy phase.



But, I need those artifacts to exist at the time the deploy goal runs. Thus, the source and javadoc generation goals must run before the deploy goal. Unfortunately, the goal from the packaging is executed first (as documented).



I am aware the usual advice is to define a “release” profile and define the javadoc plugin (and related ones) only there. But this seems needlessly complicated for my simple use case. Now I need to think about activating the release profile exactly when I ask for deploying, I would prefer the right plugins to be activated automatically depending on the phase I ask for.



I am surprised this does not seem to be considered possible or even desirable by Maven (as it does not seem to allow for a goal to run in the deploy phase but before the deploy goal). Did I miss something, is this possible? Or, is there any reason not to do it in the way I consider? (Otherwise, I am thinking about introducing a feature request.)







java maven maven-deploy-plugin






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 10 '18 at 21:11









Olivier CaillouxOlivier Cailloux

559418




559418







  • 1





    in this case I seems the advice to use a profile fits best. The javadoc files you create would actually also be used for the install phase when the artifacts are copied into the local repository. You might be able to gain control over this by configuring the source plugin to the deploy phase and also the deploy plugin itself (mainly keeping the defaults, only put it below in the pom). Since the order in the pom will be reflected in the execution order.

    – wemu
    Nov 10 '18 at 21:42






  • 1





    “The javadoc files you create would actually also be used for the install phase when the artifacts are copied into the local repository.” ⇒ Very good point, thank you.

    – Olivier Cailloux
    Nov 12 '18 at 13:27













  • 1





    in this case I seems the advice to use a profile fits best. The javadoc files you create would actually also be used for the install phase when the artifacts are copied into the local repository. You might be able to gain control over this by configuring the source plugin to the deploy phase and also the deploy plugin itself (mainly keeping the defaults, only put it below in the pom). Since the order in the pom will be reflected in the execution order.

    – wemu
    Nov 10 '18 at 21:42






  • 1





    “The javadoc files you create would actually also be used for the install phase when the artifacts are copied into the local repository.” ⇒ Very good point, thank you.

    – Olivier Cailloux
    Nov 12 '18 at 13:27








1




1





in this case I seems the advice to use a profile fits best. The javadoc files you create would actually also be used for the install phase when the artifacts are copied into the local repository. You might be able to gain control over this by configuring the source plugin to the deploy phase and also the deploy plugin itself (mainly keeping the defaults, only put it below in the pom). Since the order in the pom will be reflected in the execution order.

– wemu
Nov 10 '18 at 21:42





in this case I seems the advice to use a profile fits best. The javadoc files you create would actually also be used for the install phase when the artifacts are copied into the local repository. You might be able to gain control over this by configuring the source plugin to the deploy phase and also the deploy plugin itself (mainly keeping the defaults, only put it below in the pom). Since the order in the pom will be reflected in the execution order.

– wemu
Nov 10 '18 at 21:42




1




1





“The javadoc files you create would actually also be used for the install phase when the artifacts are copied into the local repository.” ⇒ Very good point, thank you.

– Olivier Cailloux
Nov 12 '18 at 13:27






“The javadoc files you create would actually also be used for the install phase when the artifacts are copied into the local repository.” ⇒ Very good point, thank you.

– Olivier Cailloux
Nov 12 '18 at 13:27













0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53243440%2fbind-javadoc-and-sources-goals-to-deploy-phase-before-deploy-goal-is-run%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53243440%2fbind-javadoc-and-sources-goals-to-deploy-phase-before-deploy-goal-is-run%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

Edmonton

Crossroads (UK TV series)