class GradleProjectProperties implements ProjectProperties {

  @Nullable
  @Override
  public String getMainClassFromJarPlugin() {
    Jar jarTask = (Jar) project.getTasks().findByName("jar");
    if (jarTask == null) {
      return null;
    }
    return (String) jarTask.getManifest().getAttributes().get("Main-Class");
  }

  @VisibleForTesting  GradleProjectProperties(
      Project project,
      Logger logger,
      TempDirectoryProvider tempDirectoryProvider,
      Supplier<List<JibGradlePluginExtension<?>>> extensionLoader);

}