public static GradleProjectProperties getForProject(
      Project project,
      Logger logger,
      TempDirectoryProvider tempDirectoryProvider,
      String configurationName) {
    Supplier<List<JibGradlePluginExtension<?>>> extensionLoader =
        () -> {
          List<JibGradlePluginExtension<?>> extensions = new ArrayList<>();
          for (JibGradlePluginExtension<?> extension :
              ServiceLoader.load(JibGradlePluginExtension.class)) {
            extensions.add(extension);
          }
          return extensions;
        };
    return new GradleProjectProperties(
        project, logger, tempDirectoryProvider, extensionLoader, configurationName);
  }
Generate an instance for a gradle project.

@param project a gradle project
@param logger a gradle logging instance to use for logging during the build
@param tempDirectoryProvider for scratch space during the build
@param configurationName the configuration of which the dependencies should be packed into the
    container
@return a GradleProjectProperties instance to use in a jib build
jib-gradle-plugin/src/main/java/com/google/cloud/tools/jib/gradle/GradleProjectProperties.java