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 Details

    • SubmoduleOption

      @DataBoundConstructor public SubmoduleOption()
    • SubmoduleOption

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

    • 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
    • onCheckoutCompleted

      public void onCheckoutCompleted(GitSCM scm, Run<?,?> build, org.jenkinsci.plugins.gitclient.GitClient git, TaskListener listener) throws IOException, InterruptedException, hudson.plugins.git.GitException
      Called when the checkout was completed and the working directory is filled with files. See SCM.checkout(Run, Launcher, FilePath, TaskListener, File, SCMRevisionState) for the available parameters, except workingDirectory Do not move the HEAD to another commit, as by this point the commit to be built is already determined and recorded (such as changelog.)
      Overrides:
      onCheckoutCompleted in class GitSCMExtension
      Parameters:
      scm - GitSCM object
      build - run context
      git - GitClient
      listener - build log
      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
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object