code: @Override
      public void execute()
          throws MojoExecutionException, MojoFailureException
      {
          // Prepare an execution.
          Execution execution = ( failOnError ) ? new FailOnErrorExecution() : new NeverFailExecution( getLog() );
          execution.setAlgorithms( algorithms );
          execution.setFiles( getFilesToProcess() );
          execution.setFailIfNoFiles(isFailIfNoFiles());
          execution.setFailIfNoAlgorithms(failIfNoAlgorithms);
          execution.setFailIfNoTargets(failIfNoTargets);
          if ( !quiet )
          {
              execution.addTarget( new MavenLogTarget( getLog() ) );
          }
          if ( includeRelativePath )
          {
                  execution.setSubPath( relativeSubPath );
          } else {
                  execution.setSubPath( null );
          }
          if ( isIndividualFiles() )
          {
              File outputDirectory = null;
              if ( StringUtils.isNotEmpty( getIndividualFilesOutputDirectory() ) )
              {
                  outputDirectory = FileUtils.resolveFile( new File( project.getBuild().getDirectory() ),
                                                           getIndividualFilesOutputDirectory() );
              }
              execution.addTarget( new OneHashPerFileTarget( encoding, outputDirectory, createArtifactListeners(), isAppendFilename()) );
          }
          if ( isCsvSummary() )
          {
              execution.addTarget( new CsvSummaryFileTarget(
                  FileUtils.resolveFile( new File( project.getBuild().getDirectory() ), getCsvSummaryFile() ),
                  encoding, createArtifactListeners()) );
          }
          if ( isXmlSummary() )
          {
              execution.addTarget( new XmlSummaryFileTarget(
                  FileUtils.resolveFile( new File( project.getBuild().getDirectory() ), getXmlSummaryFile() ),
                  encoding, createArtifactListeners()) );
          }
          if ( isShasumSummary() )
          {
              execution.addTarget( new ShasumSummaryFileTarget(
                  FileUtils.resolveFile( new File( project.getBuild().getDirectory() ), getShasumSummaryFile() ), createArtifactListeners()) );
          }
  
          // Run the execution.
          try
          {
              execution.run();
          }
          catch ( ExecutionException e )
          {
              getLog().error( e.getMessage() );
              throw new MojoFailureException( e.getMessage() );
          }
      }
docs: {@inheritDoc}