private ScmTranslator getScmTranslator( ScmRepository scmRepository ) { return scmTranslators.get( scmRepository.getProvider() ); }
private ScmRepository getScmRepository( Project project, boolean useCredentialsCache ) throws ScmRepositoryException, NoSuchScmProviderException { ScmRepository repository = scmManager.makeScmRepository( project.getScmUrl().trim() ); repository.getProviderRepository().setPersistCheckout( true ); if ( !( useCredentialsCache && repository.getProvider().equals( "svn" ) ) ) { if ( !StringUtils.isEmpty( project.getScmUsername() ) ) { repository.getProviderRepository().setUser( project.getScmUsername() ); if ( !StringUtils.isEmpty( project.getScmPassword() ) ) { repository.getProviderRepository().setPassword( project.getScmPassword() ); } else { repository.getProviderRepository().setPassword( "" ); } } } if ( repository.getProvider().equals( "perforce" ) ) { //Remove the clientspec name, so it will be recalcuated between each command for each project //instead of use the same for all projects System.setProperty( "maven.scm.perforce.clientspec.name", "" ); } return repository; }
if ( !configuration.isUseCredentialsCache() || !"svn".equals( repository.getProvider() ) ) if ( "perforce".equals( repository.getProvider() ) )
/** * {@inheritDoc} */ public ScmProvider getProviderByRepository( ScmRepository repository ) throws NoSuchScmProviderException { return getProviderByType( repository.getProvider() ); }
if ( !StringUtils.isEmpty( tagBase ) && repository.getProvider().equals( "svn" ) )
/** * {@inheritDoc} */ public ScmProvider getProviderByRepository( ScmRepository repository ) throws NoSuchScmProviderException { return getProviderByType( repository.getProvider() ); }
return currentBranchName; } else throw new ScmException("No implementation for "+repository.getProvider());
/** * Convenience method that return true is the defined * <code>SCM repository</code> is a known provider. * <p> * Currently, we fully support ClearCase, CVS, Git, Perforce, Mercurial, * Starteam and Subversion by the maven-scm-providers component. * </p> * * @param scmRepository a SCM repository * @param scmProvider a SCM provider name * @return true if the provider of the given SCM repository is equal to the * given scm provider. * @see * <a href="http://svn.apache.org/repos/asf/maven/scm/trunk/maven-scm-providers/">maven-scm-providers</a> */ private static boolean isScmSystem(ScmRepository scmRepository, String scmProvider) { if (StringUtils.isEmpty(scmProvider)) { return false; } if (scmRepository != null && scmProvider.equalsIgnoreCase(scmRepository.getProvider())) { return true; } return false; } }
new CommandParameters()).getCommandOutput().substring(0, 7); } else throw new ScmException("No implementation for "+repository.getProvider());
/** * Convenience method that return true is the defined <code>SCM repository</code> is a known provider. * <p> * Currently, we fully support ClearCase, CVS, Git, Perforce, Mercurial, Starteam and Subversion * by the maven-scm-providers component. * </p> * * @param scmRepository a SCM repository * @param scmProvider a SCM provider name * @return true if the provider of the given SCM repository is equal to the given scm provider. * @see <a href="http://svn.apache.org/repos/asf/maven/scm/trunk/maven-scm-providers/">maven-scm-providers</a> */ private static boolean isScmSystem( ScmRepository scmRepository, String scmProvider ) { if ( StringUtils.isEmpty( scmProvider ) ) { return false; } if ( scmRepository != null && scmProvider.equalsIgnoreCase( scmRepository.getProvider() ) ) { return true; } return false; } }
if ( "svn".equals( repository.getProvider() ) )
public UpdateScmResult update( ContinuumScmConfiguration configuration ) throws ScmException { ScmVersion scmVersion = getScmVersion( configuration ); File workingDirectory = configuration.getWorkingDirectory(); if ( !workingDirectory.exists() ) { // TODO: maybe we could check it out - it seems we currently rely on Continuum figuring this out throw new IllegalStateException( "The working directory for the project doesn't exist " + "(" + workingDirectory.getAbsolutePath() + ")." ); } ScmRepository repository = getScmRepository( configuration ); // Some SCM provider requires additional system properties during update if ( "starteam".equals( repository.getProvider() ) ) { // TODO: remove the use of system property - need a better way to pass provider specific configuration // Remove the clientspec name, so it will be recalculated between each command for each project // instead of use the same for all projects System.setProperty( "maven.scm.starteam.deleteLocal", "true" ); } UpdateScmResult result; ScmFileSet fileSet = new ScmFileSet( workingDirectory ); // TODO: shouldn't need to synchronize this synchronized ( this ) { result = scmManager.update( repository, fileSet, scmVersion, configuration.getLatestUpdateDate() ); } return result; }
try { ScmRepository repository = getScmRepository(getRepository().getUrl()); ScmProvider provider = getScmProvider(repository.getProvider()); ListScmResult result = provider.list(repository, new ScmFileSet(new File("."), new File(resourcePath)), false, (ScmVersion) null);
/** * @return a List<String> with filenames/directories at the resourcepath. * @see org.apache.maven.wagon.AbstractWagon#getFileList(java.lang.String) */ public List<String> getFileList( String resourcePath ) throws TransferFailedException, ResourceDoesNotExistException, AuthorizationException { try { ScmRepository repository = getScmRepository( getRepository().getUrl() ); ScmProvider provider = getScmProvider( repository.getProvider() ); ListScmResult result = provider.list( repository, new ScmFileSet( new File( "." ), new File( resourcePath ) ), false, makeScmVersion() ); if ( !result.isSuccess() ) { throw new ResourceDoesNotExistException( result.getProviderMessage() ); } List<String> files = new ArrayList<String>(); for ( ScmFile f : result.getFiles() ) { files.add( f.getPath() ); } return files; } catch ( ScmException e ) { throw new TransferFailedException( "Error getting filelist from SCM", e ); } }
ScmProvider scmProvider = getScmProvider(scmRepository.getProvider());
ScmProvider scmProvider = getScmProvider( scmRepository.getProvider() );
ScmTranslator scmTranslator = scmTranslators.get( repository.getProvider() );
ScmProvider scmProvider = getScmProvider( scmRepository.getProvider() ); if ( subdir.length() != 0 && supportsPartialCheckout( scmProvider ) )
throws IOException ScmTranslator translator = getScmTranslators().get( scmRepository.getProvider() ); boolean result = false; if ( translator != null )
if ( scmRoot != null ) ScmTranslator translator = getScmTranslators().get( scmRepository.getProvider() ); if ( translator != null )