GradleBuildSettings { public static boolean needsExplicitBuildToolsVersion(@NotNull GradleVersion gradlePluginVersion, @NotNull Revision buildToolRev) { return needsExplicitBuildToolsVersion(gradlePluginVersion, buildToolRev, CURRENT_BUILD_TOOLS_VERSION); }  @NotNull static Revision getRecommendedBuildToolsRevision(@NotNull AndroidSdkHandler sdkHandler, @NotNull ProgressIndicator progress); static boolean needsExplicitBuildToolsVersion(@NotNull GradleVersion gradlePluginVersion, @NotNull Revision buildToolRev);  }
@Test public void toolsBuildVersionMoreRecentThanCurrent() { assertTrue(needsExplicitBuildToolsVersion(parse("3.0.0"), parseRevision("27.0.4"), CURRENT_BUILD_TOOLS)); assertTrue(needsExplicitBuildToolsVersion(parse("3.0.0"), parseRevision("28.0.0"), CURRENT_BUILD_TOOLS)); }
@Test public void toolsBuildVersionLessRecentOrSameThanCurrent() { assertFalse(needsExplicitBuildToolsVersion(parse("3.0.0"), parseRevision("27.0.0"), CURRENT_BUILD_TOOLS)); assertFalse(needsExplicitBuildToolsVersion(parse("3.0.0"), parseRevision("27.0.3"), CURRENT_BUILD_TOOLS)); assertFalse(needsExplicitBuildToolsVersion(parse("3.0.0"), parseRevision("26.0.0"), CURRENT_BUILD_TOOLS)); }
@Test public void oldGradlePluginVersion() { assertTrue(needsExplicitBuildToolsVersion(parse("2.0.0"), parseRevision("27.0.0"), CURRENT_BUILD_TOOLS)); assertTrue(needsExplicitBuildToolsVersion(parse("2.0.0"), parseRevision("27.0.3"), CURRENT_BUILD_TOOLS)); assertTrue(needsExplicitBuildToolsVersion(parse("2.0.0"), parseRevision("27.0.4"), CURRENT_BUILD_TOOLS)); assertTrue(needsExplicitBuildToolsVersion(parse("2.0.0"), parseRevision("28.0.0"), CURRENT_BUILD_TOOLS)); }