use of com.thoughtworks.go.buildsession.BuildVariables in project gocd by gocd.
the class AgentWebSocketClientController method runBuild.
private void runBuild(BuildSettings buildSettings) {
URLService urlService = new URLService();
TaggedStreamConsumer buildConsole;
if (getSystemEnvironment().isConsoleLogsThroughWebsocketEnabled()) {
buildConsole = new ConsoleOutputWebsocketTransmitter(webSocketSessionHandler, buildSettings.getBuildId());
} else {
buildConsole = new ConsoleOutputTransmitter(new RemoteConsoleAppender(urlService.prefixPartialUrl(buildSettings.getConsoleUrl()), httpService, buildSettings.getConsoleLogCharset()));
}
ArtifactsRepository artifactsRepository = new UrlBasedArtifactsRepository(httpService, urlService.prefixPartialUrl(buildSettings.getArtifactUploadBaseUrl()), urlService.prefixPartialUrl(buildSettings.getPropertyBaseUrl()), new ZipUtil());
DefaultBuildStateReporter buildStateReporter = new DefaultBuildStateReporter(webSocketSessionHandler, getAgentRuntimeInfo());
TimeProvider clock = new TimeProvider();
BuildVariables buildVariables = new BuildVariables(getAgentRuntimeInfo(), clock);
BuildSession build = new BuildSession(buildSettings.getBuildId(), getAgentRuntimeInfo().getIdentifier(), buildStateReporter, buildConsole, buildVariables, artifactsRepository, httpService, clock, new File("."), buildSettings.getConsoleLogCharset());
this.buildSession.set(build);
build.setEnv("GO_SERVER_URL", getSystemEnvironment().getServiceUrl());
getAgentRuntimeInfo().idle();
try {
getAgentRuntimeInfo().busy(new AgentBuildingInfo(buildSettings.getBuildLocatorForDisplay(), buildSettings.getBuildLocator()));
build.build(buildSettings.getBuildCommand());
} finally {
try {
buildConsole.stop();
} finally {
getAgentRuntimeInfo().idle();
}
}
this.buildSession.set(null);
}
Aggregations