Class DefaultProjectRunner

java.lang.Object
org.savantbuild.runtime.DefaultProjectRunner
All Implemented Interfaces:
ProjectRunner

public class DefaultProjectRunner extends Object implements ProjectRunner
Default project object runner. Using the Project object, this executes build targets of the project.
  • Constructor Details

    • DefaultProjectRunner

      public DefaultProjectRunner(org.savantbuild.output.Output output)
  • Method Details

    • run

      public void run(Project project, Iterable<String> targets) throws org.savantbuild.dep.workflow.ArtifactMetaDataMissingException, org.savantbuild.dep.workflow.ArtifactMissingException, BuildRunException, BuildFailureException, org.savantbuild.dep.domain.CompatibilityException, org.savantbuild.util.CyclicException, org.savantbuild.dep.LicenseException, org.savantbuild.security.MD5Exception, org.savantbuild.dep.workflow.process.ProcessFailureException, org.savantbuild.dep.PublishException, org.savantbuild.domain.VersionException
      Runs the targets by finding each target and then performing a graph traversal of that targets dependencies. This ensures that a target is not called twice.
      Specified by:
      run in interface ProjectRunner
      Parameters:
      project - The project.
      targets - The targets to run.
      Throws:
      org.savantbuild.dep.workflow.ArtifactMetaDataMissingException - If any dependencies of the project are missing an AMD file in the repository or local cache.
      org.savantbuild.dep.workflow.ArtifactMissingException - If any dependencies of the project are missing in the repository or local cache.
      BuildRunException - If the build can not be run (internally not due to a failure of the build itself).
      BuildFailureException - If the build fails while running.
      org.savantbuild.dep.domain.CompatibilityException - If the project has incompatible versions of a dependency.
      org.savantbuild.util.CyclicException - If the project has cyclic dependencies.
      org.savantbuild.dep.LicenseException - If the project has a dependency with an invalid license.
      org.savantbuild.security.MD5Exception - If a dependency is corrupt.
      org.savantbuild.dep.PublishException - If there was an error publishing an artifact.
      org.savantbuild.dep.workflow.process.ProcessFailureException - If the downloading of a dependency fails.
      org.savantbuild.domain.VersionException - If any of the versions are not semantic.