Class SubmoduleOption

  • All Implemented Interfaces:
    Describable<GitSCMExtension>

    public class SubmoduleOption
    extends GitSCMExtension
    Further tweak the behaviour of git-submodule.

    Historically, the submodule support was on by default, and given the clear marker file in the source tree, I think keeping this default behaviour is sensible. So when we split out GitSCMExtensions, we decided to keep the git-submodule handling enabled by default, and this extension controls the recursiveness and the option to switch it off.

    Author:
    Yury V. Zaytsev, Andrew Bayer, Kohsuke Kawaguchi
    • Constructor Detail

      • SubmoduleOption

        @DataBoundConstructor
        public SubmoduleOption()
      • SubmoduleOption

        public SubmoduleOption​(boolean disableSubmodules,
                               boolean recursiveSubmodules,
                               boolean trackingSubmodules,
                               String reference,
                               Integer timeout,
                               boolean parentCredentials)
    • Method Detail

      • isDisableSubmodules

        public boolean isDisableSubmodules()
      • setDisableSubmodules

        @DataBoundSetter
        public void setDisableSubmodules​(boolean value)
      • isRecursiveSubmodules

        public boolean isRecursiveSubmodules()
      • setRecursiveSubmodules

        @DataBoundSetter
        public void setRecursiveSubmodules​(boolean value)
      • isTrackingSubmodules

        public boolean isTrackingSubmodules()
      • setTrackingSubmodules

        @DataBoundSetter
        public void setTrackingSubmodules​(boolean value)
      • isParentCredentials

        public boolean isParentCredentials()
      • setParentCredentials

        @DataBoundSetter
        public void setParentCredentials​(boolean value)
      • getReference

        public String getReference()
      • setReference

        @DataBoundSetter
        public void setReference​(String value)
      • getTimeout

        public Integer getTimeout()
      • setTimeout

        @DataBoundSetter
        public void setTimeout​(Integer value)
      • setShallow

        @DataBoundSetter
        public void setShallow​(boolean shallow)
      • getShallow

        public boolean getShallow()
      • setDepth

        @DataBoundSetter
        public void setDepth​(Integer depth)
      • getDepth

        public Integer getDepth()
      • getThreads

        public Integer getThreads()
      • setThreads

        @DataBoundSetter
        public void setThreads​(Integer threads)
      • onClean

        public void onClean​(GitSCM scm,
                            org.jenkinsci.plugins.gitclient.GitClient git)
                     throws IOException,
                            InterruptedException,
                            hudson.plugins.git.GitException
        Signals when "git-clean" runs. Primarily for running "git submodule clean" TODO: revisit the abstraction
        Overrides:
        onClean in class GitSCMExtension
        Parameters:
        scm - GitSCM object
        git - GitClient
        Throws:
        IOException - on input or output error
        InterruptedException - when interrupted
        hudson.plugins.git.GitException - on git error
      • determineSupportForJGit

        public void determineSupportForJGit​(GitSCM scm,
                                            @NonNull
                                            org.jenkinsci.plugins.gitclient.UnsupportedCommand cmd)
        Description copied from class: GitSCMExtension
        Called when support of JGit for a particular or multiple extensions is to be determined
        Overrides:
        determineSupportForJGit in class GitSCMExtension
        Parameters:
        scm - GitSCM object
        cmd - UnsupportedCommand object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object