Package jenkins.plugins.git
Class AbstractGitSCMSource
java.lang.Object
hudson.model.AbstractDescribableImpl<jenkins.scm.api.SCMSource>
jenkins.scm.api.SCMSource
jenkins.plugins.git.AbstractGitSCMSource
- All Implemented Interfaces:
ExtensionPoint
,Describable<jenkins.scm.api.SCMSource>
- Direct Known Subclasses:
GitSCMSource
public abstract class AbstractGitSCMSource
extends jenkins.scm.api.SCMSource
Base class for
SCMSource
implementations that produce GitSCM
implementations.- Since:
- 2.0
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Our implementation.static class
Nested classes/interfaces inherited from class jenkins.scm.api.SCMSource
jenkins.scm.api.SCMSource.SourceByItem
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
The default remote name to use when configuring the ref specs to use with fetch operations.static final String
The default ref spec template.static final String
The regex forREF_SPEC_REMOTE_NAME_PLACEHOLDER_STR
.static final String
The placeholder to use in ref spec templates in order to correctly ensure that the ref spec remote name matches the remote name.Fields inherited from class jenkins.scm.api.SCMSource
PRONOUN
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild
(jenkins.scm.api.SCMHead head, jenkins.scm.api.SCMRevision revision) protected void
decorate
(GitSCMBuilder<?> builder) Performs final decoration of theGitSCMBuilder
.Deprecated.protected static File
getCacheDir
(String cacheEntry) protected static File
getCacheDir
(String cacheEntry, boolean createDirectory) protected String
protected static Lock
getCacheLock
(String cacheEntry) protected com.cloudbees.plugins.credentials.common.StandardUsernameCredentials
abstract String
Deprecated.useWildcardSCMSourceFilterTrait
Deprecated.use correspondingGitSCMExtensionTrait
(and if there isn't one then likely theGitSCMExtension
is not appropriate to use in the context of aSCMSource
)Deprecated.Deprecated.useWildcardSCMSourceFilterTrait
protected List<org.eclipse.jgit.transport.RefSpec>
Deprecated.abstract String
protected List<UserRemoteConfig>
Deprecated.Deprecated.List<jenkins.scm.api.trait.SCMSourceTrait>
Returns theSCMSourceTrait
instances for thisAbstractGitSCMSource
.protected boolean
isCategoryEnabled
(jenkins.scm.api.SCMHeadCategory category) protected boolean
isExcluded
(String branchName) Deprecated.useWildcardSCMSourceFilterTrait
static boolean
isFIPSCompliantTLS
(String credentialsId, String remoteUrl) Returns false if a non-TLS protocol is used when FIPS mode is enabled.protected GitSCMBuilder<?>
newBuilder
(jenkins.scm.api.SCMHead head, jenkins.scm.api.SCMRevision revision) Instantiates a newGitSCMBuilder
.protected hudson.plugins.git.GitTool
Deprecated.protected hudson.plugins.git.GitTool
resolveGitTool
(String gitTool) Deprecated.UseresolveGitTool(String, TaskListener)
insteadprotected hudson.plugins.git.GitTool
resolveGitTool
(String gitTool, TaskListener listener) protected jenkins.scm.api.SCMRevision
retrieve
(String revision, TaskListener listener, Item retrieveContext) protected jenkins.scm.api.SCMRevision
retrieve
(jenkins.scm.api.SCMHead head, TaskListener listener) protected void
retrieve
(jenkins.scm.api.SCMSourceCriteria criteria, jenkins.scm.api.SCMHeadObserver observer, jenkins.scm.api.SCMHeadEvent<?> event, TaskListener listener) retrieveActions
(jenkins.scm.api.SCMHead head, jenkins.scm.api.SCMHeadEvent event, TaskListener listener) retrieveActions
(jenkins.scm.api.SCMSourceEvent event, TaskListener listener) retrieveRevisions
(TaskListener listener, Item retrieveContext) Methods inherited from class jenkins.scm.api.SCMSource
afterSave, build, canProbe, checkInterrupt, createProbe, defaultListener, equals, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetchActions, fetchActions, fetchActions, fetchRevisions, fetchRevisions, fromSCMFileSystem, getCategories, getCriteria, getDescriptor, getId, getOwner, getPronoun, getTrustedRevision, hashCode, hasId, newProbe, parentHeads, parentRevisions, retrieve, retrieve, retrieve, retrieve, retrieve, retrieveActions, retrieveRevisions, setId, setOwner, setTraits, toString, withId
-
Field Details
-
DEFAULT_REMOTE_NAME
The default remote name to use when configuring the ref specs to use with fetch operations.- Since:
- 3.4.0
- See Also:
-
REF_SPEC_REMOTE_NAME_PLACEHOLDER_STR
The placeholder to use in ref spec templates in order to correctly ensure that the ref spec remote name matches the remote name.The template uses
@{...}
as that is an illegal sequence in a remote name- Since:
- 3.4.0
- See Also:
-
REF_SPEC_REMOTE_NAME_PLACEHOLDER
The regex forREF_SPEC_REMOTE_NAME_PLACEHOLDER_STR
.- Since:
- 3.4.0
-
REF_SPEC_DEFAULT
The default ref spec template.- Since:
- 3.4.0
- See Also:
-
-
Constructor Details
-
AbstractGitSCMSource
public AbstractGitSCMSource() -
AbstractGitSCMSource
Deprecated.
-
-
Method Details
-
getCredentialsId
-
getRemote
- Returns:
- Git remote URL
-
getIncludes
@Deprecated @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @RestrictedSince("3.4.0") public String getIncludes()Deprecated.useWildcardSCMSourceFilterTrait
- Returns:
- the includes.
-
getExcludes
@Deprecated @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @RestrictedSince("3.4.0") public String getExcludes()Deprecated.useWildcardSCMSourceFilterTrait
- Returns:
- the excludes.
-
getBrowser
@CheckForNull @Deprecated @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @RestrictedSince("3.4.0") public GitRepositoryBrowser getBrowser()Deprecated.GetsGitRepositoryBrowser
to be used with this SCMSource.- Returns:
- Repository browser or
null
if the default tool should be used. - Since:
- 2.5.1
-
getGitTool
@CheckForNull @Deprecated @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @RestrictedSince("3.4.0") public String getGitTool()Deprecated.Gets Git tool to be used for this SCM Source.- Returns:
- Git Tool or
null
if the default tool should be used. - Since:
- 2.5.1
-
getExtensions
@NonNull @Deprecated @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @RestrictedSince("3.4.0") public List<GitSCMExtension> getExtensions()Deprecated.use correspondingGitSCMExtensionTrait
(and if there isn't one then likely theGitSCMExtension
is not appropriate to use in the context of aSCMSource
)Gets list of extensions, which should be used with this branch source.- Returns:
- List of Extensions to be used. May be empty
- Since:
- 2.5.1
-
getTraits
Returns theSCMSourceTrait
instances for thisAbstractGitSCMSource
.- Overrides:
getTraits
in classjenkins.scm.api.SCMSource
- Returns:
- the
SCMSourceTrait
instances - Since:
- 3.4.0
-
getRemoteName
@Deprecated @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @RestrictedSince("3.4.0") public String getRemoteName()Deprecated.- Returns:
- the remote name.
-
resolveGitTool
@CheckForNull @Deprecated @Restricted(org.kohsuke.accmod.restrictions.DoNotUse.class) @RestrictedSince("3.4.0") protected hudson.plugins.git.GitTool resolveGitTool()Deprecated.Resolves theGitTool
.- Returns:
- the
GitTool
.
-
resolveGitTool
Deprecated.UseresolveGitTool(String, TaskListener)
insteadResolves theGitTool
.- Parameters:
gitTool
- theToolInstallation.getName()
to resolve.- Returns:
- the
GitTool
- Since:
- 3.4.0
-
resolveGitTool
-
isFIPSCompliantTLS
Returns false if a non-TLS protocol is used when FIPS mode is enabled.- Parameters:
credentialsId
- any credentials (can benull
)remoteUrl
- the git remote url- Returns:
false
if using any credentials with a non TLS protocol with FIPS mode activated- See Also:
-
retrieve
@CheckForNull protected jenkins.scm.api.SCMRevision retrieve(@NonNull jenkins.scm.api.SCMHead head, @NonNull TaskListener listener) throws IOException, InterruptedException - Overrides:
retrieve
in classjenkins.scm.api.SCMSource
- Throws:
IOException
InterruptedException
-
retrieve
protected void retrieve(@CheckForNull jenkins.scm.api.SCMSourceCriteria criteria, @NonNull jenkins.scm.api.SCMHeadObserver observer, @CheckForNull jenkins.scm.api.SCMHeadEvent<?> event, @NonNull TaskListener listener) throws IOException, InterruptedException - Specified by:
retrieve
in classjenkins.scm.api.SCMSource
- Throws:
IOException
InterruptedException
-
retrieve
@CheckForNull protected jenkins.scm.api.SCMRevision retrieve(@NonNull String revision, @NonNull TaskListener listener, @CheckForNull Item retrieveContext) throws IOException, InterruptedException - Overrides:
retrieve
in classjenkins.scm.api.SCMSource
- Throws:
IOException
InterruptedException
-
retrieveRevisions
@NonNull protected Set<String> retrieveRevisions(@NonNull TaskListener listener, @CheckForNull Item retrieveContext) throws IOException, InterruptedException - Overrides:
retrieveRevisions
in classjenkins.scm.api.SCMSource
- Throws:
IOException
InterruptedException
-
retrieveActions
@NonNull protected List<Action> retrieveActions(@CheckForNull jenkins.scm.api.SCMSourceEvent event, @NonNull TaskListener listener) throws IOException, InterruptedException - Overrides:
retrieveActions
in classjenkins.scm.api.SCMSource
- Throws:
IOException
InterruptedException
-
retrieveActions
@NonNull protected List<Action> retrieveActions(@NonNull jenkins.scm.api.SCMHead head, @CheckForNull jenkins.scm.api.SCMHeadEvent event, @NonNull TaskListener listener) throws IOException, InterruptedException - Overrides:
retrieveActions
in classjenkins.scm.api.SCMSource
- Throws:
IOException
InterruptedException
-
isCategoryEnabled
protected boolean isCategoryEnabled(@NonNull jenkins.scm.api.SCMHeadCategory category) - Overrides:
isCategoryEnabled
in classjenkins.scm.api.SCMSource
-
getCacheEntry
-
getCacheDir
-
getCacheDir
-
getCacheLock
-
getCredentials
@CheckForNull protected com.cloudbees.plugins.credentials.common.StandardUsernameCredentials getCredentials() -
getRefSpecs
@Deprecated @Restricted(org.kohsuke.accmod.restrictions.NoExternalUse.class) @RestrictedSince("3.4.0") protected List<org.eclipse.jgit.transport.RefSpec> getRefSpecs()Deprecated.- Returns:
- the ref specs.
-
newBuilder
protected GitSCMBuilder<?> newBuilder(@NonNull jenkins.scm.api.SCMHead head, @CheckForNull jenkins.scm.api.SCMRevision revision) Instantiates a newGitSCMBuilder
. Subclasses should override this method if they want to use a customGitSCMBuilder
or if they need to pre-decorate the builder.- Parameters:
head
- theSCMHead
.revision
- theSCMRevision
.- Returns:
- the
GitSCMBuilder
- See Also:
-
decorate
Performs final decoration of theGitSCMBuilder
. This method is called bybuild(SCMHead, SCMRevision)
immediately prior to returningGitSCMBuilder.build()
. Subclasses should override this method if they need to overrule builder behaviours defined by traits.- Parameters:
builder
- the builder to decorate.
-
build
@NonNull public SCM build(@NonNull jenkins.scm.api.SCMHead head, @CheckForNull jenkins.scm.api.SCMRevision revision) - Specified by:
build
in classjenkins.scm.api.SCMSource
-
getRemoteConfigs
@Deprecated @Restricted(org.kohsuke.accmod.restrictions.DoNotUse.class) @RestrictedSince("3.4.0") protected List<UserRemoteConfig> getRemoteConfigs()Deprecated.- Returns:
- the
UserRemoteConfig
instances.
-
isExcluded
@Deprecated @Restricted(org.kohsuke.accmod.restrictions.DoNotUse.class) @RestrictedSince("3.4.0") protected boolean isExcluded(String branchName) Deprecated.useWildcardSCMSourceFilterTrait
Returns true if the branchName isn't matched by includes or is matched by excludes.- Parameters:
branchName
- name of branch to be tested- Returns:
- true if branchName is excluded or is not included
-
GitBrowserSCMSourceTrait