Package atessera.comp

Interface Compiler

All Known Implementing Classes:
LocalCompiler

public interface Compiler
Strategy interface for executing a compilation task.

Implementations of this interface encapsulate the runtime environment in which compilation commands are executed. The default implementation is LocalCompiler, which runs commands in an isolated temporary directory on the local machine. Alternative implementations could, for example, delegate to a Docker container or a remote build server.

See Also:
  • Method Details

    • compile

      Executes the given compilation task.
      Parameters:
      task - the compilation task describing sources, commands, and which output files to collect; must not be null
      Returns:
      the result of the compilation, including exit codes, captured output, and requested output files; never null in normal operation