Class AffectedFilesResolver


  • public class AffectedFilesResolver
    extends Object
    Copies all affected files that are referenced in at least one of the issues to Jenkins build folder. These files can be inspected in the UI later on.
    Author:
    Ullrich Hafner
    • Field Detail

      • AFFECTED_FILES_FOLDER_NAME

        public static final String AFFECTED_FILES_FOLDER_NAME
        Sub folder with the affected files.
        See Also:
        Constant Field Values
    • Constructor Detail

      • AffectedFilesResolver

        public AffectedFilesResolver()
    • Method Detail

      • hasAffectedFile

        public static boolean hasAffectedFile​(Run<?,​?> run,
                                              edu.hm.hafner.analysis.Issue issue)
        Returns whether the affected file in Jenkins' build folder does exist and is readable.
        Parameters:
        run - the run referencing the build folder
        issue - the issue in the affected file
        Returns:
        the file
      • getFile

        public static Path getFile​(Run<?,​?> run,
                                   String fileName)
        Returns the affected file in Jenkins' build folder.
        Parameters:
        run - the run referencing the build folder
        fileName - the file name in the folder of affected files
        Returns:
        the file
      • copyAffectedFilesToBuildFolder

        public void copyAffectedFilesToBuildFolder​(edu.hm.hafner.analysis.Report report,
                                                   FilePath workspace,
                                                   Set<String> permittedSourceDirectories,
                                                   FilePath buildFolder)
                                            throws InterruptedException
        Copies all files with issues from the workspace to the build folder.
        Parameters:
        report - the issues
        workspace - the workspace on the agent
        permittedSourceDirectories - additional permitted source code directories
        buildFolder - directory to store the copied files in
        Throws:
        InterruptedException - if the user cancels the processing
      • copyAffectedFilesToBuildFolder

        @Deprecated
        public void copyAffectedFilesToBuildFolder​(edu.hm.hafner.analysis.Report report,
                                                   hudson.remoting.VirtualChannel channel,
                                                   FilePath buildFolder,
                                                   Set<String> permittedSourceDirectories)
                                            throws InterruptedException
        Copies all files with issues from the workspace to the build folder.
        Parameters:
        report - the issues
        channel - virtual channel to access the files on the agent
        buildFolder - directory to store the copied files in
        permittedSourceDirectories - paths to the affected files on the agent
        Throws:
        InterruptedException - if the user cancels the processing