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 Stringprivate static Booleanprivate static final Stringprivate 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 BlameScmResultblame(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) protected ChangeLogScmResultchangelog(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters) protected CheckInScmResultcheckin(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) protected CheckOutScmResultcheckout(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) static Stringstatic StringcreateClientspec(ScmLogger logger, PerforceScmProviderRepository repo, File workDir, String repoPath) static org.codehaus.plexus.util.cli.CommandlinecreateP4Command(PerforceScmProviderRepository repo, File workingDir) protected DiffScmResultdiff(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) protected EditScmResultedit(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) private static StringgenerateDefaultClientspecName(ScmLogger logger, PerforceScmProviderRepository repo, File workDir) static StringgetCanonicalRepoPath(String repoPath) Given a path like "//depot/foo/bar", returns the proper path to include everything beneath it.static StringgetClientspecName(ScmLogger logger, PerforceScmProviderRepository repo, File workDir) static StringgetRepoPath(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 StringgetUsername(ScmLogger logger, PerforceScmProviderRepository repo) static booleanisLive()protected LoginScmResultlogin(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) makeProviderScmRepository(String scmSpecificUrl, char delimiter) protected RemoveScmResultremove(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) booleanprotected StatusScmResultstatus(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) protected TagScmResulttag(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) protected UnEditScmResultunedit(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) protected UpdateScmResultupdate(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:
requiresEditModein interfaceScmProvider- Overrides:
requiresEditModein 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:
changelogin classAbstractScmProvider- Throws:
ScmException
-
add
public AddScmResult add(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
addin classAbstractScmProvider- Throws:
ScmException
-
remove
protected RemoveScmResult remove(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
removein classAbstractScmProvider- Throws:
ScmException
-
checkin
protected CheckInScmResult checkin(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
checkinin classAbstractScmProvider- Throws:
ScmException
-
checkout
protected CheckOutScmResult checkout(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
checkoutin classAbstractScmProvider- Throws:
ScmException
-
diff
protected DiffScmResult diff(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
diffin classAbstractScmProvider- Throws:
ScmException
-
edit
protected EditScmResult edit(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
editin classAbstractScmProvider- Throws:
ScmException
-
login
protected LoginScmResult login(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
loginin classAbstractScmProvider- Throws:
ScmException
-
status
protected StatusScmResult status(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
statusin classAbstractScmProvider- Throws:
ScmException
-
tag
protected TagScmResult tag(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
tagin classAbstractScmProvider- Throws:
ScmException
-
unedit
protected UnEditScmResult unedit(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
uneditin classAbstractScmProvider- Throws:
ScmException
-
update
protected UpdateScmResult update(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
updatein classAbstractScmProvider- Throws:
ScmException
-
blame
protected BlameScmResult blame(ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters params) throws ScmException - Overrides:
blamein 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()
-