Maven release:perform without deploy and calling an external shell script

前端 未结 2 844
谎友^
谎友^ 2021-01-31 18:27

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

相关标签:
2条回答
  • 2021-01-31 18:48

    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 or deploy 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.

    0 讨论(0)
  • 2021-01-31 18:56

    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"
    
    0 讨论(0)
提交回复
热议问题