in gradle-runner-agent/src/main/java/jetbrains/buildServer/gradle/runtime/service/DistributionFactoryExtension.java [133:159]
public ClassPath getToolingImplementationClasspath(ProgressLoggerFactory progressLoggerFactory,
InternalBuildProgressListener progressListener,
ConnectionParameters connectionParameters,
BuildCancellationToken cancellationToken) {
if (installedDistribution == null) {
final DistributionInstaller installer = new DistributionInstaller(progressLoggerFactory, progressListener, clock);
File installDir;
try {
cancellationToken.addCallback(installer::cancel);
installDir = installer.install(determineRealUserHomeDir(connectionParameters), determineRootDir(connectionParameters),
wrapperConfiguration, determineSystemProperties(connectionParameters));
}
catch (CancellationException e) {
throw new BuildCancelledException(
String.format("Distribution download cancelled. Using distribution from '%s'.", wrapperConfiguration.getDistribution()), e);
}
catch (FileNotFoundException e) {
throw new IllegalArgumentException(String.format("The specified %s does not exist.", getDisplayName()), e);
}
catch (Exception e) {
throw new GradleConnectionException(
String.format("Could not install Gradle distribution from '%s'.", wrapperConfiguration.getDistribution()), e);
}
installedDistribution = new InstalledDistribution(installDir, getDisplayName(), getDisplayName());
}
return installedDistribution.getToolingImplementationClasspath(progressLoggerFactory, progressListener, connectionParameters, cancellationToken);
}