org.kathrynhuxtable.maven.wagon.gitsite
Class GitSiteWagon

java.lang.Object
  extended by org.apache.maven.wagon.AbstractWagon
      extended by org.kathrynhuxtable.maven.wagon.gitsite.GitSiteWagon
All Implemented Interfaces:
org.apache.maven.wagon.Wagon

public class GitSiteWagon
extends org.apache.maven.wagon.AbstractWagon

Wagon provider to deploy site documentation to GitHub's pages system.

This should do more or less the following, but doesn't because it doesn't delete old files.

 mkdir ${checkoutDirectory}
 cd ${checkoutDirectory}
 git init
 git remote add origin ${gitRepoUrl}
 git pull origin refs/heads/${siteBranch}
 
 git add .
 git commit -a -m "Deploy site documentation."
 git push origin master:${siteBranch}
 rm -Rf ${checkoutDirectory}
 

Version:
$Id: GitSiteWagon.java 894435 2009-12-29 16:38:38Z bentmann $
Author:
Kathryn Huxtable, Brett Porter, Emmanuel Venisse, Carlos Sanchez, Jason van Zyl

Field Summary
 
Fields inherited from class org.apache.maven.wagon.AbstractWagon
authenticationInfo, DEFAULT_BUFFER_SIZE, interactive, proxyInfo, repository, sessionEventSupport, transferEventSupport
 
Fields inherited from interface org.apache.maven.wagon.Wagon
ROLE
 
Constructor Summary
GitSiteWagon()
           
 
Method Summary
 void closeConnection()
           
 void connect(org.apache.maven.wagon.repository.Repository repository, org.apache.maven.wagon.authentication.AuthenticationInfo authenticationInfo, org.apache.maven.wagon.proxy.ProxyInfoProvider proxyInfoProvider)
           
 void get(java.lang.String resourceName, java.io.File destination)
           
 java.io.File getCheckoutDirectory()
          Get the directory where Wagon will checkout files from SCM.
 java.util.List<java.lang.String> getFileList(java.lang.String resourcePath)
          Get the file list for the resource.
 boolean getIfNewer(java.lang.String resourceName, java.io.File destination, long timestamp)
          Not implemented
 org.apache.maven.scm.manager.ScmManager getScmManager()
          Get the ScmManager used in this Wagon
 org.apache.maven.scm.provider.ScmProvider getScmProvider(java.lang.String scmType)
          Convenience method to get the ScmProvider implementation to handle the provided SCM type
 void openConnectionInternal()
          This will cleanup the checkout directory
 void put(java.io.File source, java.lang.String destination)
           
 void putDirectory(java.io.File sourceDirectory, java.lang.String destinationDirectory)
           
 boolean resourceExists(java.lang.String resourceName)
           
 void setCheckoutDirectory(java.io.File checkoutDirectory)
          Set the directory where Wagon will checkout files from SCM.
 void setScmManager(org.apache.maven.scm.manager.ScmManager scmManager)
          Set the ScmManager used in this Wagon
 boolean supportsDirectoryCopy()
          Return whether or not this wagon supports directory copy.
 
Methods inherited from class org.apache.maven.wagon.AbstractWagon
addSessionListener, addTransferListener, cleanupGetTransfer, cleanupPutTransfer, connect, connect, connect, connect, connect, createParentDirectories, disconnect, finishGetTransfer, finishPutTransfer, fireGetCompleted, fireGetInitiated, fireGetStarted, firePutCompleted, firePutInitiated, firePutStarted, fireSessionConnectionRefused, fireSessionDebug, fireSessionDisconnected, fireSessionDisconnecting, fireSessionError, fireSessionLoggedIn, fireSessionLoggedOff, fireSessionOpened, fireSessionOpening, fireTransferDebug, fireTransferError, fireTransferProgress, getAuthenticationInfo, getPath, getPermissionsOverride, getProxyInfo, getProxyInfo, getRepository, getSessionEventSupport, getTimeout, getTransfer, getTransfer, getTransfer, getTransfer, getTransferEventSupport, hasSessionListener, hasTransferListener, isInteractive, openConnection, postProcessListeners, putTransfer, putTransfer, removeSessionListener, removeTransferListener, setInteractive, setPermissionsOverride, setSessionEventSupport, setTimeout, setTransferEventSupport, transfer, transfer, transfer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GitSiteWagon

public GitSiteWagon()
Method Detail

getScmManager

public org.apache.maven.scm.manager.ScmManager getScmManager()
Get the ScmManager used in this Wagon

Returns:
the ScmManager

setScmManager

public void setScmManager(org.apache.maven.scm.manager.ScmManager scmManager)
Set the ScmManager used in this Wagon

Parameters:
scmManager -

getCheckoutDirectory

public java.io.File getCheckoutDirectory()
Get the directory where Wagon will checkout files from SCM. This directory will be deleted!

Returns:
directory

setCheckoutDirectory

public void setCheckoutDirectory(java.io.File checkoutDirectory)
Set the directory where Wagon will checkout files from SCM. This directory will be deleted!

Parameters:
checkoutDirectory -

getScmProvider

public org.apache.maven.scm.provider.ScmProvider getScmProvider(java.lang.String scmType)
                                                         throws org.apache.maven.scm.manager.NoSuchScmProviderException
