Write Gradle plugin repositories section only if necessary

See gh-880
This commit is contained in:
abdelghani.roussi
2019-03-27 15:07:34 +01:00
committed by Stephane Nicoll
parent 18b537b65f
commit afd96dcdf5
3 changed files with 12 additions and 4 deletions

View File

@@ -70,8 +70,7 @@ class SettingsGradleProjectContributorTests {
build.repositories().add("maven-central");
List<String> lines = generateSettings(
groovyDslSettingsGradleProjectContributor(build, IndentingWriterFactory.withDefaultSettings()));
assertThat(lines).containsSequence("pluginManagement {", " repositories {", " gradlePluginPortal()",
" }", "}");
assertThat(lines).doesNotContain("pluginManagement");
}
@Test
@@ -101,8 +100,7 @@ class SettingsGradleProjectContributorTests {
build.repositories().add("maven-central");
List<String> lines = generateSettings(
kotlinDslSettingsGradleProjectContributor(build, IndentingWriterFactory.withDefaultSettings()));
assertThat(lines).containsSequence("pluginManagement {", " repositories {", " gradlePluginPortal()",
" }", "}");
assertThat(lines).doesNotContain("pluginManagement");
}
private List<String> generateSettings(SettingsGradleProjectContributor contributor) throws IOException {

View File

@@ -37,6 +37,9 @@ public abstract class GradleSettingsWriter {
}
private void writePluginManagement(IndentingWriter writer, GradleBuild build) {
if (build.pluginRepositories().isEmpty()) {
return;
}
writer.println("pluginManagement {");
writer.indented(() -> {
writeRepositories(writer, build);

View File

@@ -43,6 +43,13 @@ class GroovyDslGradleSettingsWriterTests {
" gradlePluginPortal()", " }", "}");
}
@Test
void gradleBuildWithoutPluginRepository() throws IOException {
GradleBuild build = new GradleBuild();
List<String> lines = generateSettings(build);
assertThat(lines).doesNotContain("pluginManagement");
}
@Test
void gradleBuildWithPluginRepository() throws IOException {
GradleBuild build = new GradleBuild();