Author: hboutemy Date: Sun Jul 24 22:17:51 2011 New Revision: 1150501 URL: http://svn.apache.org/viewvc?rev=1150501&view=rev Log: [MSITE-599] improved error message in case of unavailable deploy protocol, with a dedicated example page to show how to add a protocol
Added: maven/plugins/trunk/maven-site-plugin/src/site/apt/examples/adding-deploy-protocol.apt.vm (with props) Modified: maven/plugins/trunk/maven-site-plugin/pom.xml maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractDeployMojo.java maven/plugins/trunk/maven-site-plugin/src/site/apt/index.apt Modified: maven/plugins/trunk/maven-site-plugin/pom.xml URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-site-plugin/pom.xml?rev=1150501&r1=1150500&r2=1150501&view=diff ============================================================================== --- maven/plugins/trunk/maven-site-plugin/pom.xml (original) +++ maven/plugins/trunk/maven-site-plugin/pom.xml Sun Jul 24 22:17:51 2011 @@ -337,42 +337,12 @@ under the License. <artifactId>wagon-provider-api</artifactId> <version>${wagonVersion}</version> </dependency> - <dependency> - <groupId>org.apache.maven.wagon</groupId> - <artifactId>wagon-file</artifactId> - <version>${wagonVersion}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.maven.wagon</groupId> - <artifactId>wagon-http-lightweight</artifactId> - <version>${wagonVersion}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.maven.wagon</groupId> - <artifactId>wagon-ssh</artifactId> - <version>${wagonVersion}</version> - <scope>runtime</scope> - </dependency> - <dependency> - <groupId>org.apache.maven.wagon</groupId> - <artifactId>wagon-ssh-external</artifactId> - <version>${wagonVersion}</version> - <scope>runtime</scope> - </dependency> - <dependency> - <groupId>org.apache.maven.wagon</groupId> - <artifactId>wagon-ftp</artifactId> - <version>${wagonVersion}</version> - <scope>runtime</scope> - </dependency> <dependency> <groupId>org.apache.maven.wagon</groupId> <artifactId>wagon-webdav-jackrabbit</artifactId> <version>${wagonVersion}</version> - <scope>runtime</scope> + <scope>test</scope> <exclusions> <exclusion> <groupId>org.slf4j</groupId> @@ -381,27 +351,6 @@ under the License. </exclusions> </dependency> - <dependency> - <groupId>org.apache.maven.wagon</groupId> - <artifactId>wagon-scm</artifactId> - <version>${wagonVersion}</version> - <scope>runtime</scope> - </dependency> - - <!-- adding at least svn --> - <dependency> - <groupId>org.apache.maven.scm</groupId> - <artifactId>maven-scm-api</artifactId> - <version>${scmVersion}</version> - <scope>runtime</scope> - </dependency> - <dependency> - <groupId>org.apache.maven.scm</groupId> - <artifactId>maven-scm-provider-svnexe</artifactId> - <version>${scmVersion}</version> - <scope>runtime</scope> - </dependency> - <!-- Plexus --> <dependency> <groupId>org.codehaus.plexus</groupId> Modified: maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractDeployMojo.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractDeployMojo.java?rev=1150501&r1=1150500&r2=1150501&view=diff ============================================================================== --- maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractDeployMojo.java (original) +++ maven/plugins/trunk/maven-site-plugin/src/main/java/org/apache/maven/plugins/site/AbstractDeployMojo.java Sun Jul 24 22:17:51 2011 @@ -260,7 +260,7 @@ public abstract class AbstractDeployMojo throws MojoExecutionException { // TODO: work on moving this into the deployer like the other deploy methods - final Wagon wagon = getWagon( repository, wagonManager ); + final Wagon wagon = getWagon( repository, wagonManager, getLog() ); try { @@ -343,7 +343,7 @@ public abstract class AbstractDeployMojo return buildDirectory; } - private static Wagon getWagon( final Repository repository, final WagonManager manager ) + private Wagon getWagon( final Repository repository, final WagonManager manager, final Log log ) throws MojoExecutionException { final Wagon wagon; @@ -354,7 +354,13 @@ public abstract class AbstractDeployMojo } catch ( UnsupportedProtocolException e ) { - throw new MojoExecutionException( "Unsupported protocol: '" + repository.getProtocol() + "'", e ); + log.error( "Unavailable protocol for site deployment: '" + repository.getProtocol() + "'" ); + + throw new MojoExecutionException( + this, + "Unavailable protocol for site deployment: '" + repository.getProtocol() + "'", + "To add a new protocol to site plugin, see " + + "http://maven.apache.org/plugins/maven-site-plugin/examples/adding-deploy-protocol.html" ); } catch ( TransferFailedException e ) { Added: maven/plugins/trunk/maven-site-plugin/src/site/apt/examples/adding-deploy-protocol.apt.vm URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-site-plugin/src/site/apt/examples/adding-deploy-protocol.apt.vm?rev=1150501&view=auto ============================================================================== --- maven/plugins/trunk/maven-site-plugin/src/site/apt/examples/adding-deploy-protocol.apt.vm (added) +++ maven/plugins/trunk/maven-site-plugin/src/site/apt/examples/adding-deploy-protocol.apt.vm Sun Jul 24 22:17:51 2011 @@ -0,0 +1,64 @@ + ------ + Adding a Protocol to Deploy the Site + ------ + Hervé Boutemy + ------ + 2011-07-24 + ------ + + ~~ Licensed to the Apache Software Foundation (ASF) under one + ~~ or more contributor license agreements. See the NOTICE file + ~~ distributed with this work for additional information + ~~ regarding copyright ownership. The ASF licenses this file + ~~ to you under the Apache License, Version 2.0 (the + ~~ "License"); you may not use this file except in compliance + ~~ with the License. You may obtain a copy of the License at + ~~ + ~~ http://www.apache.org/licenses/LICENSE-2.0 + ~~ + ~~ Unless required by applicable law or agreed to in writing, + ~~ software distributed under the License is distributed on an + ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~~ KIND, either express or implied. See the License for the + ~~ specific language governing permissions and limitations + ~~ under the License. + + ~~ NOTE: For help with the syntax of this file, see: + ~~ http://maven.apache.org/doxia/references/apt-format.html + + +Adding a Protocol to Deploy the Site + + Maven 3 - then Maven Site Plugin - comes with minimal built-in protocol support: <<<file>>>, <<<http>>>, <<<https>>>. + Maven 2 adds <<<scp>>> to this list. + + To deploy a site with a non-built-in protocol, you'll need to add a new {{{http://maven.apache.org/wagon}wagon provider}}. + + You can add it either as a global extension, or just let it at site plugin level: + ++-----+ +<project> + ... + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-site-plugin</artifactId> + <version>${project.version}</version> + <dependencies> + <dependencies> + <dependency><!-- add support for ssh/scp --> + <groupId>org.apache.maven.wagon</groupId> + <artifactId>wagon-ssh</artifactId> + <version>1.0</version> + </dependency> + </dependencies> + </dependencies> + </plugin> + </plugins> + </pluginManagement> + </build> + ... +</project> ++-----+ Propchange: maven/plugins/trunk/maven-site-plugin/src/site/apt/examples/adding-deploy-protocol.apt.vm ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugins/trunk/maven-site-plugin/src/site/apt/examples/adding-deploy-protocol.apt.vm ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Modified: maven/plugins/trunk/maven-site-plugin/src/site/apt/index.apt URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-site-plugin/src/site/apt/index.apt?rev=1150501&r1=1150500&r2=1150501&view=diff ============================================================================== --- maven/plugins/trunk/maven-site-plugin/src/site/apt/index.apt (original) +++ maven/plugins/trunk/maven-site-plugin/src/site/apt/index.apt Sun Jul 24 22:17:51 2011 @@ -97,6 +97,8 @@ Maven Site Plugin 3 * {{{./examples/configuring-reports.html}Configuring Reports}} + * {{{./examples/adding-deploy-protocol.html}Adding a Protocol to Deploy the Site}} + * {{{./examples/siterun.html}Configuring Site Run}} * {{{./examples/templatefile.html}Changing the Template File}}