Merge pull request #880 from roussi

* pr/880:
  Polish "Write Gradle plugin repositories section only if necessary"
  Write Gradle plugin repositories section only if necessary

Closes gh-880
This commit is contained in:
Stephane Nicoll
2019-07-25 11:39:28 +02:00
4 changed files with 19 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();

View File

@@ -42,6 +42,13 @@ class KotlinDslGradleSettingsWriterTests {
" 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();