run
public void run(Project project,
java.lang.Iterable<java.lang.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.