public class PerforceScmProvider extends AbstractScmProvider
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_CLIENTSPEC_PROPERTY |
private static java.lang.Boolean |
live |
private static java.lang.String |
NEWLINE |
private static java.lang.String[] |
PROTOCOLS |
ROLE
Constructor and Description |
---|
PerforceScmProvider() |
Modifier and Type | Method and Description |
---|---|
AddScmResult |
add(ScmProviderRepository repository,
ScmFileSet fileSet,
CommandParameters params) |
protected BlameScmResult |
blame(ScmProviderRepository repository,
ScmFileSet fileSet,
CommandParameters params) |
protected ChangeLogScmResult |
changelog(ScmProviderRepository repository,
ScmFileSet fileSet,
CommandParameters parameters) |
protected CheckInScmResult |
checkin(ScmProviderRepository repository,
ScmFileSet fileSet,
CommandParameters params) |
protected CheckOutScmResult |
checkout(ScmProviderRepository repository,
ScmFileSet fileSet,
CommandParameters params) |
static java.lang.String |
clean(java.lang.String string) |
static java.lang.String |
createClientspec(ScmLogger logger,
PerforceScmProviderRepository repo,
java.io.File workDir,
java.lang.String repoPath) |
static org.codehaus.plexus.util.cli.Commandline |
createP4Command(PerforceScmProviderRepository repo,
java.io.File workingDir) |
protected DiffScmResult |
diff(ScmProviderRepository repository,
ScmFileSet fileSet,
CommandParameters params) |
protected EditScmResult |
edit(ScmProviderRepository repository,
ScmFileSet fileSet,
CommandParameters params) |
private static java.lang.String |
generateDefaultClientspecName(ScmLogger logger,
PerforceScmProviderRepository repo,
java.io.File workDir) |
static java.lang.String |
getCanonicalRepoPath(java.lang.String repoPath)
Given a path like "//depot/foo/bar", returns the
proper path to include everything beneath it.
|
static java.lang.String |
getClientspecName(ScmLogger logger,
PerforceScmProviderRepository repo,
java.io.File workDir) |
static java.lang.String |
getRepoPath(ScmLogger log,
PerforceScmProviderRepository repo,
java.io.File basedir)
This is a "safe" method which handles cases where repo.getPath() is
not actually a valid Perforce depot location.
|
java.lang.String |
getScmType() |
private static java.lang.String |
getUsername(ScmLogger logger,
PerforceScmProviderRepository repo) |
static boolean |
isLive() |
protected LoginScmResult |
login(ScmProviderRepository repository,
ScmFileSet fileSet,
CommandParameters params) |
ScmProviderRepository |
makeProviderScmRepository(java.lang.String scmSpecificUrl,
char delimiter) |
protected RemoveScmResult |
remove(ScmProviderRepository repository,
ScmFileSet fileSet,
CommandParameters params) |
boolean |
requiresEditMode() |
protected StatusScmResult |
status(ScmProviderRepository repository,
ScmFileSet fileSet,
CommandParameters params) |
protected TagScmResult |
tag(ScmProviderRepository repository,
ScmFileSet fileSet,
CommandParameters params) |
protected UnEditScmResult |
unedit(ScmProviderRepository repository,
ScmFileSet fileSet,
CommandParameters params) |
protected UpdateScmResult |
update(ScmProviderRepository repository,
ScmFileSet fileSet,
CommandParameters params) |
add, add, add, addListener, blame, blame, branch, branch, branch, branch, changeLog, changeLog, changeLog, changeLog, changeLog, changeLog, changeLog, changeLog, changeLog, checkIn, checkIn, checkIn, checkOut, checkOut, checkOut, checkOut, checkOut, checkOut, checkOut, diff, diff, edit, export, export, export, export, export, export, getLogger, getScmSpecificFilename, info, list, list, list, makeProviderScmRepository, mkdir, mkdir, remoteInfo, remove, sanitizeTagName, status, tag, tag, tag, unedit, update, update, update, update, update, update, update, update, update, update, update, update, validateScmUrl, validateTagName
private static final java.lang.String[] PROTOCOLS
private static final java.lang.String NEWLINE
public static final java.lang.String DEFAULT_CLIENTSPEC_PROPERTY
private static java.lang.Boolean live
public boolean requiresEditMode()
AbstractScmProvider
requiresEditMode
in interface ScmProvider
requiresEditMode
in class AbstractScmProvider
public ScmProviderRepository makeProviderScmRepository(java.lang.String scmSpecificUrl, char delimiter) throws ScmRepositoryException
ScmRepositoryException
public java.lang.String getScmType()
protected ChangeLogScmResult changelog(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException
changelog
in class AbstractScmProvider
ScmException
public AddScmResult add(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException
add
in class AbstractScmProvider
ScmException
protected RemoveScmResult remove(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException
remove
in class AbstractScmProvider
ScmException
protected CheckInScmResult checkin(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException
checkin
in class AbstractScmProvider
ScmException
protected CheckOutScmResult checkout(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException
checkout
in class AbstractScmProvider
ScmException
protected DiffScmResult diff(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException
diff
in class AbstractScmProvider
ScmException
protected EditScmResult edit(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException
edit
in class AbstractScmProvider
ScmException
protected LoginScmResult login(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException
login
in class AbstractScmProvider
ScmException
protected StatusScmResult status(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException
status
in class AbstractScmProvider
ScmException
protected TagScmResult tag(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException
tag
in class AbstractScmProvider
ScmException
protected UnEditScmResult unedit(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException
unedit
in class AbstractScmProvider
ScmException
protected UpdateScmResult update(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException
update
in class AbstractScmProvider
ScmException
protected BlameScmResult blame(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException
blame
in class AbstractScmProvider
ScmException
public static org.codehaus.plexus.util.cli.Commandline createP4Command(PerforceScmProviderRepository repo, java.io.File workingDir)
public static java.lang.String clean(java.lang.String string)
public static java.lang.String getCanonicalRepoPath(java.lang.String repoPath)
repoPath
- public static java.lang.String createClientspec(ScmLogger logger, PerforceScmProviderRepository repo, java.io.File workDir, java.lang.String repoPath)
public static java.lang.String getClientspecName(ScmLogger logger, PerforceScmProviderRepository repo, java.io.File workDir)
private static java.lang.String generateDefaultClientspecName(ScmLogger logger, PerforceScmProviderRepository repo, java.io.File workDir)
private static java.lang.String getUsername(ScmLogger logger, PerforceScmProviderRepository repo)
public static java.lang.String getRepoPath(ScmLogger log, PerforceScmProviderRepository repo, java.io.File basedir)
log
- the logging object to userepo
- the Perforce repobasedir
- the base directory we are operating in. If pom.xml exists in this directory,
this method will verify repo.getPath()/pom.xml==
p4 where basedir/pom.xml
public static boolean isLive()