Maven 1.x Site Plugin

site:deploy with "clean"

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 1.6
  • Fix Version/s: 1.7
  • Component/s: plugin
  • Labels:
    None
  • Number of attachments :
    0

Description

The site:deploy with "clean" (clean target site before deployment) functionality does not respect the args set in maven.ssh.args. This causes problems if the maven.ssh.args property specifies a particular SSH keypair to use; when cleaning, the plugin will thereby try to ssh to the target without specifying a key (or any other args) and will fail.

For example:

--8<-- project.properties --8<--
maven.scp.args=-i /home/jdunn/.ssh/id_dsa_maventest
maven.site.deploy.method=ssh
maven.ssh.args=-i /home/jdunn/.ssh/id_dsa_maventest
maven.username=jdunn
maven.site.deploy.clean=true
--8<-- project.properties --8<--

where ~/.ssh/id_dsa_maventest is a public/private keypair verified to work interactively, then

% maven site:deploy
.
.
.
site:sshdeploy:
[tar] Building tar: /home/jdunn/devel/platform/target/platform-1.0-site.tar
[gzip] Building: /home/jdunn/devel/platform/target/platform-1.0-site.tar.gz
[delete] Deleting: /home/jdunn/devel/platform/target/platform-1.0-site.tar
[echo] Cleaning destination first
jdunn@host01's password:
jdunn@host01's password: [exec] Permission denied, please try again.

Activity

Hide
Julian Dunn added a comment -

I think this patch would probably fix it.

— plugin.jelly.bak 2005-04-22 16:27:06.055396318 -0400
+++ plugin.jelly 2005-04-22 16:28:15.625727301 -0400
@@ -152,7 +152,7 @@
<j:if test="${siteClean}">
<echo>Cleaning destination first</echo>
<exec dir="." executable="${maven.ssh.executable}">

  • <arg line="${siteUsername}@${siteAddress} 'rm -r ${siteDirectory}'" />
    + <arg line="${maven.ssh.args} -l ${siteUsername} ${siteAddress} 'rm -r ${siteDirectory}'" />
    </exec>
    </j:if>

However, my view is that it would be nicer if the "clean" target were able to remove only files that don't exist in the new tarball, so that while the tarball is being pushed over SSH (and if the push fails) then the site doesn't suddenly go AWOL?

Show
Julian Dunn added a comment - I think this patch would probably fix it. — plugin.jelly.bak 2005-04-22 16:27:06.055396318 -0400 +++ plugin.jelly 2005-04-22 16:28:15.625727301 -0400 @@ -152,7 +152,7 @@ <j:if test="${siteClean}"> <echo>Cleaning destination first</echo> <exec dir="." executable="${maven.ssh.executable}">
  • <arg line="${siteUsername}@${siteAddress} 'rm -r ${siteDirectory}'" /> + <arg line="${maven.ssh.args} -l ${siteUsername} ${siteAddress} 'rm -r ${siteDirectory}'" /> </exec> </j:if>
However, my view is that it would be nicer if the "clean" target were able to remove only files that don't exist in the new tarball, so that while the tarball is being pushed over SSH (and if the push fails) then the site doesn't suddenly go AWOL?
Hide
Lukas Theussl added a comment -

Fixed, thanks!
The risk about using the clean option is documented on the plugin site.

Show
Lukas Theussl added a comment - Fixed, thanks! The risk about using the clean option is documented on the plugin site.

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: