Class PerforceScmProvider
java.lang.Object
org.apache.maven.scm.provider.AbstractScmProvider
org.apache.maven.scm.provider.perforce.PerforceScmProvider
- All Implemented Interfaces:
ScmProvider
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
private static Boolean
private static final String
private static final String[]
Fields inherited from interface org.apache.maven.scm.provider.ScmProvider
ROLE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionadd
(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 String
static String
createClientspec
(ScmLogger logger, PerforceScmProviderRepository repo, File workDir, String repoPath) static org.codehaus.plexus.util.cli.Commandline
createP4Command
(PerforceScmProviderRepository repo, File workingDir) protected DiffScmResult
diff
(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) protected EditScmResult
edit
(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) private static String
generateDefaultClientspecName
(ScmLogger logger, PerforceScmProviderRepository repo, File workDir) static String
getCanonicalRepoPath
(String repoPath) Given a path like "//depot/foo/bar", returns the proper path to include everything beneath it.static String
getClientspecName
(ScmLogger logger, PerforceScmProviderRepository repo, File workDir) static String
getRepoPath
(ScmLogger log, PerforceScmProviderRepository repo, File basedir) This is a "safe" method which handles cases where repo.getPath() is not actually a valid Perforce depot location.private static String
getUsername
(ScmLogger logger, PerforceScmProviderRepository repo) static boolean
isLive()
protected LoginScmResult
login
(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) makeProviderScmRepository
(String scmSpecificUrl, char delimiter) protected RemoveScmResult
remove
(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) boolean
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) Methods inherited from class org.apache.maven.scm.provider.AbstractScmProvider
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, untag, update, update, update, update, update, update, update, update, update, update, update, update, validateScmUrl, validateTagName
-
Field Details
-
PROTOCOLS
-
NEWLINE
- See Also:
-
DEFAULT_CLIENTSPEC_PROPERTY
- See Also:
-
live
-
-
Constructor Details
-
PerforceScmProvider
public PerforceScmProvider()
-
-
Method Details
-
requiresEditMode
public boolean requiresEditMode()Description copied from class:AbstractScmProvider
- Specified by:
requiresEditMode
in interfaceScmProvider
- Overrides:
requiresEditMode
in classAbstractScmProvider
-
makeProviderScmRepository
public ScmProviderRepository makeProviderScmRepository(String scmSpecificUrl, char delimiter) throws ScmRepositoryException - Throws:
ScmRepositoryException
-
getScmType
-
changelog
protected ChangeLogScmResult changelog(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) throws ScmException - Overrides:
changelog
in classAbstractScmProvider
- Throws:
ScmException
-
add
public AddScmResult add(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
add
in classAbstractScmProvider
- Throws:
ScmException
-
remove
protected RemoveScmResult remove(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
remove
in classAbstractScmProvider
- Throws:
ScmException
-
checkin
protected CheckInScmResult checkin(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
checkin
in classAbstractScmProvider
- Throws:
ScmException
-
checkout
protected CheckOutScmResult checkout(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
checkout
in classAbstractScmProvider
- Throws:
ScmException
-
diff
protected DiffScmResult diff(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
diff
in classAbstractScmProvider
- Throws:
ScmException
-
edit
protected EditScmResult edit(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
edit
in classAbstractScmProvider
- Throws:
ScmException
-
login
protected LoginScmResult login(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
login
in classAbstractScmProvider
- Throws:
ScmException
-
status
protected StatusScmResult status(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
status
in classAbstractScmProvider
- Throws:
ScmException
-
tag
protected TagScmResult tag(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
tag
in classAbstractScmProvider
- Throws:
ScmException
-
unedit
protected UnEditScmResult unedit(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
unedit
in classAbstractScmProvider
- Throws:
ScmException
-
update
protected UpdateScmResult update(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
update
in classAbstractScmProvider
- Throws:
ScmException
-
blame
protected BlameScmResult blame(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
blame
in classAbstractScmProvider
- Throws:
ScmException
-
createP4Command
public static org.codehaus.plexus.util.cli.Commandline createP4Command(PerforceScmProviderRepository repo, File workingDir) -
clean
-
getCanonicalRepoPath
Given a path like "//depot/foo/bar", returns the proper path to include everything beneath it. //depot/foo/bar -> //depot/foo/bar/... //depot/foo/bar/ -> //depot/foo/bar/... //depot/foo/bar/... -> //depot/foo/bar/...- Parameters:
repoPath
-- Returns:
-
createClientspec
public static String createClientspec(ScmLogger logger, PerforceScmProviderRepository repo, File workDir, String repoPath) -
getClientspecName
public static String getClientspecName(ScmLogger logger, PerforceScmProviderRepository repo, File workDir) -
generateDefaultClientspecName
private static String generateDefaultClientspecName(ScmLogger logger, PerforceScmProviderRepository repo, File workDir) -
getUsername
-
getRepoPath
This is a "safe" method which handles cases where repo.getPath() is not actually a valid Perforce depot location. This is a frequent error due to branches and directory naming where dir name != artifactId.- Parameters:
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 verifyrepo.getPath()/pom.xml
==p4 where basedir/pom.xml
- Returns:
- repo.getPath if it is determined to be accurate. The p4 where location otherwise.
-
isLive
public static boolean isLive()
-