Bind javadoc and sources goals to deploy phase before deploy goal is run
up vote
0
down vote
favorite
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 |
up vote
0
down vote
favorite
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 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 at 13:27
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
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 at 21:11
Olivier 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 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 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 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 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 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 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 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 at 13:27
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
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 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 at 13:27