Bind javadoc and sources goals to deploy phase before deploy goal is run
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
add a comment |
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
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
add a comment |
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
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
java maven maven-deploy-plugin
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
add a comment |
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
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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