Interface ScriptInterpreter

  • All Superinterfaces:
    java.lang.AutoCloseable, java.io.Closeable

    public interface ScriptInterpreter
    extends java.io.Closeable
    Defines a simple abstraction used to plug-in several script interpreters for the pre-/post-build-hooks. Each interpreter implementation should be stateless and support reuse.
    Author:
    Benjamin Bentmann
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.Object evaluateScript​(java.lang.String script, java.util.Map<java.lang.String,​?> globalVariables, java.io.PrintStream scriptOutput)
      Evaluates the specified script.
      void setClassPath​(java.util.List<java.lang.String> classPath)
      Set class path used by interpreted.
      • Methods inherited from interface java.io.Closeable

        close
    • Method Detail

      • setClassPath

        void setClassPath​(java.util.List<java.lang.String> classPath)
        Set class path used by interpreted.
        Parameters:
        classPath - The additional class path for the script interpreter, may be null or empty if only the plugin realm should be used for the script evaluation. If specified, this class path will precede the artifacts from the plugin class path.
      • evaluateScript

        java.lang.Object evaluateScript​(java.lang.String script,
                                        java.util.Map<java.lang.String,​?> globalVariables,
                                        java.io.PrintStream scriptOutput)
                                 throws ScriptEvaluationException
        Evaluates the specified script.
        Parameters:
        script - The script contents to evaluate, must not be null.
        globalVariables - The global variables (as a mapping from variable name to value) to define for the script, may be null if not used.
        scriptOutput - A print stream to redirect any output from the script to, may be null to use stdout/stderr.
        Returns:
        The return value from the script, can be null
        Throws:
        ScriptEvaluationException - If the script evaluation produced an error.