Interface BuildManager

  • All Known Implementing Classes:
    DefaultBuildManager

    public interface BuildManager
    Deal with environment related to a specific go build. For example, GOPATH/GOROOT to be used.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.String getGopath()
      Get GOPATH in this build.
      java.util.List<java.nio.file.Path> getGopaths()
      Get GOPATH as a list.
      int go​(java.util.List<java.lang.String> args, java.util.Map<java.lang.String,​java.lang.String> env)
      Fork a go process and run commands specified by args, under the environments comprised by env + GOPATH/GOROOT/GOARCH/GOEXE, where env has higher priority.
      int go​(java.util.List<java.lang.String> args, java.util.Map<java.lang.String,​java.lang.String> env, java.util.function.Consumer<java.lang.String> stdoutLineConsumer, java.util.function.Consumer<java.lang.String> stderrLineConsumer)
      Fork a go process and run commands specified by args, under the environments comprised by env + GOPATH/GOROOT/GOARCH/GOEXE, where env has higher priority.
      int go​(java.util.List<java.lang.String> args, java.util.Map<java.lang.String,​java.lang.String> env, java.util.function.Consumer<java.lang.String> stdoutLineConsumer, java.util.function.Consumer<java.lang.String> stderrLineConsumer, boolean continueOnFailure)  
      void prepareProjectGopathIfNecessary()
      Determine GOPATH to be used.
      int run​(java.util.List<java.lang.String> args, java.util.Map<java.lang.String,​java.lang.String> env, java.util.function.Consumer<java.lang.String> stdoutLineConsumer, java.util.function.Consumer<java.lang.String> stderrLineConsumer)
      Fork a process and run commands specified by args, under the environments comprised by env + GOPATH/GOROOT/GOARCH/GOEXE, where env has higher priority.
      int run​(java.util.List<java.lang.String> args, java.util.Map<java.lang.String,​java.lang.String> env, java.util.function.Consumer<java.lang.String> stdoutLineConsumer, java.util.function.Consumer<java.lang.String> stderrLineConsumer, boolean continueOnFailure)  
    • Method Detail

      • prepareProjectGopathIfNecessary

        void prepareProjectGopathIfNecessary()
        Determine GOPATH to be used. If global GOPATH doesn't exist, a project-level GOPATH will be prepared.
      • getGopath

        java.lang.String getGopath()
        Get GOPATH in this build.
        Returns:
        the GOPATH to be used
      • getGopaths

        java.util.List<java.nio.file.Path> getGopaths()
        Get GOPATH as a list.
        Returns:
        the list of GOPATHs
      • go

        int go​(java.util.List<java.lang.String> args,
               java.util.Map<java.lang.String,​java.lang.String> env)
        Fork a go process and run commands specified by args, under the environments comprised by env + GOPATH/GOROOT/GOARCH/GOEXE, where env has higher priority.
        Parameters:
        args - the arguments to be passed to go
        env - extra environment variables to be passed to go
        Returns:
        return code of go command
      • go

        int go​(java.util.List<java.lang.String> args,
               java.util.Map<java.lang.String,​java.lang.String> env,
               java.util.function.Consumer<java.lang.String> stdoutLineConsumer,
               java.util.function.Consumer<java.lang.String> stderrLineConsumer)
        Fork a go process and run commands specified by args, under the environments comprised by env + GOPATH/GOROOT/GOARCH/GOEXE, where env has higher priority.

        Stdout and stderr line of the forked process will be consumed by stdoutLineConsumer and stderrLineConsumer line by line, respectively.

        Return code of the forked process will be consumed by retcodeConsumer.

        Parameters:
        args - the arguments to be passed to go
        env - extra environment variables to be passed to go
        stdoutLineConsumer - the consumer by which stdout line is consumed
        stderrLineConsumer - the consumer by which stderr line is consumed
        Returns:
        return code of go command
      • go

        int go​(java.util.List<java.lang.String> args,
               java.util.Map<java.lang.String,​java.lang.String> env,
               java.util.function.Consumer<java.lang.String> stdoutLineConsumer,
               java.util.function.Consumer<java.lang.String> stderrLineConsumer,
               boolean continueOnFailure)
      • run

        int run​(java.util.List<java.lang.String> args,
                java.util.Map<java.lang.String,​java.lang.String> env,
                java.util.function.Consumer<java.lang.String> stdoutLineConsumer,
                java.util.function.Consumer<java.lang.String> stderrLineConsumer)
        Fork a process and run commands specified by args, under the environments comprised by env + GOPATH/GOROOT/GOARCH/GOEXE, where env has higher priority.

        Stdout and stderr line of the forked process will be consumed by stdoutLineConsumer and stderrLineConsumer line by line, respectively.

        Return code of the forked process will be consumed by retcodeConsumer.

        Parameters:
        args - the arguments start a process
        env - extra environment variables to be passed to go
        stdoutLineConsumer - the consumer by which stdout line is consumed
        stderrLineConsumer - the consumer by which stderr line is consumed
        Returns:
        return code of go command
      • run

        int run​(java.util.List<java.lang.String> args,
                java.util.Map<java.lang.String,​java.lang.String> env,
                java.util.function.Consumer<java.lang.String> stdoutLineConsumer,
                java.util.function.Consumer<java.lang.String> stderrLineConsumer,
                boolean continueOnFailure)