public GradleToolProvider()

in gradle-runner-agent/src/main/java/jetbrains/buildServer/gradle/agent/GradleToolProvider.java [22:62]


  public GradleToolProvider(@NotNull ToolProvidersRegistry toolProvidersRegistry,
                            @NotNull final BundledToolsRegistry bundled) {
    toolProvidersRegistry.registerToolProvider(new ToolProvider() {

      public boolean supports(@NotNull final String toolName) {
        return GRADLE_TOOL.equals(toolName);
      }

      @NotNull
      public String getPath(@NotNull final String toolName) throws ToolCannotBeFoundException {
        // try to get locally installed gradle
        String gradleHomePath = System.getenv(GRADLE_HOME);
        if (null != gradleHomePath && gradleHomePath.length() > 0) {
          return gradleHomePath;
        } else {
          final BundledTool tool = bundled.findTool(GRADLE_TOOL);
          if (tool == null) {
            throw new ToolCannotBeFoundException("Couldn't locate Gradle installation. Please use wrapper script or install Gradle and set environment variable GRADLE_HOME");
          }
          return tool.getRootPath().getPath();
        }
      }

      @NotNull
      public String getPath(@NotNull final String toolName,
                            @NotNull final AgentRunningBuild build,
                            @NotNull final BuildRunnerContext runner)
        throws ToolCannotBeFoundException {
        final Map<String, String> runParameters = runner.getRunnerParameters();
        final Map<String, String> buildParameters = runner.getBuildParameters().getAllParameters();
        final ParameterValueFinder parameterValueFinder = new ParameterValueFinder("Gradle runner home", Constants.ENV_PREFIX + GRADLE_HOME);
        final String gradleHome = parameterValueFinder.getPropertyValue(runParameters.get(GradleRunnerConstants.GRADLE_HOME), buildParameters);

        if (gradleHome != null) {
                  return FileUtil.resolvePath(new File(AgentRuntimeProperties.getCheckoutDir(runParameters)), gradleHome).getAbsolutePath();
        } else {
          throw new ToolCannotBeFoundException("Couldn't locate Gradle installation. Please use wrapper script or install Gradle and set environment variable GRADLE_HOME");
        }
      }
    });
  }