Class GroovyBuildFileParser

java.lang.Object
org.savantbuild.parser.groovy.GroovyBuildFileParser
All Implemented Interfaces:
BuildFileParser

public class GroovyBuildFileParser extends Object implements BuildFileParser
Parses the build file using a Groovy DSL.
  • Constructor Details

    • GroovyBuildFileParser

      public GroovyBuildFileParser(org.savantbuild.output.Output output, TargetGraphBuilder targetGraphBuilder)
  • Method Details

    • parse

      public Project parse(Path buildFile, RuntimeConfiguration runtimeConfiguration) throws ParseException
      Executes the script using a GroovyClassLoader and the ProjectBuildFileMetaClass.
      Specified by:
      parse in interface BuildFileParser
      Parameters:
      buildFile - The file.
      runtimeConfiguration - The runtime configuration that is passed to the build script.
      Returns:
      The Project.
      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.
      ParseException - If the build file can not be parsed.
      org.savantbuild.dep.PublishException - If there was an error publishing an artifact.
      PluginLoadException - If a plugin load failed for any reason (the plugin might not exist, might be invalid or could have thrown an exception during construction because it was missing configuration or something.)
      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.