I am using the maven release plugin. Problem is simple: I don\'t want to do a deploy on release:perform. I actually want to execute a shell script that will do the deploy for me
I am using the maven release plugin. Problem is simple: I don't want to do a deploy on release:perform. I actually want to execute a shell script that will do the deploy for me.
I must be missing something because when I read this, I don't see the point of the script... But let's just say I don't get it.
Somehow disable the default "deploy" goal from release:perform
According to the documentation of release:perform
, you can use the optional goals parameter to specify:
A space separated list of goals to execute on deployment. Default value is either
deploy
ordeploy site-deploy
, if the project has a<distributionManagement>/<site>
element.
You could maybe use install
instead of deploy
.
Somehow make release:perform call the exec:exec plugin to execute a shell script
Bind it on install
in a profile activated during release. Here is one way to do this:
<profile>
<!-- Profile used when the release plugin executes. -->
<id>release</id>
<activation>
<property>
<!-- This property is automatically defined by the Maven release plugin when executing
a release. Thus this profile will be automatically enabled when releasing -->
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<build>
...
</build>
</profile>
But honestly, there is something weird with your request. Maybe giving more details would help.
A little late, but for reference:
For your step 1, you can disable the maven deploy step by using the "skip" option. Click here for reference.
On the commandline you could call something like:
mvn release:perform -Darguments="-Dmaven.deploy.skip=true"