java.lang.Object
hudson.model.AbstractDescribableImpl<Tool>
io.jenkins.plugins.analysis.core.model.Tool
All Implemented Interfaces:
Describable<Tool>, Serializable
Direct Known Subclasses:
AxivionSuite, OpenTasks, ReportScanningTool

public abstract class Tool extends AbstractDescribableImpl<Tool> implements Serializable
A tool that can produce a report of issues in some way. If your tool produces issues by scanning a compiler log or static analysis report file, consider deriving from AnalysisModelParser.
Author:
Ullrich Hafner
See Also:
  • Constructor Details

    • Tool

      public Tool()
  • Method Details

    • setJenkinsFacade

      public void setJenkinsFacade(io.jenkins.plugins.util.JenkinsFacade jenkinsFacade)
    • readResolve

      protected Object readResolve()
      Called after de-serialization to retain backward compatibility.
      Returns:
      this
    • setId

      @DataBoundSetter public void setId(String id)
      Overrides the default ID of the results. The ID is used as URL of the results and as identifier in UI elements. If no ID is given, then the default ID is used, see corresponding Tool.ToolDescriptor.
      Parameters:
      id - the ID of the results
      See Also:
    • getId

      public String getId()
    • getActualId

      public String getActualId()
      Returns the actual ID of the tool. If no user defined ID is given, then the default ID is returned.
      Returns:
      the ID
      See Also:
    • setName

      @DataBoundSetter public void setName(String name)
      Overrides the name of the results. The name is used for all labels in the UI. If no name is given, then the default name is used, see corresponding Tool.ToolDescriptor.
      Parameters:
      name - the name of the results
      See Also:
    • getName

      public String getName()
    • getActualName

      public String getActualName()
      Returns the actual name of the tool. If no user defined name is given, then the default name is returned.
      Returns:
      the name
      See Also:
    • getSymbolName

      public String getSymbolName()
      Returns the Symbol name of this tool.
      Returns:
      the name of this tool, or "undefined" if no symbol has been defined
    • getLabelProvider

      public StaticAnalysisLabelProvider getLabelProvider()
      Returns the associated label provider for this tool.
      Returns:
      the label provider
    • getDescriptor

      public Tool.ToolDescriptor getDescriptor()
      Specified by:
      getDescriptor in interface Describable<Tool>
      Overrides:
      getDescriptor in class AbstractDescribableImpl<Tool>
    • scan

      public abstract edu.hm.hafner.analysis.Report scan(Run<?,?> run, FilePath workspace, Charset sourceCodeEncoding, io.jenkins.plugins.util.LogHandler logger) throws edu.hm.hafner.analysis.ParsingException, edu.hm.hafner.analysis.ParsingCanceledException
      Scans the results of a build for issues. This method is invoked on Jenkins master. I.e., if a tool wants to process some build results it is required to run a MasterToSlaveCallable.
      Parameters:
      run - the build
      workspace - the workspace of the build
      sourceCodeEncoding - the encoding to use to read source files
      logger - the logger
      Returns:
      the created report
      Throws:
      edu.hm.hafner.analysis.ParsingException - Signals that during parsing a non recoverable error has been occurred
      edu.hm.hafner.analysis.ParsingCanceledException - Signals that the parsing has been aborted by the user