class GradleProjectProperties implements ProjectProperties {

  @Override
  public int getMajorJavaVersion() {
    JavaVersion version = JavaVersion.current();
    JavaPluginConvention javaPluginConvention =
        project.getConvention().findPlugin(JavaPluginConvention.class);
    if (javaPluginConvention != null) {
      version = javaPluginConvention.getTargetCompatibility();
    }
    return Integer.valueOf(version.getMajorVersion());
  }

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

}