Convenience method to get the ScmProvider implementation to handle the provided SCM type

Parameters:
scmType - type of SCM, eg. svn, cvs
Returns:
the ScmProvider that will handle provided SCM type
Throws:
org.apache.maven.scm.manager.NoSuchScmProviderException - if there is no ScmProvider able to handle that SCM type

openConnectionInternal

public void openConnectionInternal()
                            throws org.apache.maven.wagon.ConnectionException
This will cleanup the checkout directory

Specified by:
openConnectionInternal in class org.apache.maven.wagon.AbstractWagon
Throws:
org.apache.maven.wagon.ConnectionException

supportsDirectoryCopy

public boolean supportsDirectoryCopy()
Return whether or not this wagon supports directory copy.

Specified by:
supportsDirectoryCopy in interface org.apache.maven.wagon.Wagon
Overrides:
supportsDirectoryCopy in class org.apache.maven.wagon.AbstractWagon
Returns:
true

connect

public void connect(org.apache.maven.wagon.repository.Repository repository,
                    org.apache.maven.wagon.authentication.AuthenticationInfo authenticationInfo,
                    org.apache.maven.wagon.proxy.ProxyInfoProvider proxyInfoProvider)
             throws org.apache.maven.wagon.ConnectionException,
                    org.apache.maven.wagon.authentication.AuthenticationException
Specified by:
connect in interface org.apache.maven.wagon.Wagon
Overrides:
connect in class org.apache.maven.wagon.AbstractWagon
Throws:
org.apache.maven.wagon.ConnectionException
org.apache.maven.wagon.authentication.AuthenticationException
See Also:
AbstractWagon.connect(org.apache.maven.wagon.repository.Repository, org.apache.maven.wagon.authentication.AuthenticationInfo, org.apache.maven.wagon.proxy.ProxyInfoProvider)

put

public void put(java.io.File source,
                java.lang.String destination)
         throws org.apache.maven.wagon.TransferFailedException
Throws:
org.apache.maven.wagon.TransferFailedException
See Also:
Wagon.put(java.io.File, java.lang.String)

putDirectory

public void putDirectory(java.io.File sourceDirectory,
                         java.lang.String destinationDirectory)
                  throws org.apache.maven.wagon.TransferFailedException,
                         org.apache.maven.wagon.ResourceDoesNotExistException,
                         org.apache.maven.wagon.authorization.AuthorizationException
Specified by:
putDirectory in interface org.apache.maven.wagon.Wagon
Overrides:
putDirectory in class org.apache.maven.wagon.AbstractWagon
Throws:
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
org.apache.maven.wagon.authorization.AuthorizationException
See Also:
AbstractWagon.putDirectory(java.io.File, java.lang.String)

closeConnection

public void closeConnection()
                     throws org.apache.maven.wagon.ConnectionException
Specified by:
closeConnection in class org.apache.maven.wagon.AbstractWagon
Throws:
org.apache.maven.wagon.ConnectionException
See Also:
AbstractWagon.closeConnection()

getIfNewer

public boolean getIfNewer(java.lang.String resourceName,
                          java.io.File destination,
                          long timestamp)
                   throws org.apache.maven.wagon.TransferFailedException,
                          org.apache.maven.wagon.ResourceDoesNotExistException,
                          org.apache.maven.wagon.authorization.AuthorizationException
Not implemented

Parameters:
resourceName -
destination -
timestamp -
Returns:
Throws:
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
org.apache.maven.wagon.authorization.AuthorizationException - always.

get

public void get(java.lang.String resourceName,
                java.io.File destination)
         throws org.apache.maven.wagon.TransferFailedException,
                org.apache.maven.wagon.ResourceDoesNotExistException,
                org.apache.maven.wagon.authorization.AuthorizationException
Throws:
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
org.apache.maven.wagon.authorization.AuthorizationException
See Also:
Wagon.get(java.lang.String, java.io.File)

getFileList

public java.util.List<java.lang.String> getFileList(java.lang.String resourcePath)
                                             throws org.apache.maven.wagon.TransferFailedException,
                                                    org.apache.maven.wagon.ResourceDoesNotExistException,
                                                    org.apache.maven.wagon.authorization.AuthorizationException
Get the file list for the resource.

Specified by:
getFileList in interface org.apache.maven.wagon.Wagon
Overrides:
getFileList in class org.apache.maven.wagon.AbstractWagon
Parameters:
resourcePath - the resource path.
Returns:
a List<String> with filenames/directories at the resourcepath.
Throws:
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.ResourceDoesNotExistException
org.apache.maven.wagon.authorization.AuthorizationException
See Also:
AbstractWagon.getFileList(java.lang.String)

resourceExists

public boolean resourceExists(java.lang.String resourceName)
                       throws org.apache.maven.wagon.TransferFailedException,
                              org.apache.maven.wagon.authorization.AuthorizationException
Specified by:
resourceExists in interface org.apache.maven.wagon.Wagon
Overrides:
resourceExists in class org.apache.maven.wagon.AbstractWagon
Throws:
org.apache.maven.wagon.TransferFailedException
org.apache.maven.wagon.authorization.AuthorizationException
See Also:
AbstractWagon.resourceExists(java.lang.String)


Copyright © 2010 kathrynhuxtable.org. All Rights Reserved.