diff --git a/site/plugin.jelly b/site/plugin.jelly index 63ab9ffe..54602b4f 100644 --- a/site/plugin.jelly +++ b/site/plugin.jelly @@ -82,28 +82,51 @@ + + + + + + + + + siteDirectory = ${siteDirectory} + + + + + + + + + + + + + + + + + + siteAddress = ${siteAddress} + siteUsername = ${siteUsername} + + + - - - - siteAddress = ${pom.siteAddress} - siteDirectory = ${pom.siteDirectory} - siteUser = ${maven.username} - - - + remotedir="${siteDirectory}"> @@ -115,19 +138,11 @@ - - - - siteAddress = ${pom.siteAddress} - siteDirectory = ${pom.siteDirectory} - siteUser = ${maven.username} - - - + @@ -135,15 +150,15 @@ - + - + - + @@ -156,17 +171,12 @@ - - siteAddress = ${pom.siteAddress} - siteDirectory = ${pom.siteDirectory} - - - + @@ -208,4 +218,47 @@ + + + + + + + + source site address: ${siteAddress} + source site directory: ${siteDirectory} + source site username: ${siteUsername} + destination site address: ${destSiteAddress} + destination site directory: ${destSiteDirectory} + destination site username: ${destSiteUsername} + + + + Source and destination is identical + + + + + + + + + + + + + + + + + + + + + + diff --git a/site/plugin.properties b/site/plugin.properties index 23e7a6c9..6ff83be1 100644 --- a/site/plugin.properties +++ b/site/plugin.properties @@ -30,5 +30,7 @@ maven.site.tar.executable=tar maven.site.tar.options=xUvf maven.site.gunzip.executable=gunzip +maven.rsync.executable=rsync + maven.username=USERNAME_NOT_SET diff --git a/site/xdocs/changes.xml b/site/xdocs/changes.xml index a1ca0391..b6f4ac3e 100644 --- a/site/xdocs/changes.xml +++ b/site/xdocs/changes.xml @@ -24,6 +24,9 @@ dIon Gillard + + Add the ability to have an intermediate staging publish step for the site + Allow tar options as a property diff --git a/site/xdocs/goals.xml b/site/xdocs/goals.xml index 47f34c63..111a7582 100644 --- a/site/xdocs/goals.xml +++ b/site/xdocs/goals.xml @@ -60,7 +60,17 @@ Generates the site using the site:generate, and then deploys the site using either ssh or copying via the file system, depending on the maven.site.deploy.method - property. + property. If the maven.site.stage.address or maven.site.stage.directory + properties are set then the site is deployed there instead for later publishing with + site:publish + + + + site:publish + + This will synchronize the stage directory to the live directory, using rsync. + If rsync is not available on either of the machines, you should use the site:deploy + goal again instead, with maven.site.deploy.live set to true. @@ -71,12 +81,25 @@ and then unpacking them into the pom.siteDirectory + + site:ftpdeploy + + Deploys the site by FTP'ing the docs to the pom.siteDirectory + directory on the pom.siteAddress server. + + site:fsdeploy Deploys the site by coping the docs to the pom.siteDirectory + + site:rsyncdeploy + + Deploys the site by rsyncing the docs to the pom.siteDirectory + + diff --git a/site/xdocs/properties.xml b/site/xdocs/properties.xml index 5223bb77..7b286250 100644 --- a/site/xdocs/properties.xml +++ b/site/xdocs/properties.xml @@ -28,6 +28,29 @@
+ + + + + + + + + + + + + + + @@ -56,6 +79,17 @@ named ssh must be in your path). + + + + + @@ -67,7 +101,7 @@
maven.site.stage.addressYes + Specifies the site address to use when publishing to staging. If not specified, the same address + is used as live. +
maven.site.stage.directoryYes + Specifies the site directory to use when publishing to staging. If not specified, the same directory + is used as live. +
maven.site.deploy.liveYes + Force the use of the live deployment parameters, even if the staging ones are specified +
maven.scp.executable Yes
maven.rsync.executableYes + Specifies the name (and possibly location) of the remote rsync + executable to use. This is used by the "site:publish" and + "site:rsyncdeploy" goal. + The default value is rsync (i.e. an executable + named rsync must be in your path). +
maven.ssh.args Yesmaven.site.deploy.method Yes - Specifies the method to use when deploying the site. Possible values are: + Specifies the method to use when deploying the site. Possible values are: ftp, rsync, fs and ssh. The ssh method is the good old method which has always been used within Maven. When you specify fs the site will be deployed on a local file system.