Class DefaultBuildManager
- java.lang.Object
-
- com.github.blindpirate.gogradle.build.DefaultBuildManager
-
- All Implemented Interfaces:
BuildManager
@Singleton public class DefaultBuildManager extends java.lang.Object implements BuildManager
-
-
Constructor Summary
Constructors Constructor Description DefaultBuildManager(org.gradle.api.Project project, GoBinaryManager goBinaryManager, GolangPluginSetting setting, ProcessUtils processUtils)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetGopath()Get GOPATH in this build.java.util.List<java.nio.file.Path>getGopaths()Get GOPATH as a list.intgo(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 byargs, under the environments comprised byenv+ GOPATH/GOROOT/GOARCH/GOEXE, whereenvhas higher priority.intgo(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 byargs, under the environments comprised byenv+ GOPATH/GOROOT/GOARCH/GOEXE, whereenvhas higher priority.intgo(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)voidprepareProjectGopathIfNecessary()Determine GOPATH to be used.intrun(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 byargs, under the environments comprised byenv+ GOPATH/GOROOT/GOARCH/GOEXE, whereenvhas higher priority.intrun(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)
-
-
-
Constructor Detail
-
DefaultBuildManager
@Inject public DefaultBuildManager(org.gradle.api.Project project, GoBinaryManager goBinaryManager, GolangPluginSetting setting, ProcessUtils processUtils)
-
-
Method Detail
-
prepareProjectGopathIfNecessary
public void prepareProjectGopathIfNecessary()
Description copied from interface:BuildManagerDetermine GOPATH to be used. If global GOPATH doesn't exist, a project-level GOPATH will be prepared.- Specified by:
prepareProjectGopathIfNecessaryin interfaceBuildManager
-
go
public int go(java.util.List<java.lang.String> args, java.util.Map<java.lang.String,java.lang.String> env)Description copied from interface:BuildManagerFork a go process and run commands specified byargs, under the environments comprised byenv+ GOPATH/GOROOT/GOARCH/GOEXE, whereenvhas higher priority.- Specified by:
goin interfaceBuildManager- Parameters:
args- the arguments to be passed to goenv- extra environment variables to be passed to go- Returns:
- return code of go command
-
go
public 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)Description copied from interface:BuildManagerFork a go process and run commands specified byargs, under the environments comprised byenv+ GOPATH/GOROOT/GOARCH/GOEXE, whereenvhas higher priority.Stdout and stderr line of the forked process will be consumed by
stdoutLineConsumerandstderrLineConsumerline by line, respectively.Return code of the forked process will be consumed by
retcodeConsumer.- Specified by:
goin interfaceBuildManager- Parameters:
args- the arguments to be passed to goenv- extra environment variables to be passed to gostdoutLineConsumer- the consumer by which stdout line is consumedstderrLineConsumer- the consumer by which stderr line is consumed- Returns:
- return code of go command
-
go
public 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)- Specified by:
goin interfaceBuildManager
-
run
public 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)Description copied from interface:BuildManagerFork a process and run commands specified byargs, under the environments comprised byenv+ GOPATH/GOROOT/GOARCH/GOEXE, whereenvhas higher priority.Stdout and stderr line of the forked process will be consumed by
stdoutLineConsumerandstderrLineConsumerline by line, respectively.Return code of the forked process will be consumed by
retcodeConsumer.- Specified by:
runin interfaceBuildManager- Parameters:
args- the arguments start a processenv- extra environment variables to be passed to gostdoutLineConsumer- the consumer by which stdout line is consumedstderrLineConsumer- the consumer by which stderr line is consumed- Returns:
- return code of go command
-
run
public 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)- Specified by:
runin interfaceBuildManager
-
getGopath
public java.lang.String getGopath()
Description copied from interface:BuildManagerGet GOPATH in this build.- Specified by:
getGopathin interfaceBuildManager- Returns:
- the GOPATH to be used
-
getGopaths
public java.util.List<java.nio.file.Path> getGopaths()
Description copied from interface:BuildManagerGet GOPATH as a list.- Specified by:
getGopathsin interfaceBuildManager- Returns:
- the list of GOPATHs
-
-