From dd4175681a3fcb3b9519c4c93128b16f2287c574 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Tue, 10 Oct 2017 16:36:42 -0300 Subject: [PATCH 001/115] Bump version number {0.12.1 => 0.13.0-SNAPSHOT} --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 9f8a1c1c8..f776fba97 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -26,7 +26,7 @@ plugins { allprojects { group = "org.gradle" - version = "0.12.1" + version = "0.13.0-SNAPSHOT" } val publishedPluginsVersion by extra { "0.12.0" } From 5da85a0d4d183b054d5a2aebbe68497d0b6c572b Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Tue, 10 Oct 2017 17:07:31 -0300 Subject: [PATCH 002/115] Polish `PluginRequestsHandlerTest` - Rename variable for clarity --- .../gradle/kotlin/dsl/provider/PluginRequestsHandlerTest.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/provider/PluginRequestsHandlerTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/provider/PluginRequestsHandlerTest.kt index 6cfb0b4ab..4938d14d0 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/provider/PluginRequestsHandlerTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/provider/PluginRequestsHandlerTest.kt @@ -26,9 +26,9 @@ class PluginRequestsHandlerTest { on { this.pluginManager } doReturn pluginManager } val initialRequests = mock(name = "initialRequests") - val newRequests = mock(name = "newRequests") + val mergedRequests = mock(name = "mergedRequests") val autoAppliedPluginHandler = mock { - on { mergeWithAutoAppliedPlugins(initialRequests, target) } doReturn newRequests + on { mergeWithAutoAppliedPlugins(initialRequests, target) } doReturn mergedRequests } val pluginRequestApplicator = mock() val scriptHandler = mock() @@ -39,6 +39,6 @@ class PluginRequestsHandlerTest { subject.handle(initialRequests, scriptHandler, target, targetScope) // then: - verify(pluginRequestApplicator).applyPlugins(newRequests, scriptHandler, pluginManager, targetScope) + verify(pluginRequestApplicator).applyPlugins(mergedRequests, scriptHandler, pluginManager, targetScope) } } From 81c52f5629154221c9cae63f758c001443f1db57 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Tue, 10 Oct 2017 17:08:12 -0300 Subject: [PATCH 003/115] Polish `SamplesSmokeTest` - Extract explaining method --- .../gradle/kotlin/dsl/samples/SamplesSmokeTest.kt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/SamplesSmokeTest.kt b/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/SamplesSmokeTest.kt index 562190555..66be4a98b 100644 --- a/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/SamplesSmokeTest.kt +++ b/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/SamplesSmokeTest.kt @@ -4,10 +4,8 @@ import org.gradle.kotlin.dsl.embeddedKotlinVersion import org.gradle.kotlin.dsl.fixtures.AbstractIntegrationTest import org.hamcrest.CoreMatchers.containsString -import org.hamcrest.CoreMatchers.not import org.junit.Assert.assertThat -import org.junit.Assume.assumeThat import org.junit.Assume.assumeTrue import org.junit.Before import org.junit.Test @@ -31,9 +29,7 @@ class SamplesSmokeTest( @Before fun populateProjectRootWithSample() { - if (sampleName.contains("android")) { - assumeTrue(System.getenv().containsKey("ANDROID_HOME")) - } + ignoreAndroidSampleUnlessAndroidHomeIsSet() copySampleProject(from = sampleDir, to = projectRoot) } @@ -59,6 +55,13 @@ class SamplesSmokeTest( assumeTrue(foundKotlinGradlePlugin.any { it }) } + private + fun ignoreAndroidSampleUnlessAndroidHomeIsSet() { + if (sampleName.contains("android")) { + assumeTrue(System.getenv().containsKey("ANDROID_HOME")) + } + } + private fun buildSpec(vararg arguments: String) = arguments From 1d6919e42d50c02a6bea3c73b660e6b6822279d0 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 12 Oct 2017 08:56:59 +0200 Subject: [PATCH 004/115] Update wrappers to latest snapshot distro --- gradle/wrapper/gradle-wrapper.properties | 2 +- samples/ant/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-scan/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/code-quality/gradle/wrapper/gradle-wrapper.properties | 2 +- .../composite-builds/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/copy/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/domain-objects/gradle/wrapper/gradle-wrapper.properties | 2 +- .../extra-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-android/gradle/wrapper/gradle-wrapper.properties | 2 +- .../hello-coroutines/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-js/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-world/gradle/wrapper/gradle-wrapper.properties | 2 +- .../consumer/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-publish/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/model-rules/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/modularity/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../project-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../task-dependencies/gradle/wrapper/gradle-wrapper.properties | 2 +- 34 files changed, 34 insertions(+), 34 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/ant/gradle/wrapper/gradle-wrapper.properties b/samples/ant/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/ant/gradle/wrapper/gradle-wrapper.properties +++ b/samples/ant/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties +++ b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties +++ b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/copy/gradle/wrapper/gradle-wrapper.properties b/samples/copy/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/copy/gradle/wrapper/gradle-wrapper.properties +++ b/samples/copy/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties +++ b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties +++ b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties +++ b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/modularity/gradle/wrapper/gradle-wrapper.properties b/samples/modularity/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/modularity/gradle/wrapper/gradle-wrapper.properties +++ b/samples/modularity/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip diff --git a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties index a31498ba4..7ec92e32a 100644 --- a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties +++ b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.3-20171010191714+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip From 16a303d968abdbc2b3fc7fb9916d2caadd181478 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 12 Oct 2017 09:41:06 +0200 Subject: [PATCH 005/115] Fix implicit imports tests after upstream default imports unification See https://github.com/gradle/gradle/pull/3140 --- .../kotlin/org/gradle/kotlin/dsl/support/ImplicitImportsTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/support/ImplicitImportsTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/support/ImplicitImportsTest.kt index 6916e587e..7391715d0 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/support/ImplicitImportsTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/support/ImplicitImportsTest.kt @@ -21,6 +21,6 @@ class ImplicitImportsTest : AbstractIntegrationTest() { val result = build("help") // then: - assertThat(result.output, containsString("*org.gradle.jvm.tasks.Jar*")) + assertThat(result.output, containsString("*org.gradle.api.tasks.bundling.Jar*")) } } From fe54e0a1563b60f9bcece1ccb8e1b4c5bb206559 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 5 May 2017 10:27:06 +0200 Subject: [PATCH 006/115] Support for Kotlin settings scripts, aka. settings.gradle.kts --- .../gradle/kotlin/dsl/KotlinSettingsScript.kt | 36 ++++++ .../dsl/provider/CachingKotlinCompiler.kt | 6 +- .../dsl/provider/KotlinBuildScriptCompiler.kt | 117 ++++++++++-------- .../kotlin/dsl/provider/KotlinScriptPlugin.kt | 23 ++-- .../dsl/provider/KotlinScriptPluginFactory.kt | 3 +- .../dsl/provider/KotlinScriptPluginTarget.kt | 115 +++++++++++++++++ .../KotlinBuildScriptDependenciesResolver.kt | 1 + 7 files changed, 233 insertions(+), 68 deletions(-) create mode 100644 provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt create mode 100644 provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt new file mode 100644 index 000000000..1cb744a3a --- /dev/null +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt @@ -0,0 +1,36 @@ +/* + * Copyright 2017 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.gradle.kotlin.dsl + +import org.gradle.api.initialization.Settings +import org.gradle.api.plugins.ObjectConfigurationAction +import org.gradle.kotlin.dsl.resolver.KotlinBuildScriptDependenciesResolver +import kotlin.script.extensions.SamWithReceiverAnnotations +import kotlin.script.templates.ScriptTemplateDefinition + +/** + * Base class for Kotlin settings scripts. + */ +@ScriptTemplateDefinition( + resolver = KotlinBuildScriptDependenciesResolver::class, + scriptFilePattern = "settings\\.gradle\\.kts") +@SamWithReceiverAnnotations("org.gradle.api.HasImplicitReceiver") +abstract class KotlinSettingsScript(settings: Settings) : Settings by settings { + + inline + fun apply(crossinline configuration: ObjectConfigurationAction.() -> Unit) = + settings.apply({ it.configuration() }) +} diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/CachingKotlinCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/CachingKotlinCompiler.kt index 171185e1a..c7db1d5d2 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/CachingKotlinCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/CachingKotlinCompiler.kt @@ -22,7 +22,6 @@ import org.gradle.cache.internal.CacheKeyBuilder.CacheKeySpec import org.gradle.internal.classpath.ClassPath import org.gradle.internal.logging.progress.ProgressLoggerFactory -import org.gradle.kotlin.dsl.KotlinBuildScript import org.gradle.kotlin.dsl.cache.ScriptCache import org.gradle.kotlin.dsl.support.loggerFor @@ -101,16 +100,17 @@ class CachingKotlinCompiler( data class CompiledPluginsBlock(val lineNumber: Int, val compiledScript: CompiledScript) - fun compileBuildScript( + fun compileGradleScript( scriptPath: String, script: String, + scriptTemplate: KClass, classPath: ClassPath, parentClassLoader: ClassLoader): CompiledScript { val scriptFileName = scriptFileNameFor(scriptPath) return compileScript(cacheKeyPrefix + scriptFileName + script, classPath, parentClassLoader) { cacheDir -> ScriptCompilationSpec( - KotlinBuildScript::class, + scriptTemplate, scriptPath, cacheFileFor(script, cacheDir, scriptFileName), scriptFileName) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt index 0596a6217..967d60dad 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt @@ -16,7 +16,6 @@ package org.gradle.kotlin.dsl.provider -import org.gradle.api.Project import org.gradle.api.internal.initialization.ClassLoaderScope import org.gradle.api.internal.initialization.ScriptHandlerInternal import org.gradle.api.internal.plugins.PluginAwareInternal @@ -26,13 +25,13 @@ import org.gradle.groovy.scripts.ScriptSource import org.gradle.internal.classpath.ClassPath import org.gradle.internal.classpath.DefaultClassPath -import org.gradle.kotlin.dsl.accessors.accessorsClassPathFor import org.gradle.kotlin.dsl.get import org.gradle.kotlin.dsl.support.EmbeddedKotlinProvider import org.gradle.kotlin.dsl.support.compilerMessageFor import org.gradle.kotlin.dsl.support.userHome import org.gradle.plugin.management.internal.PluginRequests +import org.gradle.plugin.use.PluginDependenciesSpec import org.gradle.plugin.use.internal.PluginRequestCollector import org.jetbrains.kotlin.com.intellij.openapi.util.text.StringUtilRt.convertLineSeparators @@ -43,6 +42,8 @@ import java.lang.reflect.InvocationTargetException import java.util.* +import kotlin.reflect.KClass + internal class KotlinBuildScriptCompiler( @@ -68,70 +69,77 @@ class KotlinBuildScriptCompiler( buildscriptBlockCompilationClassPath + scriptHandler.scriptClassPath } - fun compile(): (Project) -> Unit = + fun compile(): (Any) -> Unit = when { topLevelScript -> compileTopLevelScript() else -> compileScriptPlugin() } - fun compileForClassPath(): (Project) -> Unit = { target -> - ignoringErrors { executeBuildscriptBlockOn(target) } - ignoringErrors { prepareTargetClassLoaderScopeOf(target) } - ignoringErrors { executeScriptBodyOn(target) } + fun asKotlinScriptPluginTarget(configuration: (KotlinScriptPluginTarget<*>) -> Unit): (Any) -> Unit = { anyTarget -> + configuration(kotlinScriptPluginTargetFor(anyTarget)) } + fun compileForClassPath(): (Any) -> Unit = + asKotlinScriptPluginTarget { target -> + ignoringErrors { executeBuildscriptBlockOn(target) } + ignoringErrors { prepareTargetClassLoaderScopeOf(target) } + ignoringErrors { executeScriptBodyOn(target) } + } + private - fun compileTopLevelScript(): (Project) -> Unit { - return { target -> + fun compileTopLevelScript(): (Any) -> Unit = + asKotlinScriptPluginTarget { target -> withUnexpectedBlockHandling { executeBuildscriptBlockOn(target) prepareAndExecuteScriptBodyOn(target) } } - } private - fun compileScriptPlugin(): (Project) -> Unit { - return { target -> + fun compileScriptPlugin(): (Any) -> Unit = + asKotlinScriptPluginTarget { target -> withUnexpectedBlockHandling { prepareAndExecuteScriptBodyOn(target) } } - } private - fun prepareAndExecuteScriptBodyOn(project: Project) { - prepareTargetClassLoaderScopeOf(project) - executeScriptBodyOn(project) + fun prepareAndExecuteScriptBodyOn(target: KotlinScriptPluginTarget<*>) { + prepareTargetClassLoaderScopeOf(target) + executeScriptBodyOn(target) } private - fun executeScriptBodyOn(project: Project) { - val accessorsClassPath = accessorsClassPathFor(project) - val compiledScript = compileScriptFile(compilationClassPath + accessorsClassPath) + fun executeScriptBodyOn(target: KotlinScriptPluginTarget<*>) { + val accessorsClassPath = accessorsClassPathFor(target) + val compiledScript = compileScriptFileFor(target, compilationClassPath + accessorsClassPath) val scriptScope = scriptClassLoaderScopeWith(accessorsClassPath) - executeCompiledScript(compiledScript, scriptScope, project) + executeCompiledScript(compiledScript, scriptScope, target) } private - fun accessorsClassPathFor(project: Project) = - if (topLevelScript) accessorsClassPathFor(project, compilationClassPath).bin - else ClassPath.EMPTY + fun accessorsClassPathFor(target: KotlinScriptPluginTarget<*>): ClassPath = + if (topLevelScript && target.providesAccessors) + target.accessorsClassPath(compilationClassPath).bin + else + ClassPath.EMPTY private fun scriptClassLoaderScopeWith(accessorsClassPath: ClassPath) = targetScope.createChild("script").apply { local(accessorsClassPath) } private - fun executeBuildscriptBlockOn(target: Project) { + fun executeBuildscriptBlockOn(target: KotlinScriptPluginTarget<*>) { setupEmbeddedKotlinForBuildscript() - extractBuildscriptBlockFrom(script)?.let { buildscriptRange -> - executeBuildscriptBlockOn(target, buildscriptRange) + if (target.supportsBuildscriptBlock) { + extractBuildscriptBlockFrom(script)?.let { buildscriptRange -> + executeBuildscriptBlockOn(target, buildscriptRange) + } } } private - fun executeBuildscriptBlockOn(target: Project, buildscriptRange: IntRange) { + fun executeBuildscriptBlockOn(target: KotlinScriptPluginTarget<*>, buildscriptRange: IntRange) { val compiledScript = compileBuildscriptBlock(buildscriptRange) executeCompiledScript(compiledScript, buildscriptBlockClassLoaderScope(), target) } @@ -154,20 +162,22 @@ class KotlinBuildScriptCompiler( fun executeCompiledScript( compiledScript: CachingKotlinCompiler.CompiledScript, scope: ClassLoaderScope, - target: Project) { + target: KotlinScriptPluginTarget<*>) { val scriptClass = classFrom(compiledScript, scope) executeScriptWithContextClassLoader(scriptClass, target) } private - fun prepareTargetClassLoaderScopeOf(target: Project) { + fun prepareTargetClassLoaderScopeOf(target: KotlinScriptPluginTarget<*>) { targetScope.export(classPathProvider.gradleApiExtensions) - executePluginsBlockOn(target) + if (target.supportsPluginsBlock) { + executePluginsBlockOn(target) + } } private - fun executePluginsBlockOn(target: Project) { + fun executePluginsBlockOn(target: KotlinScriptPluginTarget<*>) { val pluginRequests = collectPluginRequestsFromPluginsBlock() applyPluginsTo(target, pluginRequests) } @@ -197,7 +207,7 @@ class KotlinBuildScriptCompiler( val pluginDependenciesSpec = pluginRequestCollector.createSpec(lineNumber) withContextClassLoader(pluginsBlockClass.classLoader) { try { - instantiate(pluginsBlockClass, pluginDependenciesSpec) + instantiate(pluginsBlockClass, PluginDependenciesSpec::class, pluginDependenciesSpec) } catch (e: InvocationTargetException) { throw e.targetException } @@ -209,9 +219,9 @@ class KotlinBuildScriptCompiler( extractTopLevelSectionFrom(script, "plugins") private - fun applyPluginsTo(target: Project, pluginRequests: PluginRequests) { + fun applyPluginsTo(target: KotlinScriptPluginTarget<*>, pluginRequests: PluginRequests) { pluginRequestsHandler.handle( - pluginRequests, scriptHandler, target as PluginAwareInternal, targetScope) + pluginRequests, scriptHandler, target.`object` as PluginAwareInternal, targetScope) } private @@ -231,10 +241,11 @@ class KotlinBuildScriptCompiler( baseScope.exportClassLoader) private - fun compileScriptFile(classPath: ClassPath) = - kotlinCompiler.compileBuildScript( + fun compileScriptFileFor(target: KotlinScriptPluginTarget<*>, classPath: ClassPath) = + kotlinCompiler.compileGradleScript( scriptPath, script, + target.scriptTemplate, classPath, targetScope.exportClassLoader) @@ -252,16 +263,16 @@ class KotlinBuildScriptCompiler( } private - fun executeScriptWithContextClassLoader(scriptClass: Class<*>, target: Project) { + fun executeScriptWithContextClassLoader(scriptClass: Class<*>, target: KotlinScriptPluginTarget<*>) { withContextClassLoader(scriptClass.classLoader) { executeScriptOf(scriptClass, target) } } private - fun executeScriptOf(scriptClass: Class<*>, target: Project) { + fun executeScriptOf(scriptClass: Class<*>, target: KotlinScriptPluginTarget<*>) { try { - instantiate(scriptClass, target) + instantiate(scriptClass, target.targetType, target.`object`) } catch (e: InvocationTargetException) { if (e.cause is Error) { tryToLogClassLoaderHierarchyOf(scriptClass, target) @@ -271,8 +282,8 @@ class KotlinBuildScriptCompiler( } private inline - fun instantiate(scriptClass: Class<*>, target: T) { - scriptClass.getConstructor(T::class.java).newInstance(target) + fun instantiate(scriptClass: Class<*>, targetType: KClass<*>, target: T) { + scriptClass.getConstructor(targetType.java).newInstance(target) } private inline @@ -291,7 +302,7 @@ class KotlinBuildScriptCompiler( "Unexpected `${block.identifier}` block found. Only one `${block.identifier}` block is allowed per script." private - fun tryToLogClassLoaderHierarchyOf(scriptClass: Class<*>, target: Project) { + fun tryToLogClassLoaderHierarchyOf(scriptClass: Class<*>, target: KotlinScriptPluginTarget<*>) { try { logClassLoaderHierarchyOf(scriptClass, target) } catch (e: Exception) { @@ -300,20 +311,20 @@ class KotlinBuildScriptCompiler( } private - fun logClassLoaderHierarchyOf(scriptClass: Class<*>, project: Project) { - classLoaderHierarchyFileFor(project).writeText( - classLoaderHierarchyJsonFor(scriptClass, targetScope, pathFormatterFor(project))) + fun logClassLoaderHierarchyOf(scriptClass: Class<*>, target: KotlinScriptPluginTarget<*>) { + classLoaderHierarchyFileFor(target).writeText( + classLoaderHierarchyJsonFor(scriptClass, targetScope, pathFormatterFor(target))) } private - fun classLoaderHierarchyFileFor(project: Project) = - File(project.buildDir, "ClassLoaderHierarchy.json").apply { + fun classLoaderHierarchyFileFor(target: KotlinScriptPluginTarget<*>) = + File(target.logDir, "ClassLoaderHierarchy.json").apply { parentFile.mkdirs() } private - fun pathFormatterFor(project: Project): PathStringFormatter { - val baseDirs = baseDirsOf(project) + fun pathFormatterFor(target: KotlinScriptPluginTarget<*>): PathStringFormatter { + val baseDirs = baseDirsOf(target) return { pathString -> var result = pathString baseDirs.forEach { baseDir -> @@ -324,12 +335,12 @@ class KotlinBuildScriptCompiler( } private - fun baseDirsOf(project: Project) = + fun baseDirsOf(target: KotlinScriptPluginTarget<*>) = arrayListOf>().apply { + withBaseDir("PROJECT_ROOT", target.rootDir) + withBaseDir("GRADLE_USER", target.gradleUserHomeDir) + withOptionalBaseDir("GRADLE", target.gradleHomeDir) withBaseDir("HOME", userHome()) - withBaseDir("PROJECT_ROOT", project.rootDir) - withOptionalBaseDir("GRADLE", project.gradle.gradleHomeDir) - withOptionalBaseDir("GRADLE_USER", project.gradle.gradleUserHomeDir) } private diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPlugin.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPlugin.kt index 17791d891..4631d3df9 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPlugin.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPlugin.kt @@ -19,16 +19,15 @@ package org.gradle.kotlin.dsl.provider import org.gradle.kotlin.dsl.support.loggerFor import org.gradle.api.Project +import org.gradle.api.initialization.Settings import org.gradle.configuration.ScriptPlugin import org.gradle.groovy.scripts.ScriptSource -import java.lang.IllegalArgumentException - class KotlinScriptPlugin( val scriptSource: ScriptSource, - val script: (Project) -> Unit) : ScriptPlugin { + val script: (Any) -> Unit) : ScriptPlugin { private val logger = loggerFor() @@ -37,14 +36,18 @@ class KotlinScriptPlugin( override fun apply(target: Any) { logger.debug("Applying Kotlin script to {}", target) - if (target !is Project) { - throw IllegalArgumentException("target $target was not a Project as expected") - } - target.run { - afterEvaluate { - plugins.apply(KotlinScriptBasePlugin::class.java) - } + when (target) { + is Project -> target.applyBaseProjectPlugin() + is Settings -> Unit + else -> unsupportedTarget(target) } script(target) } + + private + fun Project.applyBaseProjectPlugin() { + afterEvaluate { + plugins.apply(KotlinScriptBasePlugin::class.java) + } + } } diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginFactory.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginFactory.kt index d6ac40995..7294cecf9 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginFactory.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginFactory.kt @@ -16,7 +16,6 @@ package org.gradle.kotlin.dsl.provider -import org.gradle.api.Project import org.gradle.api.initialization.dsl.ScriptHandler import org.gradle.api.internal.initialization.ClassLoaderScope import org.gradle.api.internal.initialization.ScriptHandlerInternal @@ -51,7 +50,7 @@ class KotlinScriptPluginFactory @Inject internal constructor( fun compile( scriptSource: ScriptSource, scriptHandler: ScriptHandler, targetScope: ClassLoaderScope, baseScope: ClassLoaderScope, - topLevelScript: Boolean): (Project) -> Unit = + topLevelScript: Boolean): (Any) -> Unit = compilerFor(scriptSource, scriptHandler, targetScope, baseScope, topLevelScript).run { if (topLevelScript && inClassPathMode()) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt new file mode 100644 index 000000000..0512e11f6 --- /dev/null +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt @@ -0,0 +1,115 @@ +/* + * Copyright 2017 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.gradle.kotlin.dsl.provider + +import org.gradle.api.Project +import org.gradle.api.initialization.Settings + +import org.gradle.api.internal.plugins.PluginManagerInternal +import org.gradle.api.internal.project.ProjectInternal +import org.gradle.internal.classpath.ClassPath + +import org.gradle.kotlin.dsl.KotlinBuildScript +import org.gradle.kotlin.dsl.KotlinSettingsScript + +import org.gradle.kotlin.dsl.accessors.AccessorsClassPath +import org.gradle.kotlin.dsl.accessors.accessorsClassPathFor + +import java.io.File +import java.lang.IllegalArgumentException + +import kotlin.reflect.KClass + + +internal +fun kotlinScriptPluginTargetFor(target: Any): KotlinScriptPluginTarget<*> = + when (target) { + is Project -> KotlinScriptPluginProjectTarget(target) + is Settings -> KotlinScriptPluginSettingsTarget(target) + else -> unsupportedTarget(target) + } + + +internal +fun unsupportedTarget(target: Any): Nothing = + throw IllegalArgumentException("Unsupported target ${target::class.qualifiedName}: $target") + + +internal +interface KotlinScriptPluginTarget { + + val `object`: T + val targetType: KClass + val scriptTemplate: KClass<*> + + val rootDir: File + val gradleUserHomeDir: File + val gradleHomeDir: File? + + val logDir: File + + val supportsBuildscriptBlock + get() = false + + val supportsPluginsBlock + get() = false + + val pluginManager: PluginManagerInternal? + get() = null + + val providesAccessors + get() = false + + fun accessorsClassPath(classPath: ClassPath) = + AccessorsClassPath(ClassPath.EMPTY, ClassPath.EMPTY) +} + + +internal +class KotlinScriptPluginProjectTarget( + override val `object`: Project, + override val targetType: KClass = Project::class, + override val scriptTemplate: KClass<*> = KotlinBuildScript::class, + override val supportsBuildscriptBlock: Boolean = true) : KotlinScriptPluginTarget { + + override val rootDir: File get() = `object`.rootDir + override val gradleUserHomeDir: File get() = `object`.gradle.gradleUserHomeDir + override val gradleHomeDir: File? get() = `object`.gradle.gradleHomeDir + + override val logDir: File get() = `object`.buildDir + + override val supportsPluginsBlock = true + override val pluginManager: PluginManagerInternal + get() = (`object` as ProjectInternal).pluginManager + + override val providesAccessors = true + override fun accessorsClassPath(classPath: ClassPath) = + accessorsClassPathFor(`object`, classPath) +} + + +internal +class KotlinScriptPluginSettingsTarget( + override val `object`: Settings, + override val targetType: KClass = Settings::class, + override val scriptTemplate: KClass<*> = KotlinSettingsScript::class) : KotlinScriptPluginTarget { + + override val rootDir: File get() = `object`.rootDir + override val gradleUserHomeDir: File get() = `object`.gradle.gradleUserHomeDir + override val gradleHomeDir: File? get() = `object`.gradle.gradleHomeDir + + override val logDir: File get() = File(`object`.rootDir, "build") +} diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/resolver/KotlinBuildScriptDependenciesResolver.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/resolver/KotlinBuildScriptDependenciesResolver.kt index a33047f6b..c975bcdf0 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/resolver/KotlinBuildScriptDependenciesResolver.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/resolver/KotlinBuildScriptDependenciesResolver.kt @@ -219,6 +219,7 @@ class KotlinBuildScriptDependencies( internal fun projectRootOf(scriptFile: File, importedProjectRoot: File): File { + // TODO:pm remove hardcoded reference to settings.gradle fun isProjectRoot(dir: File) = File(dir, "settings.gradle").isFile tailrec fun test(dir: File): File = From 55fd604b15b64c2fc4c44ab5819f367fa582574b Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 12 Oct 2017 11:45:51 +0200 Subject: [PATCH 007/115] Add some Settings extensions for ease of use --- .../gradle/kotlin/dsl/SettingsExtensions.kt | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 provider/src/main/kotlin/org/gradle/kotlin/dsl/SettingsExtensions.kt diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/SettingsExtensions.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/SettingsExtensions.kt new file mode 100644 index 000000000..9f1acbf48 --- /dev/null +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/SettingsExtensions.kt @@ -0,0 +1,38 @@ +/* + * Copyright 2017 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.gradle.kotlin.dsl + +import org.gradle.api.initialization.Settings + +/** + * Adds the given projects to the build. + * + * @param projectPaths the projects to add + * @see [Settings.include] + */ +fun Settings.include(vararg projectPaths: String) { + include(projectPaths) +} + +/** + * Adds the given projects to the build. + * + * @param projectNames the projects to add + * @see [Settings.includeFlat] + */ +fun Settings.includeFlat(vararg projectNames: String) { + includeFlat(projectNames) +} From b0be13550c44baf664306b7bf9453891a36e4fda Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 12 Oct 2017 11:47:41 +0200 Subject: [PATCH 008/115] Build script dependencies resolver takes kts settings into account for resolving build roots. --- .../KotlinBuildScriptDependenciesResolver.kt | 3 ++- .../kotlin/dsl/resolver/ProjectRootOfTest.kt | 20 ++++++++++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/resolver/KotlinBuildScriptDependenciesResolver.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/resolver/KotlinBuildScriptDependenciesResolver.kt index c975bcdf0..e842106a3 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/resolver/KotlinBuildScriptDependenciesResolver.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/resolver/KotlinBuildScriptDependenciesResolver.kt @@ -220,7 +220,8 @@ internal fun projectRootOf(scriptFile: File, importedProjectRoot: File): File { // TODO:pm remove hardcoded reference to settings.gradle - fun isProjectRoot(dir: File) = File(dir, "settings.gradle").isFile + fun isProjectRoot(dir: File) = + File(dir, "settings.gradle").isFile || File(dir, "settings.gradle.kts").isFile tailrec fun test(dir: File): File = when { diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/resolver/ProjectRootOfTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/resolver/ProjectRootOfTest.kt index aa7fc68e0..30e7332d3 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/resolver/ProjectRootOfTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/resolver/ProjectRootOfTest.kt @@ -6,8 +6,18 @@ import org.hamcrest.CoreMatchers.equalTo import org.hamcrest.MatcherAssert.assertThat import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.Parameterized -class ProjectRootOfTest : FolderBasedTest() { +@RunWith(Parameterized::class) +class ProjectRootOfTest(private val settingsFileName: String) : FolderBasedTest() { + + companion object { + @Parameterized.Parameters(name = "{0}") + @JvmStatic + fun testCases(): Iterable> = + listOf(arrayOf("settings.gradle"), arrayOf("settings.gradle.kts")) + } @Test fun `given a script file under a nested project it should return the nested project root`() { @@ -15,8 +25,8 @@ class ProjectRootOfTest : FolderBasedTest() { withFolders { "root" { "nested-project-root" { - // a nested project is detected by the presence of a settings.gradle file - withFile("settings.gradle") + // a nested project is detected by the presence of a settings file + withFile(settingsFileName) "sub-project" { withFile("build.gradle.kts") } @@ -57,8 +67,8 @@ class ProjectRootOfTest : FolderBasedTest() { } "separate" { "nested-project-root" { - // a nested project is detected by the presence of a settings.gradle file - withFile("settings.gradle") + // a nested project is detected by the presence of a settings file + withFile(settingsFileName) "sub-project" { withFile("build.gradle.kts") } From 964f07466007e3258084c8cfd5378a6033bb3b27 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 12 Oct 2017 11:48:29 +0200 Subject: [PATCH 009/115] Integration tests use settings.gradle.kts files --- .../org/gradle/kotlin/dsl/plugins/AbstractPluginTest.kt | 6 +++--- .../accessors/ProjectSchemaAccessorsIntegrationTest.kt | 8 ++++---- .../dsl/integration/GradleKotlinDslIntegrationTest.kt | 6 +++--- .../integration/KotlinBuildScriptModelIntegrationTest.kt | 6 +++--- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/AbstractPluginTest.kt b/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/AbstractPluginTest.kt index 785611bbe..051dd18d7 100644 --- a/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/AbstractPluginTest.kt +++ b/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/AbstractPluginTest.kt @@ -15,11 +15,11 @@ open class AbstractPluginTest : AbstractIntegrationTest() { fun setUpTestPluginRepository() { val testRepository = normaliseFileSeparators(absolutePathOf("build/repository")) val futureVersion = loadTestProperties()["version"] - withFile("settings.gradle", """ + withFile("settings.gradle.kts", """ pluginManagement { repositories { - maven { url = uri("$testRepository") } - maven { url = uri("https://jcenter.bintray.com/") } + maven { setUrl("$testRepository") } + maven { setUrl("https://jcenter.bintray.com/") } } resolutionStrategy { eachPlugin { diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt index 95ce7c77a..b8a3af1b4 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt @@ -126,8 +126,8 @@ class ProjectSchemaAccessorsIntegrationTest : AbstractIntegrationTest() { @Test fun `can access configurations registered by declared plugins via jit accessor`() { - withFile("settings.gradle", """ - include "a", "b", "c" + withFile("settings.gradle.kts", """ + include("a", "b", "c") """) withFile("a/build.gradle.kts", """ @@ -235,8 +235,8 @@ class ProjectSchemaAccessorsIntegrationTest : AbstractIntegrationTest() { @Test fun `accessors tasks applied in a mixed Groovy-Kotlin multi-project build`() { - withFile("settings.gradle", """ - include 'a' + withFile("settings.gradle.kts", """ + include("a") """) withFile("a/build.gradle.kts") diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt index d4b2a128e..747d09da3 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt @@ -330,8 +330,8 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { } """) - existing("settings.gradle").appendText(""" - include 'sub-project' + existing("settings.gradle.kts").appendText(""" + include("sub-project") """) withFile("sub-project/build.gradle.kts", """ @@ -351,7 +351,7 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { @Test fun `given non-existing build script file name set in settings do not fail`() { - withFile("settings.gradle", "rootProject.buildFileName = \"does-not-exist.gradle.kts\"") + withFile("settings.gradle.kts", "rootProject.buildFileName = \"does-not-exist.gradle.kts\"") build("help") } diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt index d3bdca2e5..f9ec7d68a 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt @@ -87,8 +87,8 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { @Test fun `can fetch buildscript classpath for sub-project script`() { - withFile("settings.gradle", """ - include 'foo', 'bar' + withFile("settings.gradle.kts", """ + include("foo", "bar") """) fun withFixture(fixture: String) = @@ -240,7 +240,7 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { matches: Matcher>) { val subProjectName = "sub" - withFile("settings.gradle", "include '$subProjectName'") + withFile("settings.gradle.kts", "include(\"$subProjectName\")") withBuildScript(rootProjectScript) val subProjectScriptFile = withBuildScriptIn(subProjectName, subProjectScript) From 7fea2897fbab1524b94216181aa811bd198d7fb7 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 12 Oct 2017 17:33:43 +0200 Subject: [PATCH 010/115] Refine CachingKotlinCompiler --- .../org/gradle/kotlin/dsl/provider/CachingKotlinCompiler.kt | 2 +- .../org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/CachingKotlinCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/CachingKotlinCompiler.kt index c7db1d5d2..ff260fa0d 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/CachingKotlinCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/CachingKotlinCompiler.kt @@ -101,9 +101,9 @@ class CachingKotlinCompiler( data class CompiledPluginsBlock(val lineNumber: Int, val compiledScript: CompiledScript) fun compileGradleScript( + scriptTemplate: KClass, scriptPath: String, script: String, - scriptTemplate: KClass, classPath: ClassPath, parentClassLoader: ClassLoader): CompiledScript { diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt index 967d60dad..504f45d1d 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt @@ -243,9 +243,9 @@ class KotlinBuildScriptCompiler( private fun compileScriptFileFor(target: KotlinScriptPluginTarget<*>, classPath: ClassPath) = kotlinCompiler.compileGradleScript( + target.scriptTemplate, scriptPath, script, - target.scriptTemplate, classPath, targetScope.exportClassLoader) From 3cc2e9eb252240763859a94f34e06c273bba9093 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 12 Oct 2017 17:36:18 +0200 Subject: [PATCH 011/115] Refine KotlinBuildScriptCompiler --- .../kotlin/dsl/provider/KotlinBuildScriptCompiler.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt index 504f45d1d..23a16194e 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt @@ -75,10 +75,6 @@ class KotlinBuildScriptCompiler( else -> compileScriptPlugin() } - fun asKotlinScriptPluginTarget(configuration: (KotlinScriptPluginTarget<*>) -> Unit): (Any) -> Unit = { anyTarget -> - configuration(kotlinScriptPluginTargetFor(anyTarget)) - } - fun compileForClassPath(): (Any) -> Unit = asKotlinScriptPluginTarget { target -> ignoringErrors { executeBuildscriptBlockOn(target) } @@ -103,6 +99,11 @@ class KotlinBuildScriptCompiler( } } + private + fun asKotlinScriptPluginTarget(configuration: (KotlinScriptPluginTarget<*>) -> Unit): (Any) -> Unit = { anyTarget -> + configuration(kotlinScriptPluginTargetFor(anyTarget)) + } + private fun prepareAndExecuteScriptBodyOn(target: KotlinScriptPluginTarget<*>) { prepareTargetClassLoaderScopeOf(target) From e1364052e83dae64f829e955bad58b139bee1a31 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 12 Oct 2017 17:39:28 +0200 Subject: [PATCH 012/115] withSettingsScript(..) & withSettingsScriptIn(..) fixtures --- .../kotlin/dsl/plugins/AbstractPluginTest.kt | 2 +- .../ProjectSchemaAccessorsIntegrationTest.kt | 14 ++++++-------- .../integration/GradleKotlinDslIntegrationTest.kt | 8 +++----- .../KotlinBuildScriptModelIntegrationTest.kt | 8 +++----- .../kotlin/dsl/fixtures/AbstractIntegrationTest.kt | 10 +++++++++- 5 files changed, 22 insertions(+), 20 deletions(-) diff --git a/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/AbstractPluginTest.kt b/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/AbstractPluginTest.kt index 051dd18d7..304676fcf 100644 --- a/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/AbstractPluginTest.kt +++ b/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/AbstractPluginTest.kt @@ -15,7 +15,7 @@ open class AbstractPluginTest : AbstractIntegrationTest() { fun setUpTestPluginRepository() { val testRepository = normaliseFileSeparators(absolutePathOf("build/repository")) val futureVersion = loadTestProperties()["version"] - withFile("settings.gradle.kts", """ + withSettingsScript(""" pluginManagement { repositories { maven { setUrl("$testRepository") } diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt index b8a3af1b4..746fccb45 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt @@ -126,15 +126,15 @@ class ProjectSchemaAccessorsIntegrationTest : AbstractIntegrationTest() { @Test fun `can access configurations registered by declared plugins via jit accessor`() { - withFile("settings.gradle.kts", """ + withSettingsScript(""" include("a", "b", "c") """) - withFile("a/build.gradle.kts", """ + withBuildScriptIn("a", """ plugins { `java-library` } """) - withFile("b/build.gradle.kts", """ + withBuildScriptIn("b", """ plugins { `java-library` } dependencies { @@ -144,7 +144,7 @@ class ProjectSchemaAccessorsIntegrationTest : AbstractIntegrationTest() { repositories { jcenter() } """) - withFile("c/build.gradle.kts", """ + withBuildScriptIn("c", """ plugins { `java-library` } dependencies { @@ -235,10 +235,8 @@ class ProjectSchemaAccessorsIntegrationTest : AbstractIntegrationTest() { @Test fun `accessors tasks applied in a mixed Groovy-Kotlin multi-project build`() { - withFile("settings.gradle.kts", """ - include("a") - """) - withFile("a/build.gradle.kts") + withSettingsScript("include(\"a\")") + withBuildScriptIn("a", "") val aTasks = build(":a:tasks").output assertThat(aTasks, containsString("kotlinDslAccessorsReport")) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt index 747d09da3..03095b344 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt @@ -330,11 +330,9 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { } """) - existing("settings.gradle.kts").appendText(""" - include("sub-project") - """) + withSettingsScript("include(\"sub-project\")") - withFile("sub-project/build.gradle.kts", """ + withBuildScriptIn("sub-project", """ task("compute") { doLast { val computer = ${DeepThought::class.qualifiedName}() @@ -351,7 +349,7 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { @Test fun `given non-existing build script file name set in settings do not fail`() { - withFile("settings.gradle.kts", "rootProject.buildFileName = \"does-not-exist.gradle.kts\"") + withSettingsScript("rootProject.buildFileName = \"does-not-exist.gradle.kts\"") build("help") } diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt index f9ec7d68a..eee3b358e 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt @@ -87,9 +87,7 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { @Test fun `can fetch buildscript classpath for sub-project script`() { - withFile("settings.gradle.kts", """ - include("foo", "bar") - """) + withSettingsScript("include(\"foo\", \"bar\")") fun withFixture(fixture: String) = withClassJar("libs/$fixture.jar", DeepThought::class.java) @@ -184,7 +182,7 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { assertSourcePathIncludesKotlinPluginSourcesGiven( rootProjectScript = "", - subProjectScript =""" + subProjectScript = """ buildscript { dependencies { classpath(embeddedKotlin("gradle-plugin")) } repositories { jcenter() } @@ -240,7 +238,7 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { matches: Matcher>) { val subProjectName = "sub" - withFile("settings.gradle.kts", "include(\"$subProjectName\")") + withSettingsScript("include(\"$subProjectName\")") withBuildScript(rootProjectScript) val subProjectScriptFile = withBuildScriptIn(subProjectName, subProjectScript) diff --git a/test-fixtures/src/main/kotlin/org/gradle/kotlin/dsl/fixtures/AbstractIntegrationTest.kt b/test-fixtures/src/main/kotlin/org/gradle/kotlin/dsl/fixtures/AbstractIntegrationTest.kt index 6f2ced947..53ad0b2fe 100644 --- a/test-fixtures/src/main/kotlin/org/gradle/kotlin/dsl/fixtures/AbstractIntegrationTest.kt +++ b/test-fixtures/src/main/kotlin/org/gradle/kotlin/dsl/fixtures/AbstractIntegrationTest.kt @@ -28,6 +28,14 @@ open class AbstractIntegrationTest { val projectRoot: File get() = File(temporaryFolder.root, toSafeFileName(testName.methodName)).apply { mkdirs() } + protected + fun withSettingsScript(script: String, produceFile: (String) -> File = this::newFile): File = + withSettingsScriptIn(".", script, produceFile) + + protected + fun withSettingsScriptIn(baseDir: String, script: String, produceFile: (String) -> File = this::newFile): File = + withFile("$baseDir/settings.gradle.kts", script, produceFile) + protected fun withBuildScript(script: String, produceFile: (String) -> File = this::newFile): File = withBuildScriptIn(".", script, produceFile) @@ -76,7 +84,7 @@ open class AbstractIntegrationTest { existing(fileName).let { when { it.isFile -> it - else -> newFile(fileName) + else -> newFile(fileName) } } From 1cc0c05451c084566f07a2ab073acb43cd07df2e Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 12 Oct 2017 17:40:39 +0200 Subject: [PATCH 013/115] KotlinScriptPluginTarget as a sealed hierarchy of data classes --- .../dsl/provider/KotlinScriptPluginTarget.kt | 88 +++++++------------ 1 file changed, 34 insertions(+), 54 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt index 0512e11f6..dafde17bc 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt @@ -49,67 +49,47 @@ fun unsupportedTarget(target: Any): Nothing = internal -interface KotlinScriptPluginTarget { - - val `object`: T - val targetType: KClass - val scriptTemplate: KClass<*> - - val rootDir: File - val gradleUserHomeDir: File - val gradleHomeDir: File? - - val logDir: File - - val supportsBuildscriptBlock - get() = false - - val supportsPluginsBlock - get() = false - - val pluginManager: PluginManagerInternal? - get() = null - - val providesAccessors - get() = false - - fun accessorsClassPath(classPath: ClassPath) = +sealed class KotlinScriptPluginTarget( + open val `object`: T, + val targetType: KClass, + val scriptTemplate: KClass<*>, + val rootDir: File, + val gradleUserHomeDir: File, + val gradleHomeDir: File?, + val logDir: File, + val supportsBuildscriptBlock: Boolean = false, + val supportsPluginsBlock: Boolean = false, + val pluginManager: PluginManagerInternal? = null, + val providesAccessors: Boolean = false) { + + open fun accessorsClassPath(classPath: ClassPath) = AccessorsClassPath(ClassPath.EMPTY, ClassPath.EMPTY) } - internal -class KotlinScriptPluginProjectTarget( - override val `object`: Project, - override val targetType: KClass = Project::class, - override val scriptTemplate: KClass<*> = KotlinBuildScript::class, - override val supportsBuildscriptBlock: Boolean = true) : KotlinScriptPluginTarget { - - override val rootDir: File get() = `object`.rootDir - override val gradleUserHomeDir: File get() = `object`.gradle.gradleUserHomeDir - override val gradleHomeDir: File? get() = `object`.gradle.gradleHomeDir - - override val logDir: File get() = `object`.buildDir - - override val supportsPluginsBlock = true - override val pluginManager: PluginManagerInternal - get() = (`object` as ProjectInternal).pluginManager +data class KotlinScriptPluginProjectTarget(override val `object`: Project) : KotlinScriptPluginTarget( + `object`, + targetType = Project::class, + scriptTemplate = KotlinBuildScript::class, + rootDir = `object`.rootDir, + gradleUserHomeDir = `object`.gradle.gradleUserHomeDir, + gradleHomeDir = `object`.gradle.gradleHomeDir, + logDir = `object`.buildDir, + supportsBuildscriptBlock = true, + supportsPluginsBlock = true, + pluginManager = (`object` as ProjectInternal).pluginManager, + providesAccessors = true) { - override val providesAccessors = true override fun accessorsClassPath(classPath: ClassPath) = accessorsClassPathFor(`object`, classPath) } - internal -class KotlinScriptPluginSettingsTarget( - override val `object`: Settings, - override val targetType: KClass = Settings::class, - override val scriptTemplate: KClass<*> = KotlinSettingsScript::class) : KotlinScriptPluginTarget { - - override val rootDir: File get() = `object`.rootDir - override val gradleUserHomeDir: File get() = `object`.gradle.gradleUserHomeDir - override val gradleHomeDir: File? get() = `object`.gradle.gradleHomeDir - - override val logDir: File get() = File(`object`.rootDir, "build") -} +data class KotlinScriptPluginSettingsTarget(override val `object`: Settings) : KotlinScriptPluginTarget( + `object`, + targetType = Settings::class, + scriptTemplate = KotlinSettingsScript::class, + rootDir = `object`.rootDir, + gradleUserHomeDir = `object`.gradle.gradleUserHomeDir, + gradleHomeDir = `object`.gradle.gradleHomeDir, + logDir = File(`object`.rootDir, "build")) From 3035e37457f2fb0cf72fe8efe8c4419e5319188d Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 12 Oct 2017 18:07:33 +0200 Subject: [PATCH 014/115] Refine projectRootsOf(..) Simply check for settings.gradle.kts then settings.gradle. This code runs in IntelliJ and cannot rely on Gradle services. It could, and will, make use of a client side mechanism provided by the TAPI, see https://github.com/gradle/gradle/issues/1994 --- .../dsl/resolver/KotlinBuildScriptDependenciesResolver.kt | 2 +- .../org/gradle/kotlin/dsl/resolver/ProjectRootOfTest.kt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/resolver/KotlinBuildScriptDependenciesResolver.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/resolver/KotlinBuildScriptDependenciesResolver.kt index e842106a3..2c08dd93a 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/resolver/KotlinBuildScriptDependenciesResolver.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/resolver/KotlinBuildScriptDependenciesResolver.kt @@ -221,7 +221,7 @@ fun projectRootOf(scriptFile: File, importedProjectRoot: File): File { // TODO:pm remove hardcoded reference to settings.gradle fun isProjectRoot(dir: File) = - File(dir, "settings.gradle").isFile || File(dir, "settings.gradle.kts").isFile + File(dir, "settings.gradle.kts").isFile || File(dir, "settings.gradle").isFile tailrec fun test(dir: File): File = when { diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/resolver/ProjectRootOfTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/resolver/ProjectRootOfTest.kt index 30e7332d3..b366e868f 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/resolver/ProjectRootOfTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/resolver/ProjectRootOfTest.kt @@ -15,8 +15,8 @@ class ProjectRootOfTest(private val settingsFileName: String) : FolderBasedTest( companion object { @Parameterized.Parameters(name = "{0}") @JvmStatic - fun testCases(): Iterable> = - listOf(arrayOf("settings.gradle"), arrayOf("settings.gradle.kts")) + fun testCases() = + listOf(arrayOf("settings.gradle"), arrayOf("settings.gradle.kts")) } @Test From 398c85a51a4c780c31131f4fdd390a885eab6976 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 12 Oct 2017 18:13:36 +0200 Subject: [PATCH 015/115] Keep 1 test exercising groovy-dsl settings with kotlin-dsl build script --- .../GradleKotlinDslIntegrationTest.kt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt index 03095b344..0b43adc70 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt @@ -386,6 +386,24 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { not(containsString("myTask.foo")))) } + @Test + fun `build with groovy settings and kotlin-dsl build script succeeds`() { + + withFile("settings.gradle", """ + println("Groovy DSL Settings") + """) + + withBuildScript(""" + println("Kotlin DSL Build Script") + """) + + assertThat( + build("help").output, + allOf( + containsString("Groovy DSL Settings"), + containsString("Kotlin DSL Build Script"))) + } + private val fixturesRepository: File get() = File(rootProjectDir, "fixtures/repository").absoluteFile From 0dbba5f0729cb82b3d5b196cf1c2a187ea146945 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 12 Oct 2017 19:16:49 +0200 Subject: [PATCH 016/115] Remove premature Settings extensions --- .../gradle/kotlin/dsl/SettingsExtensions.kt | 38 ------------------- .../ProjectSchemaAccessorsIntegrationTest.kt | 4 +- .../GradleKotlinDslIntegrationTest.kt | 2 +- .../KotlinBuildScriptModelIntegrationTest.kt | 4 +- 4 files changed, 5 insertions(+), 43 deletions(-) delete mode 100644 provider/src/main/kotlin/org/gradle/kotlin/dsl/SettingsExtensions.kt diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/SettingsExtensions.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/SettingsExtensions.kt deleted file mode 100644 index 9f1acbf48..000000000 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/SettingsExtensions.kt +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2017 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.gradle.kotlin.dsl - -import org.gradle.api.initialization.Settings - -/** - * Adds the given projects to the build. - * - * @param projectPaths the projects to add - * @see [Settings.include] - */ -fun Settings.include(vararg projectPaths: String) { - include(projectPaths) -} - -/** - * Adds the given projects to the build. - * - * @param projectNames the projects to add - * @see [Settings.includeFlat] - */ -fun Settings.includeFlat(vararg projectNames: String) { - includeFlat(projectNames) -} diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt index 746fccb45..f85b69082 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt @@ -127,7 +127,7 @@ class ProjectSchemaAccessorsIntegrationTest : AbstractIntegrationTest() { fun `can access configurations registered by declared plugins via jit accessor`() { withSettingsScript(""" - include("a", "b", "c") + include(arrayOf("a", "b", "c")) """) withBuildScriptIn("a", """ @@ -235,7 +235,7 @@ class ProjectSchemaAccessorsIntegrationTest : AbstractIntegrationTest() { @Test fun `accessors tasks applied in a mixed Groovy-Kotlin multi-project build`() { - withSettingsScript("include(\"a\")") + withSettingsScript("include(arrayOf(\"a\"))") withBuildScriptIn("a", "") val aTasks = build(":a:tasks").output diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt index 0b43adc70..1cddf7afd 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt @@ -330,7 +330,7 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { } """) - withSettingsScript("include(\"sub-project\")") + withSettingsScript("include(arrayOf(\"sub-project\"))") withBuildScriptIn("sub-project", """ task("compute") { diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt index eee3b358e..1bd3bdae9 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt @@ -87,7 +87,7 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { @Test fun `can fetch buildscript classpath for sub-project script`() { - withSettingsScript("include(\"foo\", \"bar\")") + withSettingsScript("include(arrayOf(\"foo\", \"bar\"))") fun withFixture(fixture: String) = withClassJar("libs/$fixture.jar", DeepThought::class.java) @@ -238,7 +238,7 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { matches: Matcher>) { val subProjectName = "sub" - withSettingsScript("include(\"$subProjectName\")") + withSettingsScript("include(arrayOf(\"$subProjectName\"))") withBuildScript(rootProjectScript) val subProjectScriptFile = withBuildScriptIn(subProjectName, subProjectScript) From 580a6ac84ce3a19d012f74b4afb8b4d9e89832e5 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 13 Oct 2017 10:47:04 +0200 Subject: [PATCH 017/115] KotlinScriptPluginTarget is responsible for configuring actual targets Removing the need for duplicated target type matching in KotlinScriptPlugin --- .../dsl/provider/KotlinBuildScriptCompiler.kt | 2 ++ .../kotlin/dsl/provider/KotlinScriptPlugin.kt | 23 +++---------------- .../dsl/provider/KotlinScriptPluginTarget.kt | 10 ++++++++ 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt index 23a16194e..38cc8328e 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt @@ -85,6 +85,7 @@ class KotlinBuildScriptCompiler( private fun compileTopLevelScript(): (Any) -> Unit = asKotlinScriptPluginTarget { target -> + target.configure() withUnexpectedBlockHandling { executeBuildscriptBlockOn(target) prepareAndExecuteScriptBodyOn(target) @@ -94,6 +95,7 @@ class KotlinBuildScriptCompiler( private fun compileScriptPlugin(): (Any) -> Unit = asKotlinScriptPluginTarget { target -> + target.configure() withUnexpectedBlockHandling { prepareAndExecuteScriptBodyOn(target) } diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPlugin.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPlugin.kt index 4631d3df9..3cd6884a3 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPlugin.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPlugin.kt @@ -16,18 +16,13 @@ package org.gradle.kotlin.dsl.provider -import org.gradle.kotlin.dsl.support.loggerFor - -import org.gradle.api.Project -import org.gradle.api.initialization.Settings - import org.gradle.configuration.ScriptPlugin - import org.gradle.groovy.scripts.ScriptSource +import org.gradle.kotlin.dsl.support.loggerFor class KotlinScriptPlugin( - val scriptSource: ScriptSource, - val script: (Any) -> Unit) : ScriptPlugin { + private val scriptSource: ScriptSource, + private val script: (Any) -> Unit) : ScriptPlugin { private val logger = loggerFor() @@ -36,18 +31,6 @@ class KotlinScriptPlugin( override fun apply(target: Any) { logger.debug("Applying Kotlin script to {}", target) - when (target) { - is Project -> target.applyBaseProjectPlugin() - is Settings -> Unit - else -> unsupportedTarget(target) - } script(target) } - - private - fun Project.applyBaseProjectPlugin() { - afterEvaluate { - plugins.apply(KotlinScriptBasePlugin::class.java) - } - } } diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt index dafde17bc..9d7131230 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt @@ -64,6 +64,8 @@ sealed class KotlinScriptPluginTarget( open fun accessorsClassPath(classPath: ClassPath) = AccessorsClassPath(ClassPath.EMPTY, ClassPath.EMPTY) + + open fun configure() = Unit } internal @@ -82,6 +84,14 @@ data class KotlinScriptPluginProjectTarget(override val `object`: Project) : Kot override fun accessorsClassPath(classPath: ClassPath) = accessorsClassPathFor(`object`, classPath) + + override fun configure() { + `object`.run { + afterEvaluate { + plugins.apply(KotlinScriptBasePlugin::class.java) + } + } + } } internal From ad94735a26a937041b25363991911df601ab1cce Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Tue, 17 Oct 2017 09:16:24 +0200 Subject: [PATCH 018/115] Address minor review comments --- .../org/gradle/kotlin/dsl/plugins/AbstractPluginTest.kt | 2 +- .../kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt | 2 ++ .../dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt | 4 ++-- .../dsl/integration/GradleKotlinDslIntegrationTest.kt | 6 +++--- .../integration/KotlinBuildScriptModelIntegrationTest.kt | 4 ++-- .../gradle/kotlin/dsl/fixtures/AbstractIntegrationTest.kt | 7 ++++--- 6 files changed, 14 insertions(+), 11 deletions(-) diff --git a/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/AbstractPluginTest.kt b/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/AbstractPluginTest.kt index 304676fcf..29ff7aa02 100644 --- a/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/AbstractPluginTest.kt +++ b/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/AbstractPluginTest.kt @@ -15,7 +15,7 @@ open class AbstractPluginTest : AbstractIntegrationTest() { fun setUpTestPluginRepository() { val testRepository = normaliseFileSeparators(absolutePathOf("build/repository")) val futureVersion = loadTestProperties()["version"] - withSettingsScript(""" + withSettings(""" pluginManagement { repositories { maven { setUrl("$testRepository") } diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt index 1cb744a3a..884865026 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt @@ -18,9 +18,11 @@ package org.gradle.kotlin.dsl import org.gradle.api.initialization.Settings import org.gradle.api.plugins.ObjectConfigurationAction import org.gradle.kotlin.dsl.resolver.KotlinBuildScriptDependenciesResolver + import kotlin.script.extensions.SamWithReceiverAnnotations import kotlin.script.templates.ScriptTemplateDefinition + /** * Base class for Kotlin settings scripts. */ diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt index f85b69082..cab348e72 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt @@ -126,7 +126,7 @@ class ProjectSchemaAccessorsIntegrationTest : AbstractIntegrationTest() { @Test fun `can access configurations registered by declared plugins via jit accessor`() { - withSettingsScript(""" + withSettings(""" include(arrayOf("a", "b", "c")) """) @@ -235,7 +235,7 @@ class ProjectSchemaAccessorsIntegrationTest : AbstractIntegrationTest() { @Test fun `accessors tasks applied in a mixed Groovy-Kotlin multi-project build`() { - withSettingsScript("include(arrayOf(\"a\"))") + withSettings("include(arrayOf(\"a\"))") withBuildScriptIn("a", "") val aTasks = build(":a:tasks").output diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt index 1cddf7afd..fa8a94f7c 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt @@ -330,7 +330,7 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { } """) - withSettingsScript("include(arrayOf(\"sub-project\"))") + withSettings("include(arrayOf(\"sub-project\"))") withBuildScriptIn("sub-project", """ task("compute") { @@ -349,7 +349,7 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { @Test fun `given non-existing build script file name set in settings do not fail`() { - withSettingsScript("rootProject.buildFileName = \"does-not-exist.gradle.kts\"") + withSettings("rootProject.buildFileName = \"does-not-exist.gradle.kts\"") build("help") } @@ -390,7 +390,7 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { fun `build with groovy settings and kotlin-dsl build script succeeds`() { withFile("settings.gradle", """ - println("Groovy DSL Settings") + println 'Groovy DSL Settings' """) withBuildScript(""" diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt index 1bd3bdae9..8e1351f50 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt @@ -87,7 +87,7 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { @Test fun `can fetch buildscript classpath for sub-project script`() { - withSettingsScript("include(arrayOf(\"foo\", \"bar\"))") + withSettings("include(arrayOf(\"foo\", \"bar\"))") fun withFixture(fixture: String) = withClassJar("libs/$fixture.jar", DeepThought::class.java) @@ -238,7 +238,7 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { matches: Matcher>) { val subProjectName = "sub" - withSettingsScript("include(arrayOf(\"$subProjectName\"))") + withSettings("include(arrayOf(\"$subProjectName\"))") withBuildScript(rootProjectScript) val subProjectScriptFile = withBuildScriptIn(subProjectName, subProjectScript) diff --git a/test-fixtures/src/main/kotlin/org/gradle/kotlin/dsl/fixtures/AbstractIntegrationTest.kt b/test-fixtures/src/main/kotlin/org/gradle/kotlin/dsl/fixtures/AbstractIntegrationTest.kt index 53ad0b2fe..1fbb00c1f 100644 --- a/test-fixtures/src/main/kotlin/org/gradle/kotlin/dsl/fixtures/AbstractIntegrationTest.kt +++ b/test-fixtures/src/main/kotlin/org/gradle/kotlin/dsl/fixtures/AbstractIntegrationTest.kt @@ -9,6 +9,7 @@ import org.gradle.testkit.runner.internal.DefaultGradleRunner import org.junit.Rule import org.junit.rules.TemporaryFolder import org.junit.rules.TestName + import java.io.File @@ -29,11 +30,11 @@ open class AbstractIntegrationTest { get() = File(temporaryFolder.root, toSafeFileName(testName.methodName)).apply { mkdirs() } protected - fun withSettingsScript(script: String, produceFile: (String) -> File = this::newFile): File = - withSettingsScriptIn(".", script, produceFile) + fun withSettings(script: String, produceFile: (String) -> File = this::newFile): File = + withSettingsIn(".", script, produceFile) protected - fun withSettingsScriptIn(baseDir: String, script: String, produceFile: (String) -> File = this::newFile): File = + fun withSettingsIn(baseDir: String, script: String, produceFile: (String) -> File = this::newFile): File = withFile("$baseDir/settings.gradle.kts", script, produceFile) protected From 62a6a61a8c378157ea037d888b5dbc1f336e71d2 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Mon, 16 Oct 2017 21:31:25 -0200 Subject: [PATCH 019/115] Dedupe KotlinScriptPluginTarget configuration --- .../gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt index 38cc8328e..6fb862af0 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt @@ -85,7 +85,6 @@ class KotlinBuildScriptCompiler( private fun compileTopLevelScript(): (Any) -> Unit = asKotlinScriptPluginTarget { target -> - target.configure() withUnexpectedBlockHandling { executeBuildscriptBlockOn(target) prepareAndExecuteScriptBodyOn(target) @@ -95,7 +94,6 @@ class KotlinBuildScriptCompiler( private fun compileScriptPlugin(): (Any) -> Unit = asKotlinScriptPluginTarget { target -> - target.configure() withUnexpectedBlockHandling { prepareAndExecuteScriptBodyOn(target) } @@ -103,7 +101,9 @@ class KotlinBuildScriptCompiler( private fun asKotlinScriptPluginTarget(configuration: (KotlinScriptPluginTarget<*>) -> Unit): (Any) -> Unit = { anyTarget -> - configuration(kotlinScriptPluginTargetFor(anyTarget)) + val target = kotlinScriptPluginTargetFor(anyTarget) + target.configure() + configuration(target) } private From 4933763fefa714758542c0b71025342ce4482eae Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Mon, 16 Oct 2017 21:47:14 -0200 Subject: [PATCH 020/115] Replace conditional invocation by function with nullable result type --- .../kotlin/dsl/provider/KotlinBuildScriptCompiler.kt | 6 ++---- .../kotlin/dsl/provider/KotlinScriptPluginTarget.kt | 9 +++------ 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt index 6fb862af0..292d6c4fe 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt @@ -122,10 +122,8 @@ class KotlinBuildScriptCompiler( private fun accessorsClassPathFor(target: KotlinScriptPluginTarget<*>): ClassPath = - if (topLevelScript && target.providesAccessors) - target.accessorsClassPath(compilationClassPath).bin - else - ClassPath.EMPTY + target.takeIf { topLevelScript }?.accessorsClassPath(compilationClassPath)?.bin + ?: ClassPath.EMPTY private fun scriptClassLoaderScopeWith(accessorsClassPath: ClassPath) = diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt index 9d7131230..dead6cfe7 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt @@ -59,11 +59,9 @@ sealed class KotlinScriptPluginTarget( val logDir: File, val supportsBuildscriptBlock: Boolean = false, val supportsPluginsBlock: Boolean = false, - val pluginManager: PluginManagerInternal? = null, - val providesAccessors: Boolean = false) { + val pluginManager: PluginManagerInternal? = null) { - open fun accessorsClassPath(classPath: ClassPath) = - AccessorsClassPath(ClassPath.EMPTY, ClassPath.EMPTY) + open fun accessorsClassPath(classPath: ClassPath): AccessorsClassPath? = null open fun configure() = Unit } @@ -79,8 +77,7 @@ data class KotlinScriptPluginProjectTarget(override val `object`: Project) : Kot logDir = `object`.buildDir, supportsBuildscriptBlock = true, supportsPluginsBlock = true, - pluginManager = (`object` as ProjectInternal).pluginManager, - providesAccessors = true) { + pluginManager = (`object` as ProjectInternal).pluginManager) { override fun accessorsClassPath(classPath: ClassPath) = accessorsClassPathFor(`object`, classPath) From 705c54265cc8a463afe40e41e0825e230ef4f672 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Mon, 16 Oct 2017 21:48:59 -0200 Subject: [PATCH 021/115] Polish `KotlinScriptPluginTarget` - DRY Gradle property definitions --- .../dsl/provider/KotlinScriptPluginTarget.kt | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt index dead6cfe7..e91cb6ac2 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt @@ -20,6 +20,7 @@ import org.gradle.api.initialization.Settings import org.gradle.api.internal.plugins.PluginManagerInternal import org.gradle.api.internal.project.ProjectInternal +import org.gradle.api.invocation.Gradle import org.gradle.internal.classpath.ClassPath import org.gradle.kotlin.dsl.KotlinBuildScript @@ -54,8 +55,7 @@ sealed class KotlinScriptPluginTarget( val targetType: KClass, val scriptTemplate: KClass<*>, val rootDir: File, - val gradleUserHomeDir: File, - val gradleHomeDir: File?, + val gradle: Gradle, val logDir: File, val supportsBuildscriptBlock: Boolean = false, val supportsPluginsBlock: Boolean = false, @@ -64,16 +64,20 @@ sealed class KotlinScriptPluginTarget( open fun accessorsClassPath(classPath: ClassPath): AccessorsClassPath? = null open fun configure() = Unit + + val gradleUserHomeDir get() = gradle.gradleUserHomeDir + + val gradleHomeDir get() = gradle.gradleHomeDir } + internal data class KotlinScriptPluginProjectTarget(override val `object`: Project) : KotlinScriptPluginTarget( `object`, targetType = Project::class, scriptTemplate = KotlinBuildScript::class, rootDir = `object`.rootDir, - gradleUserHomeDir = `object`.gradle.gradleUserHomeDir, - gradleHomeDir = `object`.gradle.gradleHomeDir, + gradle = `object`.gradle, logDir = `object`.buildDir, supportsBuildscriptBlock = true, supportsPluginsBlock = true, @@ -97,6 +101,5 @@ data class KotlinScriptPluginSettingsTarget(override val `object`: Settings) : K targetType = Settings::class, scriptTemplate = KotlinSettingsScript::class, rootDir = `object`.rootDir, - gradleUserHomeDir = `object`.gradle.gradleUserHomeDir, - gradleHomeDir = `object`.gradle.gradleHomeDir, + gradle = `object`.gradle, logDir = File(`object`.rootDir, "build")) From 6e6154cbcc241a7b62aa60c4832aa42777a29094 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Mon, 16 Oct 2017 22:04:57 -0200 Subject: [PATCH 022/115] Remove ClassLoader hierarchy logging It hasn't been necessary for a while now and we can always recover this code if it becomes useful again. --- .../dsl/provider/KotlinBuildScriptCompiler.kt | 61 ------------------- .../dsl/provider/KotlinScriptPluginTarget.kt | 13 +--- 2 files changed, 1 insertion(+), 73 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt index 292d6c4fe..072c8eb3d 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt @@ -28,7 +28,6 @@ import org.gradle.internal.classpath.DefaultClassPath import org.gradle.kotlin.dsl.get import org.gradle.kotlin.dsl.support.EmbeddedKotlinProvider import org.gradle.kotlin.dsl.support.compilerMessageFor -import org.gradle.kotlin.dsl.support.userHome import org.gradle.plugin.management.internal.PluginRequests import org.gradle.plugin.use.PluginDependenciesSpec @@ -40,8 +39,6 @@ import java.io.File import java.lang.reflect.InvocationTargetException -import java.util.* - import kotlin.reflect.KClass @@ -275,9 +272,6 @@ class KotlinBuildScriptCompiler( try { instantiate(scriptClass, target.targetType, target.`object`) } catch (e: InvocationTargetException) { - if (e.cause is Error) { - tryToLogClassLoaderHierarchyOf(scriptClass, target) - } throw e.targetException } } @@ -301,61 +295,6 @@ class KotlinBuildScriptCompiler( private fun unexpectedBlockMessage(block: UnexpectedBlock) = "Unexpected `${block.identifier}` block found. Only one `${block.identifier}` block is allowed per script." - - private - fun tryToLogClassLoaderHierarchyOf(scriptClass: Class<*>, target: KotlinScriptPluginTarget<*>) { - try { - logClassLoaderHierarchyOf(scriptClass, target) - } catch (e: Exception) { - e.printStackTrace() - } - } - - private - fun logClassLoaderHierarchyOf(scriptClass: Class<*>, target: KotlinScriptPluginTarget<*>) { - classLoaderHierarchyFileFor(target).writeText( - classLoaderHierarchyJsonFor(scriptClass, targetScope, pathFormatterFor(target))) - } - - private - fun classLoaderHierarchyFileFor(target: KotlinScriptPluginTarget<*>) = - File(target.logDir, "ClassLoaderHierarchy.json").apply { - parentFile.mkdirs() - } - - private - fun pathFormatterFor(target: KotlinScriptPluginTarget<*>): PathStringFormatter { - val baseDirs = baseDirsOf(target) - return { pathString -> - var result = pathString - baseDirs.forEach { baseDir -> - result = result.replace(baseDir.second, baseDir.first) - } - result - } - } - - private - fun baseDirsOf(target: KotlinScriptPluginTarget<*>) = - arrayListOf>().apply { - withBaseDir("PROJECT_ROOT", target.rootDir) - withBaseDir("GRADLE_USER", target.gradleUserHomeDir) - withOptionalBaseDir("GRADLE", target.gradleHomeDir) - withBaseDir("HOME", userHome()) - } - - private - fun ArrayList>.withOptionalBaseDir(key: String, dir: File?) { - dir?.let { withBaseDir(key, it) } - } - - private - fun ArrayList>.withBaseDir(key: String, dir: File) { - val label = '$' + key - add(label + '/' to dir.toURI().toURL().toString()) - add(label to dir.canonicalPath) - } - } diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt index e91cb6ac2..cd67ac822 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt @@ -20,7 +20,6 @@ import org.gradle.api.initialization.Settings import org.gradle.api.internal.plugins.PluginManagerInternal import org.gradle.api.internal.project.ProjectInternal -import org.gradle.api.invocation.Gradle import org.gradle.internal.classpath.ClassPath import org.gradle.kotlin.dsl.KotlinBuildScript @@ -55,8 +54,6 @@ sealed class KotlinScriptPluginTarget( val targetType: KClass, val scriptTemplate: KClass<*>, val rootDir: File, - val gradle: Gradle, - val logDir: File, val supportsBuildscriptBlock: Boolean = false, val supportsPluginsBlock: Boolean = false, val pluginManager: PluginManagerInternal? = null) { @@ -64,10 +61,6 @@ sealed class KotlinScriptPluginTarget( open fun accessorsClassPath(classPath: ClassPath): AccessorsClassPath? = null open fun configure() = Unit - - val gradleUserHomeDir get() = gradle.gradleUserHomeDir - - val gradleHomeDir get() = gradle.gradleHomeDir } @@ -77,8 +70,6 @@ data class KotlinScriptPluginProjectTarget(override val `object`: Project) : Kot targetType = Project::class, scriptTemplate = KotlinBuildScript::class, rootDir = `object`.rootDir, - gradle = `object`.gradle, - logDir = `object`.buildDir, supportsBuildscriptBlock = true, supportsPluginsBlock = true, pluginManager = (`object` as ProjectInternal).pluginManager) { @@ -100,6 +91,4 @@ data class KotlinScriptPluginSettingsTarget(override val `object`: Settings) : K `object`, targetType = Settings::class, scriptTemplate = KotlinSettingsScript::class, - rootDir = `object`.rootDir, - gradle = `object`.gradle, - logDir = File(`object`.rootDir, "build")) + rootDir = `object`.rootDir) From a2877292b4486ff7d2ad473cf6a10922090e5696 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Mon, 16 Oct 2017 22:27:00 -0200 Subject: [PATCH 023/115] Replace class hierarchy by data class values Also: - Rename `targetType` to `type` as _target_ is already in the type name --- .../dsl/provider/KotlinBuildScriptCompiler.kt | 4 +- .../dsl/provider/KotlinScriptPluginTarget.kt | 77 +++++++++---------- 2 files changed, 40 insertions(+), 41 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt index 072c8eb3d..16eb66828 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt @@ -119,7 +119,7 @@ class KotlinBuildScriptCompiler( private fun accessorsClassPathFor(target: KotlinScriptPluginTarget<*>): ClassPath = - target.takeIf { topLevelScript }?.accessorsClassPath(compilationClassPath)?.bin + target.takeIf { topLevelScript }?.accessorsClassPathFor(compilationClassPath)?.bin ?: ClassPath.EMPTY private @@ -270,7 +270,7 @@ class KotlinBuildScriptCompiler( private fun executeScriptOf(scriptClass: Class<*>, target: KotlinScriptPluginTarget<*>) { try { - instantiate(scriptClass, target.targetType, target.`object`) + instantiate(scriptClass, target.type, target.`object`) } catch (e: InvocationTargetException) { throw e.targetException } diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt index cd67ac822..f4d8efad7 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt @@ -37,8 +37,8 @@ import kotlin.reflect.KClass internal fun kotlinScriptPluginTargetFor(target: Any): KotlinScriptPluginTarget<*> = when (target) { - is Project -> KotlinScriptPluginProjectTarget(target) - is Settings -> KotlinScriptPluginSettingsTarget(target) + is Project -> projectScriptTarget(target) + is Settings -> settingsScriptTarget(target) else -> unsupportedTarget(target) } @@ -48,47 +48,46 @@ fun unsupportedTarget(target: Any): Nothing = throw IllegalArgumentException("Unsupported target ${target::class.qualifiedName}: $target") +private +fun settingsScriptTarget(settings: Settings) = + KotlinScriptPluginTarget( + settings, + type = Settings::class, + scriptTemplate = KotlinSettingsScript::class, + rootDir = settings.rootDir) + + +private +fun projectScriptTarget(project: Project) = + KotlinScriptPluginTarget( + project, + type = Project::class, + scriptTemplate = KotlinBuildScript::class, + rootDir = project.rootDir, + supportsBuildscriptBlock = true, + supportsPluginsBlock = true, + pluginManager = (project as ProjectInternal).pluginManager, + accessorsClassPath = { accessorsClassPathFor(project, it) }, + configure = { + project.run { + afterEvaluate { + plugins.apply(KotlinScriptBasePlugin::class.java) + } + } + }) + + internal -sealed class KotlinScriptPluginTarget( - open val `object`: T, - val targetType: KClass, +data class KotlinScriptPluginTarget( + val `object`: T, + val type: KClass, val scriptTemplate: KClass<*>, val rootDir: File, val supportsBuildscriptBlock: Boolean = false, val supportsPluginsBlock: Boolean = false, - val pluginManager: PluginManagerInternal? = null) { - - open fun accessorsClassPath(classPath: ClassPath): AccessorsClassPath? = null - - open fun configure() = Unit -} + val pluginManager: PluginManagerInternal? = null, + val accessorsClassPath: (ClassPath) -> AccessorsClassPath? = { null }, + val configure: () -> Unit = {}) { - -internal -data class KotlinScriptPluginProjectTarget(override val `object`: Project) : KotlinScriptPluginTarget( - `object`, - targetType = Project::class, - scriptTemplate = KotlinBuildScript::class, - rootDir = `object`.rootDir, - supportsBuildscriptBlock = true, - supportsPluginsBlock = true, - pluginManager = (`object` as ProjectInternal).pluginManager) { - - override fun accessorsClassPath(classPath: ClassPath) = - accessorsClassPathFor(`object`, classPath) - - override fun configure() { - `object`.run { - afterEvaluate { - plugins.apply(KotlinScriptBasePlugin::class.java) - } - } - } + fun accessorsClassPathFor(classPath: ClassPath) = accessorsClassPath.invoke(classPath) } - -internal -data class KotlinScriptPluginSettingsTarget(override val `object`: Settings) : KotlinScriptPluginTarget( - `object`, - targetType = Settings::class, - scriptTemplate = KotlinSettingsScript::class, - rootDir = `object`.rootDir) From a1d3335aea0f825b521dc450d64a313cf0cc2b1a Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Mon, 16 Oct 2017 22:54:39 -0200 Subject: [PATCH 024/115] Rename { `KotlinScriptPluginTarget` => `KotlinScriptTarget` } --- .../dsl/provider/KotlinBuildScriptCompiler.kt | 50 ++++++++++--------- ...tPluginTarget.kt => KotlinScriptTarget.kt} | 12 ++--- 2 files changed, 33 insertions(+), 29 deletions(-) rename provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/{KotlinScriptPluginTarget.kt => KotlinScriptTarget.kt} (91%) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt index 16eb66828..a52b55b97 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt @@ -42,6 +42,10 @@ import java.lang.reflect.InvocationTargetException import kotlin.reflect.KClass +internal +typealias KotlinScript = (Any) -> Unit + + internal class KotlinBuildScriptCompiler( val kotlinCompiler: CachingKotlinCompiler, @@ -66,22 +70,22 @@ class KotlinBuildScriptCompiler( buildscriptBlockCompilationClassPath + scriptHandler.scriptClassPath } - fun compile(): (Any) -> Unit = + fun compile() = when { topLevelScript -> compileTopLevelScript() else -> compileScriptPlugin() } - fun compileForClassPath(): (Any) -> Unit = - asKotlinScriptPluginTarget { target -> + fun compileForClassPath() = + asKotlinScript { target -> ignoringErrors { executeBuildscriptBlockOn(target) } ignoringErrors { prepareTargetClassLoaderScopeOf(target) } ignoringErrors { executeScriptBodyOn(target) } } private - fun compileTopLevelScript(): (Any) -> Unit = - asKotlinScriptPluginTarget { target -> + fun compileTopLevelScript() = + asKotlinScript { target -> withUnexpectedBlockHandling { executeBuildscriptBlockOn(target) prepareAndExecuteScriptBodyOn(target) @@ -89,28 +93,28 @@ class KotlinBuildScriptCompiler( } private - fun compileScriptPlugin(): (Any) -> Unit = - asKotlinScriptPluginTarget { target -> + fun compileScriptPlugin() = + asKotlinScript { target -> withUnexpectedBlockHandling { prepareAndExecuteScriptBodyOn(target) } } private - fun asKotlinScriptPluginTarget(configuration: (KotlinScriptPluginTarget<*>) -> Unit): (Any) -> Unit = { anyTarget -> - val target = kotlinScriptPluginTargetFor(anyTarget) - target.configure() - configuration(target) + fun asKotlinScript(script: (KotlinScriptTarget<*>) -> Unit): KotlinScript = { target -> + val scriptTarget = kotlinScriptTargetFor(target) + scriptTarget.prepare() + script(scriptTarget) } private - fun prepareAndExecuteScriptBodyOn(target: KotlinScriptPluginTarget<*>) { + fun prepareAndExecuteScriptBodyOn(target: KotlinScriptTarget<*>) { prepareTargetClassLoaderScopeOf(target) executeScriptBodyOn(target) } private - fun executeScriptBodyOn(target: KotlinScriptPluginTarget<*>) { + fun executeScriptBodyOn(target: KotlinScriptTarget<*>) { val accessorsClassPath = accessorsClassPathFor(target) val compiledScript = compileScriptFileFor(target, compilationClassPath + accessorsClassPath) val scriptScope = scriptClassLoaderScopeWith(accessorsClassPath) @@ -118,7 +122,7 @@ class KotlinBuildScriptCompiler( } private - fun accessorsClassPathFor(target: KotlinScriptPluginTarget<*>): ClassPath = + fun accessorsClassPathFor(target: KotlinScriptTarget<*>): ClassPath = target.takeIf { topLevelScript }?.accessorsClassPathFor(compilationClassPath)?.bin ?: ClassPath.EMPTY @@ -127,7 +131,7 @@ class KotlinBuildScriptCompiler( targetScope.createChild("script").apply { local(accessorsClassPath) } private - fun executeBuildscriptBlockOn(target: KotlinScriptPluginTarget<*>) { + fun executeBuildscriptBlockOn(target: KotlinScriptTarget<*>) { setupEmbeddedKotlinForBuildscript() if (target.supportsBuildscriptBlock) { extractBuildscriptBlockFrom(script)?.let { buildscriptRange -> @@ -137,7 +141,7 @@ class KotlinBuildScriptCompiler( } private - fun executeBuildscriptBlockOn(target: KotlinScriptPluginTarget<*>, buildscriptRange: IntRange) { + fun executeBuildscriptBlockOn(target: KotlinScriptTarget<*>, buildscriptRange: IntRange) { val compiledScript = compileBuildscriptBlock(buildscriptRange) executeCompiledScript(compiledScript, buildscriptBlockClassLoaderScope(), target) } @@ -160,14 +164,14 @@ class KotlinBuildScriptCompiler( fun executeCompiledScript( compiledScript: CachingKotlinCompiler.CompiledScript, scope: ClassLoaderScope, - target: KotlinScriptPluginTarget<*>) { + target: KotlinScriptTarget<*>) { val scriptClass = classFrom(compiledScript, scope) executeScriptWithContextClassLoader(scriptClass, target) } private - fun prepareTargetClassLoaderScopeOf(target: KotlinScriptPluginTarget<*>) { + fun prepareTargetClassLoaderScopeOf(target: KotlinScriptTarget<*>) { targetScope.export(classPathProvider.gradleApiExtensions) if (target.supportsPluginsBlock) { executePluginsBlockOn(target) @@ -175,7 +179,7 @@ class KotlinBuildScriptCompiler( } private - fun executePluginsBlockOn(target: KotlinScriptPluginTarget<*>) { + fun executePluginsBlockOn(target: KotlinScriptTarget<*>) { val pluginRequests = collectPluginRequestsFromPluginsBlock() applyPluginsTo(target, pluginRequests) } @@ -217,7 +221,7 @@ class KotlinBuildScriptCompiler( extractTopLevelSectionFrom(script, "plugins") private - fun applyPluginsTo(target: KotlinScriptPluginTarget<*>, pluginRequests: PluginRequests) { + fun applyPluginsTo(target: KotlinScriptTarget<*>, pluginRequests: PluginRequests) { pluginRequestsHandler.handle( pluginRequests, scriptHandler, target.`object` as PluginAwareInternal, targetScope) } @@ -239,7 +243,7 @@ class KotlinBuildScriptCompiler( baseScope.exportClassLoader) private - fun compileScriptFileFor(target: KotlinScriptPluginTarget<*>, classPath: ClassPath) = + fun compileScriptFileFor(target: KotlinScriptTarget<*>, classPath: ClassPath) = kotlinCompiler.compileGradleScript( target.scriptTemplate, scriptPath, @@ -261,14 +265,14 @@ class KotlinBuildScriptCompiler( } private - fun executeScriptWithContextClassLoader(scriptClass: Class<*>, target: KotlinScriptPluginTarget<*>) { + fun executeScriptWithContextClassLoader(scriptClass: Class<*>, target: KotlinScriptTarget<*>) { withContextClassLoader(scriptClass.classLoader) { executeScriptOf(scriptClass, target) } } private - fun executeScriptOf(scriptClass: Class<*>, target: KotlinScriptPluginTarget<*>) { + fun executeScriptOf(scriptClass: Class<*>, target: KotlinScriptTarget<*>) { try { instantiate(scriptClass, target.type, target.`object`) } catch (e: InvocationTargetException) { diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt similarity index 91% rename from provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt rename to provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt index f4d8efad7..44bd886c6 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginTarget.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt @@ -35,7 +35,7 @@ import kotlin.reflect.KClass internal -fun kotlinScriptPluginTargetFor(target: Any): KotlinScriptPluginTarget<*> = +fun kotlinScriptTargetFor(target: Any): KotlinScriptTarget<*> = when (target) { is Project -> projectScriptTarget(target) is Settings -> settingsScriptTarget(target) @@ -50,7 +50,7 @@ fun unsupportedTarget(target: Any): Nothing = private fun settingsScriptTarget(settings: Settings) = - KotlinScriptPluginTarget( + KotlinScriptTarget( settings, type = Settings::class, scriptTemplate = KotlinSettingsScript::class, @@ -59,7 +59,7 @@ fun settingsScriptTarget(settings: Settings) = private fun projectScriptTarget(project: Project) = - KotlinScriptPluginTarget( + KotlinScriptTarget( project, type = Project::class, scriptTemplate = KotlinBuildScript::class, @@ -68,7 +68,7 @@ fun projectScriptTarget(project: Project) = supportsPluginsBlock = true, pluginManager = (project as ProjectInternal).pluginManager, accessorsClassPath = { accessorsClassPathFor(project, it) }, - configure = { + prepare = { project.run { afterEvaluate { plugins.apply(KotlinScriptBasePlugin::class.java) @@ -78,7 +78,7 @@ fun projectScriptTarget(project: Project) = internal -data class KotlinScriptPluginTarget( +data class KotlinScriptTarget( val `object`: T, val type: KClass, val scriptTemplate: KClass<*>, @@ -87,7 +87,7 @@ data class KotlinScriptPluginTarget( val supportsPluginsBlock: Boolean = false, val pluginManager: PluginManagerInternal? = null, val accessorsClassPath: (ClassPath) -> AccessorsClassPath? = { null }, - val configure: () -> Unit = {}) { + val prepare: () -> Unit = {}) { fun accessorsClassPathFor(classPath: ClassPath) = accessorsClassPath.invoke(classPath) } From 3e15253b8f7ff38fe3f663be0ef3c65e76b4f5a6 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Mon, 16 Oct 2017 23:16:21 -0200 Subject: [PATCH 025/115] Remove unused property --- .../org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt index 44bd886c6..710f9f58a 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt @@ -18,8 +18,6 @@ package org.gradle.kotlin.dsl.provider import org.gradle.api.Project import org.gradle.api.initialization.Settings -import org.gradle.api.internal.plugins.PluginManagerInternal -import org.gradle.api.internal.project.ProjectInternal import org.gradle.internal.classpath.ClassPath import org.gradle.kotlin.dsl.KotlinBuildScript @@ -66,7 +64,6 @@ fun projectScriptTarget(project: Project) = rootDir = project.rootDir, supportsBuildscriptBlock = true, supportsPluginsBlock = true, - pluginManager = (project as ProjectInternal).pluginManager, accessorsClassPath = { accessorsClassPathFor(project, it) }, prepare = { project.run { @@ -85,7 +82,6 @@ data class KotlinScriptTarget( val rootDir: File, val supportsBuildscriptBlock: Boolean = false, val supportsPluginsBlock: Boolean = false, - val pluginManager: PluginManagerInternal? = null, val accessorsClassPath: (ClassPath) -> AccessorsClassPath? = { null }, val prepare: () -> Unit = {}) { From 5ff6cbbcdf5ae2cb20b969314f0d12c19b510669 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Mon, 16 Oct 2017 23:16:57 -0200 Subject: [PATCH 026/115] Simplify expression --- .../kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt index 710f9f58a..3d6e1a22d 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt @@ -85,5 +85,5 @@ data class KotlinScriptTarget( val accessorsClassPath: (ClassPath) -> AccessorsClassPath? = { null }, val prepare: () -> Unit = {}) { - fun accessorsClassPathFor(classPath: ClassPath) = accessorsClassPath.invoke(classPath) + fun accessorsClassPathFor(classPath: ClassPath) = accessorsClassPath(classPath) } From 4b1e0f0fe2a05f541f292ba786c156b1f9265367 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 12 Oct 2017 10:09:04 +0200 Subject: [PATCH 027/115] JavaScript sample apply kotlin2js plugin using the plugins {} block --- samples/hello-js/build.gradle.kts | 15 +++------------ samples/hello-js/settings.gradle | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/samples/hello-js/build.gradle.kts b/samples/hello-js/build.gradle.kts index bc7d81969..92270907f 100644 --- a/samples/hello-js/build.gradle.kts +++ b/samples/hello-js/build.gradle.kts @@ -1,20 +1,11 @@ import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile -buildscript { - dependencies { - classpath(kotlin("gradle-plugin", "1.1.51")) - } - repositories { - jcenter() - } -} - -apply { - plugin("kotlin2js") +plugins { + id("kotlin2js") version "1.1.51" } dependencies { - "compile"(kotlin("stdlib-js")) + compile(kotlin("stdlib-js")) } repositories { diff --git a/samples/hello-js/settings.gradle b/samples/hello-js/settings.gradle index e69de29bb..54e9b5750 100644 --- a/samples/hello-js/settings.gradle +++ b/samples/hello-js/settings.gradle @@ -0,0 +1,15 @@ +pluginManagement { + repositories { + // Use the Gradle Plugin Portal as a regular maven repository + // allowing the plugin resolution strategy below to route the + // plugin request to artifact coordinates. + maven { url "https://plugins.gradle.org/m2" } + } + resolutionStrategy { + eachPlugin { + if (requested.id.id == "kotlin2js") { + useModule("org.jetbrains.kotlin:kotlin-gradle-plugin:${requested.version}") + } + } + } +} From 79fb412d2eb49f35ec7990872c5710fe66eb4b47 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Tue, 17 Oct 2017 14:34:28 +0200 Subject: [PATCH 028/115] Account for PropertyState deprecation in favor of Property And project.property() in favor of project.objects.property() Take the opportunity and rename to messageProperty --- .../gradle/kotlin/dsl/ProjectExtensions.kt | 14 ++++++++++++++ .../kotlin/dsl/PropertyStateExtensions.kt | 19 +++++++++++++++++++ samples/provider-properties/build.gradle.kts | 12 ++++++------ 3 files changed, 39 insertions(+), 6 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/ProjectExtensions.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/ProjectExtensions.kt index 1464c5e09..d6fd6dff4 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/ProjectExtensions.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/ProjectExtensions.kt @@ -21,6 +21,7 @@ import org.gradle.api.Incubating import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.api.Task +import org.gradle.api.model.ObjectFactory import org.gradle.api.artifacts.Dependency import org.gradle.api.artifacts.dsl.RepositoryHandler @@ -37,6 +38,7 @@ import org.gradle.api.plugins.Convention import org.gradle.api.plugins.ObjectConfigurationAction import org.gradle.api.plugins.PluginManager +import org.gradle.api.provider.Property import org.gradle.api.provider.PropertyState import org.gradle.api.tasks.TaskContainer @@ -184,12 +186,24 @@ operator fun Project.getValue(any: Any, property: KProperty<*>): Any? = findProperty(property.name) +/** + * Creates a [Property] that holds values of the given type [T]. + * + * @see [ObjectFactory.property] + */ +@Incubating +inline +fun ObjectFactory.property(): Property = + property(T::class.java) + + /** * Creates a [PropertyState] that holds values of the given type [T]. * * @see [Project.property] */ @Incubating +@Deprecated("Will be removed in 1.0", replaceWith = ReplaceWith("objects.property()")) inline fun Project.property(): PropertyState = property(T::class.java) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/PropertyStateExtensions.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/PropertyStateExtensions.kt index 0073a0628..2592976f2 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/PropertyStateExtensions.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/PropertyStateExtensions.kt @@ -16,16 +16,34 @@ package org.gradle.kotlin.dsl +import org.gradle.api.provider.Property import org.gradle.api.provider.PropertyState import kotlin.reflect.KProperty +/** + * Property delegate for [Property] instances. + * + * Example: `val someProperty by somePropertyState` + */ +operator fun Property.getValue(receiver: Any?, property: KProperty<*>): T = get() + + +/** + * Property delegate for [Property] instances. + * + * Example: `var someProperty by somePropertyState` + */ +operator fun Property.setValue(receiver: Any?, property: KProperty<*>, value: T) = set(value) + + /** * Property delegate for [PropertyState] instances. * * Example: `val someProperty by somePropertyState` */ +@Deprecated("Will be removed in 1.0") operator fun PropertyState.getValue(receiver: Any?, property: KProperty<*>): T = get() @@ -34,4 +52,5 @@ operator fun PropertyState.getValue(receiver: Any?, property: KProperty<* * * Example: `var someProperty by somePropertyState` */ +@Deprecated("Will be removed in 1.0") operator fun PropertyState.setValue(receiver: Any?, property: KProperty<*>, value: T) = set(value) diff --git a/samples/provider-properties/build.gradle.kts b/samples/provider-properties/build.gradle.kts index 832454fd7..44f148232 100644 --- a/samples/provider-properties/build.gradle.kts +++ b/samples/provider-properties/build.gradle.kts @@ -29,11 +29,11 @@ open class GreetingPlugin : Plugin { open class GreetingPluginExtension(project: Project) { private - val messageState = project.property() + val messageProperty = project.objects.property() - var message by messageState + var message by messageProperty - val messageProvider: Provider get() = messageState + val messageProvider: Provider get() = messageProperty var outputFiles by project.files() } @@ -41,15 +41,15 @@ open class GreetingPluginExtension(project: Project) { open class Greeting : DefaultTask() { private - val messageState = project.property() + val messageProperty = project.objects.property() @get:Input - var message by messageState + var message by messageProperty @get:OutputFiles var outputFiles by project.files() - fun provideMessage(message: Provider) = messageState.set(message) + fun provideMessage(message: Provider) = messageProperty.set(message) @TaskAction fun printMessage() { From 088c08cda4cabfc5112fde9144388797506783d7 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Tue, 17 Oct 2017 15:23:16 +0200 Subject: [PATCH 029/115] Update wrappers to latest snapshot distro --- gradle/wrapper/gradle-wrapper.properties | 2 +- samples/ant/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-scan/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/code-quality/gradle/wrapper/gradle-wrapper.properties | 2 +- .../composite-builds/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/copy/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/domain-objects/gradle/wrapper/gradle-wrapper.properties | 2 +- .../extra-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-android/gradle/wrapper/gradle-wrapper.properties | 2 +- .../hello-coroutines/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-js/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-world/gradle/wrapper/gradle-wrapper.properties | 2 +- .../consumer/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-publish/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/model-rules/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/modularity/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../project-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../task-dependencies/gradle/wrapper/gradle-wrapper.properties | 2 +- 34 files changed, 34 insertions(+), 34 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/ant/gradle/wrapper/gradle-wrapper.properties b/samples/ant/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/ant/gradle/wrapper/gradle-wrapper.properties +++ b/samples/ant/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties +++ b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties +++ b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/copy/gradle/wrapper/gradle-wrapper.properties b/samples/copy/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/copy/gradle/wrapper/gradle-wrapper.properties +++ b/samples/copy/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties +++ b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties +++ b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties +++ b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/modularity/gradle/wrapper/gradle-wrapper.properties b/samples/modularity/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/modularity/gradle/wrapper/gradle-wrapper.properties +++ b/samples/modularity/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip diff --git a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties index 7ec92e32a..a0c12310f 100644 --- a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties +++ b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171012065054+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip From 8c1d1605305db6d3374be9464c183e4c8f20080b Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Tue, 17 Oct 2017 15:45:05 +0200 Subject: [PATCH 030/115] Fix PluginDependenciesSpecScopeTest was using some internal now package protected method --- .../org/gradle/kotlin/dsl/PluginDependenciesSpecScopeTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecScopeTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecScopeTest.kt index 7cc5ea939..d31aa788f 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecScopeTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecScopeTest.kt @@ -84,7 +84,7 @@ fun expecting(vararg expected: Plugin, block: PluginDependenciesSpec.() -> Unit) fun plugins(block: PluginDependenciesSpecScope.() -> Unit): List = PluginRequestCollector(StringScriptSource("script", "")).run { PluginDependenciesSpecScope(createSpec(1)).block() - listPluginRequests() + pluginRequests.toList() } fun plugin(id: String, version: String? = null, isApply: Boolean = true) = Plugin(id, version, isApply) From 05c1ae90e82007ab06a1725a45d17e02d1c7dc86 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Tue, 17 Oct 2017 15:48:59 +0200 Subject: [PATCH 031/115] Leverage Settings.include() vararg taking method #543 --- .../dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt | 4 ++-- .../kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt | 2 +- .../dsl/integration/KotlinBuildScriptModelIntegrationTest.kt | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt index cab348e72..17a1206ba 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt @@ -127,7 +127,7 @@ class ProjectSchemaAccessorsIntegrationTest : AbstractIntegrationTest() { fun `can access configurations registered by declared plugins via jit accessor`() { withSettings(""" - include(arrayOf("a", "b", "c")) + include("a", "b", "c") """) withBuildScriptIn("a", """ @@ -235,7 +235,7 @@ class ProjectSchemaAccessorsIntegrationTest : AbstractIntegrationTest() { @Test fun `accessors tasks applied in a mixed Groovy-Kotlin multi-project build`() { - withSettings("include(arrayOf(\"a\"))") + withSettings("include(\"a\")") withBuildScriptIn("a", "") val aTasks = build(":a:tasks").output diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt index fa8a94f7c..8eb73bb50 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt @@ -330,7 +330,7 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { } """) - withSettings("include(arrayOf(\"sub-project\"))") + withSettings("include(\"sub-project\")") withBuildScriptIn("sub-project", """ task("compute") { diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt index 8e1351f50..c4619248a 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt @@ -87,7 +87,7 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { @Test fun `can fetch buildscript classpath for sub-project script`() { - withSettings("include(arrayOf(\"foo\", \"bar\"))") + withSettings("include(\"foo\", \"bar\")") fun withFixture(fixture: String) = withClassJar("libs/$fixture.jar", DeepThought::class.java) @@ -238,7 +238,7 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { matches: Matcher>) { val subProjectName = "sub" - withSettings("include(arrayOf(\"$subProjectName\"))") + withSettings("include(\"$subProjectName\")") withBuildScript(rootProjectScript) val subProjectScriptFile = withBuildScriptIn(subProjectName, subProjectScript) From edc3e4219c0e0d48fbca7014bd7465fa1f139754 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Wed, 18 Oct 2017 09:19:41 -0200 Subject: [PATCH 032/115] Upgrade `build-scan` plugin version {1.9.1 => 1.10} --- .../org/gradle/kotlin/dsl/PluginDependenciesSpecExtensions.kt | 4 ++-- .../org/gradle/kotlin/dsl/PluginDependenciesSpecScopeTest.kt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecExtensions.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecExtensions.kt index 5003d8fdf..a4b1978d4 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecExtensions.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecExtensions.kt @@ -24,9 +24,9 @@ import org.gradle.plugin.use.PluginDependencySpec * * Visit the [Build Scan Plugin User Manual](https://docs.gradle.com/build-scan-plugin/) for additional information. * - * Equivalent to `id("com.gradle.build-scan") version "1.9.1"`. + * Equivalent to `id("com.gradle.build-scan") version "1.10"`. * * You can also use e.g. `` `build-scan` version "1.8" `` if you want to use a different version. */ val PluginDependenciesSpec.`build-scan`: PluginDependencySpec - get() = id("com.gradle.build-scan") version "1.9.1" + get() = id("com.gradle.build-scan") version "1.10" diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecScopeTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecScopeTest.kt index d31aa788f..1f3ddec8d 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecScopeTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecScopeTest.kt @@ -46,7 +46,7 @@ class PluginDependenciesSpecScopeTest { @Test fun `given build-scan plugin accessor, it should create a single request with default version`() { - expecting(plugin(id = "com.gradle.build-scan", version = "1.9.1")) { + expecting(plugin(id = "com.gradle.build-scan", version = "1.10")) { `build-scan` } } From c60a42a94f6022701a8cf95ace8b98ede9510a49 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Wed, 18 Oct 2017 10:46:35 -0200 Subject: [PATCH 033/115] Update wrappers to latest snapshot distro --- gradle/wrapper/gradle-wrapper.properties | 2 +- samples/ant/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-scan/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/code-quality/gradle/wrapper/gradle-wrapper.properties | 2 +- .../composite-builds/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/copy/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/domain-objects/gradle/wrapper/gradle-wrapper.properties | 2 +- .../extra-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-android/gradle/wrapper/gradle-wrapper.properties | 2 +- .../hello-coroutines/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-js/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-world/gradle/wrapper/gradle-wrapper.properties | 2 +- .../consumer/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-publish/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/model-rules/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/modularity/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../project-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../task-dependencies/gradle/wrapper/gradle-wrapper.properties | 2 +- 34 files changed, 34 insertions(+), 34 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/ant/gradle/wrapper/gradle-wrapper.properties b/samples/ant/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/ant/gradle/wrapper/gradle-wrapper.properties +++ b/samples/ant/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties +++ b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties +++ b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/copy/gradle/wrapper/gradle-wrapper.properties b/samples/copy/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/copy/gradle/wrapper/gradle-wrapper.properties +++ b/samples/copy/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties +++ b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties +++ b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties +++ b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/modularity/gradle/wrapper/gradle-wrapper.properties b/samples/modularity/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/modularity/gradle/wrapper/gradle-wrapper.properties +++ b/samples/modularity/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip diff --git a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties index a0c12310f..b2b18c28c 100644 --- a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties +++ b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171017131425+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip From 490ec4c70ecb84b1524b8a8f8bdb100ce3d5e363 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Wed, 18 Oct 2017 11:18:57 -0200 Subject: [PATCH 034/115] Make `build-scan` version the same as the one applied by `--scan` By reading it from `AutoAppliedBuildScanPlugin`. Resolves #490 --- .../gradle/kotlin/dsl/PluginDependenciesSpecExtensions.kt | 7 ++++--- .../gradle/kotlin/dsl/PluginDependenciesSpecScopeTest.kt | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecExtensions.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecExtensions.kt index a4b1978d4..0a5c67eee 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecExtensions.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecExtensions.kt @@ -15,6 +15,7 @@ */ package org.gradle.kotlin.dsl +import org.gradle.plugin.management.internal.autoapply.AutoAppliedBuildScanPlugin import org.gradle.plugin.use.PluginDependenciesSpec import org.gradle.plugin.use.PluginDependencySpec @@ -24,9 +25,9 @@ import org.gradle.plugin.use.PluginDependencySpec * * Visit the [Build Scan Plugin User Manual](https://docs.gradle.com/build-scan-plugin/) for additional information. * - * Equivalent to `id("com.gradle.build-scan") version "1.10"`. + * By default, the applied plugin version will be the same as the one used by the `--scan` command line option. * - * You can also use e.g. `` `build-scan` version "1.8" `` if you want to use a different version. + * You can also use e.g. `` `build-scan` version "1.8" `` to request a different version. */ val PluginDependenciesSpec.`build-scan`: PluginDependencySpec - get() = id("com.gradle.build-scan") version "1.10" + get() = id(AutoAppliedBuildScanPlugin.ID.id) version AutoAppliedBuildScanPlugin.VERSION diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecScopeTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecScopeTest.kt index 1f3ddec8d..4308620b2 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecScopeTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/PluginDependenciesSpecScopeTest.kt @@ -3,6 +3,7 @@ package org.gradle.kotlin.dsl import org.gradle.groovy.scripts.StringScriptSource import org.gradle.plugin.management.internal.PluginRequestInternal +import org.gradle.plugin.management.internal.autoapply.AutoAppliedBuildScanPlugin import org.gradle.plugin.use.PluginDependenciesSpec import org.gradle.plugin.use.internal.PluginRequestCollector @@ -45,8 +46,8 @@ class PluginDependenciesSpecScopeTest { } @Test - fun `given build-scan plugin accessor, it should create a single request with default version`() { - expecting(plugin(id = "com.gradle.build-scan", version = "1.10")) { + fun `given build-scan plugin accessor, it should create a single request matching the auto-applied plugin version`() { + expecting(plugin(id = "com.gradle.build-scan", version = AutoAppliedBuildScanPlugin.VERSION)) { `build-scan` } } From f6b9a053212373a9506cdb733f3f48af11ac6615 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Wed, 18 Oct 2017 16:04:10 +0200 Subject: [PATCH 035/115] Samples use settings.gradle.kts --- samples/ant/{settings.gradle => settings.gradle.kts} | 0 .../build-scan/{settings.gradle => settings.gradle.kts} | 0 .../code-quality/{settings.gradle => settings.gradle.kts} | 0 .../cli/{settings.gradle => settings.gradle.kts} | 0 .../core/{settings.gradle => settings.gradle.kts} | 0 .../{settings.gradle => settings.gradle.kts} | 0 samples/copy/{settings.gradle => settings.gradle.kts} | 0 .../{settings.gradle => settings.gradle.kts} | 0 .../{settings.gradle => settings.gradle.kts} | 0 samples/gradle-plugin/consumer/settings.gradle | 7 ------- samples/gradle-plugin/consumer/settings.gradle.kts | 5 +++++ .../plugin/{settings.gradle => settings.gradle.kts} | 0 .../gradle-plugin/{settings.gradle => settings.gradle.kts} | 0 .../{settings.gradle => settings.gradle.kts} | 0 .../hello-android/{settings.gradle => settings.gradle.kts} | 4 ++-- .../{settings.gradle => settings.gradle.kts} | 0 samples/hello-js/{settings.gradle => settings.gradle.kts} | 2 +- .../hello-kotlin/{settings.gradle => settings.gradle.kts} | 0 .../hello-world/{settings.gradle => settings.gradle.kts} | 0 .../kotlin-friendly-groovy-plugin/consumer/settings.gradle | 7 ------- .../consumer/settings.gradle.kts | 5 +++++ .../kotlin-friendly-groovy-plugin/plugin/settings.gradle | 1 - .../plugin/settings.gradle.kts | 1 + .../{settings.gradle => settings.gradle.kts} | 0 .../maven-plugin/{settings.gradle => settings.gradle.kts} | 0 .../maven-publish/{settings.gradle => settings.gradle.kts} | 0 .../model-rules/{settings.gradle => settings.gradle.kts} | 0 .../modularity/{settings.gradle => settings.gradle.kts} | 0 .../multi-kotlin-project-config-injection/settings.gradle | 2 -- .../settings.gradle.kts | 2 ++ samples/multi-kotlin-project-with-buildSrc/settings.gradle | 2 -- .../multi-kotlin-project-with-buildSrc/settings.gradle.kts | 2 ++ samples/multi-kotlin-project/settings.gradle | 2 -- samples/multi-kotlin-project/settings.gradle.kts | 2 ++ samples/multi-project-with-buildSrc/settings.gradle | 2 -- samples/multi-project-with-buildSrc/settings.gradle.kts | 2 ++ .../{settings.gradle => settings.gradle.kts} | 0 .../{settings.gradle => settings.gradle.kts} | 0 .../{settings.gradle => settings.gradle.kts} | 0 .../{settings.gradle => settings.gradle.kts} | 0 40 files changed, 22 insertions(+), 26 deletions(-) rename samples/ant/{settings.gradle => settings.gradle.kts} (100%) rename samples/build-scan/{settings.gradle => settings.gradle.kts} (100%) rename samples/code-quality/{settings.gradle => settings.gradle.kts} (100%) rename samples/composite-builds/cli/{settings.gradle => settings.gradle.kts} (100%) rename samples/composite-builds/core/{settings.gradle => settings.gradle.kts} (100%) rename samples/composite-builds/{settings.gradle => settings.gradle.kts} (100%) rename samples/copy/{settings.gradle => settings.gradle.kts} (100%) rename samples/domain-objects/{settings.gradle => settings.gradle.kts} (100%) rename samples/extra-properties/{settings.gradle => settings.gradle.kts} (100%) delete mode 100644 samples/gradle-plugin/consumer/settings.gradle create mode 100644 samples/gradle-plugin/consumer/settings.gradle.kts rename samples/gradle-plugin/plugin/{settings.gradle => settings.gradle.kts} (100%) rename samples/gradle-plugin/{settings.gradle => settings.gradle.kts} (100%) rename samples/groovy-interop/{settings.gradle => settings.gradle.kts} (100%) rename samples/hello-android/{settings.gradle => settings.gradle.kts} (74%) rename samples/hello-coroutines/{settings.gradle => settings.gradle.kts} (100%) rename samples/hello-js/{settings.gradle => settings.gradle.kts} (88%) rename samples/hello-kotlin/{settings.gradle => settings.gradle.kts} (100%) rename samples/hello-world/{settings.gradle => settings.gradle.kts} (100%) delete mode 100644 samples/kotlin-friendly-groovy-plugin/consumer/settings.gradle create mode 100644 samples/kotlin-friendly-groovy-plugin/consumer/settings.gradle.kts delete mode 100644 samples/kotlin-friendly-groovy-plugin/plugin/settings.gradle create mode 100644 samples/kotlin-friendly-groovy-plugin/plugin/settings.gradle.kts rename samples/kotlin-friendly-groovy-plugin/{settings.gradle => settings.gradle.kts} (100%) rename samples/maven-plugin/{settings.gradle => settings.gradle.kts} (100%) rename samples/maven-publish/{settings.gradle => settings.gradle.kts} (100%) rename samples/model-rules/{settings.gradle => settings.gradle.kts} (100%) rename samples/modularity/{settings.gradle => settings.gradle.kts} (100%) delete mode 100644 samples/multi-kotlin-project-config-injection/settings.gradle create mode 100644 samples/multi-kotlin-project-config-injection/settings.gradle.kts delete mode 100644 samples/multi-kotlin-project-with-buildSrc/settings.gradle create mode 100644 samples/multi-kotlin-project-with-buildSrc/settings.gradle.kts delete mode 100644 samples/multi-kotlin-project/settings.gradle create mode 100644 samples/multi-kotlin-project/settings.gradle.kts delete mode 100644 samples/multi-project-with-buildSrc/settings.gradle create mode 100644 samples/multi-project-with-buildSrc/settings.gradle.kts rename samples/project-properties/{settings.gradle => settings.gradle.kts} (100%) rename samples/project-with-buildSrc/{settings.gradle => settings.gradle.kts} (100%) rename samples/provider-properties/{settings.gradle => settings.gradle.kts} (100%) rename samples/task-dependencies/{settings.gradle => settings.gradle.kts} (100%) diff --git a/samples/ant/settings.gradle b/samples/ant/settings.gradle.kts similarity index 100% rename from samples/ant/settings.gradle rename to samples/ant/settings.gradle.kts diff --git a/samples/build-scan/settings.gradle b/samples/build-scan/settings.gradle.kts similarity index 100% rename from samples/build-scan/settings.gradle rename to samples/build-scan/settings.gradle.kts diff --git a/samples/code-quality/settings.gradle b/samples/code-quality/settings.gradle.kts similarity index 100% rename from samples/code-quality/settings.gradle rename to samples/code-quality/settings.gradle.kts diff --git a/samples/composite-builds/cli/settings.gradle b/samples/composite-builds/cli/settings.gradle.kts similarity index 100% rename from samples/composite-builds/cli/settings.gradle rename to samples/composite-builds/cli/settings.gradle.kts diff --git a/samples/composite-builds/core/settings.gradle b/samples/composite-builds/core/settings.gradle.kts similarity index 100% rename from samples/composite-builds/core/settings.gradle rename to samples/composite-builds/core/settings.gradle.kts diff --git a/samples/composite-builds/settings.gradle b/samples/composite-builds/settings.gradle.kts similarity index 100% rename from samples/composite-builds/settings.gradle rename to samples/composite-builds/settings.gradle.kts diff --git a/samples/copy/settings.gradle b/samples/copy/settings.gradle.kts similarity index 100% rename from samples/copy/settings.gradle rename to samples/copy/settings.gradle.kts diff --git a/samples/domain-objects/settings.gradle b/samples/domain-objects/settings.gradle.kts similarity index 100% rename from samples/domain-objects/settings.gradle rename to samples/domain-objects/settings.gradle.kts diff --git a/samples/extra-properties/settings.gradle b/samples/extra-properties/settings.gradle.kts similarity index 100% rename from samples/extra-properties/settings.gradle rename to samples/extra-properties/settings.gradle.kts diff --git a/samples/gradle-plugin/consumer/settings.gradle b/samples/gradle-plugin/consumer/settings.gradle deleted file mode 100644 index 30824f2bd..000000000 --- a/samples/gradle-plugin/consumer/settings.gradle +++ /dev/null @@ -1,7 +0,0 @@ -pluginManagement { - repositories { - maven { - url = "../plugin/build/repository" - } - } -} diff --git a/samples/gradle-plugin/consumer/settings.gradle.kts b/samples/gradle-plugin/consumer/settings.gradle.kts new file mode 100644 index 000000000..7933dd827 --- /dev/null +++ b/samples/gradle-plugin/consumer/settings.gradle.kts @@ -0,0 +1,5 @@ +pluginManagement { + repositories { + maven { setUrl("../plugin/build/repository") } + } +} diff --git a/samples/gradle-plugin/plugin/settings.gradle b/samples/gradle-plugin/plugin/settings.gradle.kts similarity index 100% rename from samples/gradle-plugin/plugin/settings.gradle rename to samples/gradle-plugin/plugin/settings.gradle.kts diff --git a/samples/gradle-plugin/settings.gradle b/samples/gradle-plugin/settings.gradle.kts similarity index 100% rename from samples/gradle-plugin/settings.gradle rename to samples/gradle-plugin/settings.gradle.kts diff --git a/samples/groovy-interop/settings.gradle b/samples/groovy-interop/settings.gradle.kts similarity index 100% rename from samples/groovy-interop/settings.gradle rename to samples/groovy-interop/settings.gradle.kts diff --git a/samples/hello-android/settings.gradle b/samples/hello-android/settings.gradle.kts similarity index 74% rename from samples/hello-android/settings.gradle rename to samples/hello-android/settings.gradle.kts index aef3c7d6f..bb8ff5110 100644 --- a/samples/hello-android/settings.gradle +++ b/samples/hello-android/settings.gradle.kts @@ -1,7 +1,7 @@ pluginManagement { repositories { gradlePluginPortal() - maven { url "https://jcenter.bintray.com/" } + maven { setUrl("https://jcenter.bintray.com/") } } resolutionStrategy { eachPlugin { @@ -12,4 +12,4 @@ pluginManagement { } } -rootProject.buildFileName = 'build.gradle.kts' +rootProject.buildFileName = "build.gradle.kts" diff --git a/samples/hello-coroutines/settings.gradle b/samples/hello-coroutines/settings.gradle.kts similarity index 100% rename from samples/hello-coroutines/settings.gradle rename to samples/hello-coroutines/settings.gradle.kts diff --git a/samples/hello-js/settings.gradle b/samples/hello-js/settings.gradle.kts similarity index 88% rename from samples/hello-js/settings.gradle rename to samples/hello-js/settings.gradle.kts index 54e9b5750..b22207054 100644 --- a/samples/hello-js/settings.gradle +++ b/samples/hello-js/settings.gradle.kts @@ -3,7 +3,7 @@ pluginManagement { // Use the Gradle Plugin Portal as a regular maven repository // allowing the plugin resolution strategy below to route the // plugin request to artifact coordinates. - maven { url "https://plugins.gradle.org/m2" } + maven { setUrl("https://plugins.gradle.org/m2") } } resolutionStrategy { eachPlugin { diff --git a/samples/hello-kotlin/settings.gradle b/samples/hello-kotlin/settings.gradle.kts similarity index 100% rename from samples/hello-kotlin/settings.gradle rename to samples/hello-kotlin/settings.gradle.kts diff --git a/samples/hello-world/settings.gradle b/samples/hello-world/settings.gradle.kts similarity index 100% rename from samples/hello-world/settings.gradle rename to samples/hello-world/settings.gradle.kts diff --git a/samples/kotlin-friendly-groovy-plugin/consumer/settings.gradle b/samples/kotlin-friendly-groovy-plugin/consumer/settings.gradle deleted file mode 100644 index 30824f2bd..000000000 --- a/samples/kotlin-friendly-groovy-plugin/consumer/settings.gradle +++ /dev/null @@ -1,7 +0,0 @@ -pluginManagement { - repositories { - maven { - url = "../plugin/build/repository" - } - } -} diff --git a/samples/kotlin-friendly-groovy-plugin/consumer/settings.gradle.kts b/samples/kotlin-friendly-groovy-plugin/consumer/settings.gradle.kts new file mode 100644 index 000000000..7933dd827 --- /dev/null +++ b/samples/kotlin-friendly-groovy-plugin/consumer/settings.gradle.kts @@ -0,0 +1,5 @@ +pluginManagement { + repositories { + maven { setUrl("../plugin/build/repository") } + } +} diff --git a/samples/kotlin-friendly-groovy-plugin/plugin/settings.gradle b/samples/kotlin-friendly-groovy-plugin/plugin/settings.gradle deleted file mode 100644 index a4e2daafa..000000000 --- a/samples/kotlin-friendly-groovy-plugin/plugin/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'my-documentation-plugin' diff --git a/samples/kotlin-friendly-groovy-plugin/plugin/settings.gradle.kts b/samples/kotlin-friendly-groovy-plugin/plugin/settings.gradle.kts new file mode 100644 index 000000000..22eae18eb --- /dev/null +++ b/samples/kotlin-friendly-groovy-plugin/plugin/settings.gradle.kts @@ -0,0 +1 @@ +rootProject.name = "my-documentation-plugin" diff --git a/samples/kotlin-friendly-groovy-plugin/settings.gradle b/samples/kotlin-friendly-groovy-plugin/settings.gradle.kts similarity index 100% rename from samples/kotlin-friendly-groovy-plugin/settings.gradle rename to samples/kotlin-friendly-groovy-plugin/settings.gradle.kts diff --git a/samples/maven-plugin/settings.gradle b/samples/maven-plugin/settings.gradle.kts similarity index 100% rename from samples/maven-plugin/settings.gradle rename to samples/maven-plugin/settings.gradle.kts diff --git a/samples/maven-publish/settings.gradle b/samples/maven-publish/settings.gradle.kts similarity index 100% rename from samples/maven-publish/settings.gradle rename to samples/maven-publish/settings.gradle.kts diff --git a/samples/model-rules/settings.gradle b/samples/model-rules/settings.gradle.kts similarity index 100% rename from samples/model-rules/settings.gradle rename to samples/model-rules/settings.gradle.kts diff --git a/samples/modularity/settings.gradle b/samples/modularity/settings.gradle.kts similarity index 100% rename from samples/modularity/settings.gradle rename to samples/modularity/settings.gradle.kts diff --git a/samples/multi-kotlin-project-config-injection/settings.gradle b/samples/multi-kotlin-project-config-injection/settings.gradle deleted file mode 100644 index bd374c8ec..000000000 --- a/samples/multi-kotlin-project-config-injection/settings.gradle +++ /dev/null @@ -1,2 +0,0 @@ - -include 'cli', 'core' diff --git a/samples/multi-kotlin-project-config-injection/settings.gradle.kts b/samples/multi-kotlin-project-config-injection/settings.gradle.kts new file mode 100644 index 000000000..6951b6fc4 --- /dev/null +++ b/samples/multi-kotlin-project-config-injection/settings.gradle.kts @@ -0,0 +1,2 @@ + +include("cli", "core") diff --git a/samples/multi-kotlin-project-with-buildSrc/settings.gradle b/samples/multi-kotlin-project-with-buildSrc/settings.gradle deleted file mode 100644 index bd374c8ec..000000000 --- a/samples/multi-kotlin-project-with-buildSrc/settings.gradle +++ /dev/null @@ -1,2 +0,0 @@ - -include 'cli', 'core' diff --git a/samples/multi-kotlin-project-with-buildSrc/settings.gradle.kts b/samples/multi-kotlin-project-with-buildSrc/settings.gradle.kts new file mode 100644 index 000000000..6951b6fc4 --- /dev/null +++ b/samples/multi-kotlin-project-with-buildSrc/settings.gradle.kts @@ -0,0 +1,2 @@ + +include("cli", "core") diff --git a/samples/multi-kotlin-project/settings.gradle b/samples/multi-kotlin-project/settings.gradle deleted file mode 100644 index bd374c8ec..000000000 --- a/samples/multi-kotlin-project/settings.gradle +++ /dev/null @@ -1,2 +0,0 @@ - -include 'cli', 'core' diff --git a/samples/multi-kotlin-project/settings.gradle.kts b/samples/multi-kotlin-project/settings.gradle.kts new file mode 100644 index 000000000..6951b6fc4 --- /dev/null +++ b/samples/multi-kotlin-project/settings.gradle.kts @@ -0,0 +1,2 @@ + +include("cli", "core") diff --git a/samples/multi-project-with-buildSrc/settings.gradle b/samples/multi-project-with-buildSrc/settings.gradle deleted file mode 100644 index 4a607c8a2..000000000 --- a/samples/multi-project-with-buildSrc/settings.gradle +++ /dev/null @@ -1,2 +0,0 @@ - -include 'bluewhale', 'krill' diff --git a/samples/multi-project-with-buildSrc/settings.gradle.kts b/samples/multi-project-with-buildSrc/settings.gradle.kts new file mode 100644 index 000000000..4b4657589 --- /dev/null +++ b/samples/multi-project-with-buildSrc/settings.gradle.kts @@ -0,0 +1,2 @@ + +include("bluewhale", "krill") diff --git a/samples/project-properties/settings.gradle b/samples/project-properties/settings.gradle.kts similarity index 100% rename from samples/project-properties/settings.gradle rename to samples/project-properties/settings.gradle.kts diff --git a/samples/project-with-buildSrc/settings.gradle b/samples/project-with-buildSrc/settings.gradle.kts similarity index 100% rename from samples/project-with-buildSrc/settings.gradle rename to samples/project-with-buildSrc/settings.gradle.kts diff --git a/samples/provider-properties/settings.gradle b/samples/provider-properties/settings.gradle.kts similarity index 100% rename from samples/provider-properties/settings.gradle rename to samples/provider-properties/settings.gradle.kts diff --git a/samples/task-dependencies/settings.gradle b/samples/task-dependencies/settings.gradle.kts similarity index 100% rename from samples/task-dependencies/settings.gradle rename to samples/task-dependencies/settings.gradle.kts From 68d4fcc8b70167158395e31b7c50fc99e8f3da0a Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Wed, 18 Oct 2017 16:59:51 +0200 Subject: [PATCH 036/115] gradle-kotlin-dsl build use settings.gradle.kts --- fixtures/build.gradle.kts | 2 +- .../{settings.gradle => settings.gradle.kts} | 0 fixtures/{settings.gradle => settings.gradle.kts} | 0 settings.gradle | 8 -------- settings.gradle.kts | 9 +++++++++ 5 files changed, 10 insertions(+), 9 deletions(-) rename fixtures/plugin-compiled-against-kotlin-1.0/{settings.gradle => settings.gradle.kts} (100%) rename fixtures/{settings.gradle => settings.gradle.kts} (100%) delete mode 100644 settings.gradle create mode 100644 settings.gradle.kts diff --git a/fixtures/build.gradle.kts b/fixtures/build.gradle.kts index 34f02f26a..0f6923c2f 100644 --- a/fixtures/build.gradle.kts +++ b/fixtures/build.gradle.kts @@ -1,7 +1,7 @@ import org.gradle.api.tasks.GradleBuild fun isProjectDir(candidate: File) = - candidate.isDirectory && File(candidate, "settings.gradle").exists() + candidate.isDirectory && File(candidate, "settings.gradle.kts").exists() fun isCompatibleWithJDK(candidate: File) = candidate.name.endsWith("kotlin-1.0") && JavaVersion.current() < JavaVersion.VERSION_1_9 diff --git a/fixtures/plugin-compiled-against-kotlin-1.0/settings.gradle b/fixtures/plugin-compiled-against-kotlin-1.0/settings.gradle.kts similarity index 100% rename from fixtures/plugin-compiled-against-kotlin-1.0/settings.gradle rename to fixtures/plugin-compiled-against-kotlin-1.0/settings.gradle.kts diff --git a/fixtures/settings.gradle b/fixtures/settings.gradle.kts similarity index 100% rename from fixtures/settings.gradle rename to fixtures/settings.gradle.kts diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index c059a532f..000000000 --- a/settings.gradle +++ /dev/null @@ -1,8 +0,0 @@ -rootProject.name = 'gradle-kotlin-dsl' - -include 'provider', - 'tooling-models', - 'tooling-builders', - 'plugins', - 'test-fixtures', - 'samples-tests' diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 000000000..151d0091c --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,9 @@ +rootProject.name = "gradle-kotlin-dsl" + +include( + "provider", + "tooling-models", + "tooling-builders", + "plugins", + "test-fixtures", + "samples-tests") From 081de5f9b14d647e3c7da12f0cda4c844bdda3e2 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 19 Oct 2017 10:11:58 +0200 Subject: [PATCH 037/115] Update wrappers to latest snapshot distro --- gradle/wrapper/gradle-wrapper.properties | 2 +- samples/ant/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-scan/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/code-quality/gradle/wrapper/gradle-wrapper.properties | 2 +- .../composite-builds/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/copy/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/domain-objects/gradle/wrapper/gradle-wrapper.properties | 2 +- .../extra-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-android/gradle/wrapper/gradle-wrapper.properties | 2 +- .../hello-coroutines/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-js/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-world/gradle/wrapper/gradle-wrapper.properties | 2 +- .../consumer/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-publish/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/model-rules/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/modularity/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../project-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../task-dependencies/gradle/wrapper/gradle-wrapper.properties | 2 +- 34 files changed, 34 insertions(+), 34 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/ant/gradle/wrapper/gradle-wrapper.properties b/samples/ant/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/ant/gradle/wrapper/gradle-wrapper.properties +++ b/samples/ant/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties +++ b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties +++ b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/copy/gradle/wrapper/gradle-wrapper.properties b/samples/copy/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/copy/gradle/wrapper/gradle-wrapper.properties +++ b/samples/copy/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties +++ b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties +++ b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties +++ b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/modularity/gradle/wrapper/gradle-wrapper.properties b/samples/modularity/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/modularity/gradle/wrapper/gradle-wrapper.properties +++ b/samples/modularity/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip diff --git a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties index b2b18c28c..bb395aca7 100644 --- a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties +++ b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018142041+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip From 731bb2ea36cdf3d812f1cd5f53e6f5baff328361 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Thu, 19 Oct 2017 10:43:10 -0200 Subject: [PATCH 038/115] Polish `fixtures/build.gradle.kts` --- fixtures/build.gradle.kts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fixtures/build.gradle.kts b/fixtures/build.gradle.kts index 0f6923c2f..ce7146746 100644 --- a/fixtures/build.gradle.kts +++ b/fixtures/build.gradle.kts @@ -1,7 +1,7 @@ import org.gradle.api.tasks.GradleBuild fun isProjectDir(candidate: File) = - candidate.isDirectory && File(candidate, "settings.gradle.kts").exists() + File(candidate, "settings.gradle.kts").isFile fun isCompatibleWithJDK(candidate: File) = candidate.name.endsWith("kotlin-1.0") && JavaVersion.current() < JavaVersion.VERSION_1_9 @@ -12,8 +12,8 @@ val subProjectTasks = rootDir .filter { isCompatibleWithJDK(it) } .map { subProjectDir -> task("prepare-${subProjectDir.name}") { - setDir(subProjectDir) + dir = subProjectDir } } -setDefaultTasks(subProjectTasks.map { it.name }) +defaultTasks = subProjectTasks.map { it.name } From c4b099a72095b475620e085d88a965fec1a6e73a Mon Sep 17 00:00:00 2001 From: Jonathan Leitschuh Date: Thu, 19 Oct 2017 11:58:43 -0400 Subject: [PATCH 039/115] Use older version of JDK 9 on travis Related to: https://github.com/travis-ci/travis-ci/issues/8600 --- .travis.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index c9cb7294d..34ed159a9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,11 +10,7 @@ matrix: jdk: openjdk8 - os: linux sudo: false - jdk: oraclejdk9 # JDK 9+175 or newer - addons: - apt: - packages: - - oracle-java9-installer # Forces use of even newer JDK 9 build + jdk: oraclejdk9 script: ./gradlew :provider:check --info --stacktrace --console=plain --max-workers=1 --no-daemon -Dkotlin.compiler.execution.strategy="in-process" -Dkotlin.colors.enabled=false From 8586e1c8e44edab9f25bb6153d6779e01e916c8c Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 19 Oct 2017 12:16:51 +0200 Subject: [PATCH 040/115] First cut of tapi model builders supporting settings.gradle.kts --- .../provider/KotlinScriptClassPathProvider.kt | 5 + .../kotlin/dsl/support/SettingsExtensions.kt | 24 ++++ .../builders/KotlinBuildScriptModelBuilder.kt | 113 ++++++++++++++---- .../dsl/tooling/builders/KotlinLibSources.kt | 28 ++++- .../tooling/models/KotlinBuildScriptModel.kt | 4 + 5 files changed, 150 insertions(+), 24 deletions(-) create mode 100644 provider/src/main/kotlin/org/gradle/kotlin/dsl/support/SettingsExtensions.kt diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptClassPathProvider.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptClassPathProvider.kt index 5299796be..840314362 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptClassPathProvider.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptClassPathProvider.kt @@ -19,6 +19,7 @@ package org.gradle.kotlin.dsl.provider import org.gradle.api.Project import org.gradle.api.artifacts.Dependency import org.gradle.api.artifacts.SelfResolvingDependency +import org.gradle.api.initialization.Settings import org.gradle.api.internal.ClassPathRegistry import org.gradle.api.internal.artifacts.dsl.dependencies.DependencyFactory @@ -44,6 +45,10 @@ fun gradleKotlinDslOf(project: Project): List = } +fun kotlinScriptClassPathProviderOf(settings: Settings) = + settings.serviceOf() + + fun kotlinScriptClassPathProviderOf(project: Project) = project.serviceOf() diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/SettingsExtensions.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/SettingsExtensions.kt new file mode 100644 index 000000000..db19b0216 --- /dev/null +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/SettingsExtensions.kt @@ -0,0 +1,24 @@ +/* + * Copyright 2017 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.gradle.kotlin.dsl.support + +import org.gradle.api.initialization.Settings +import org.gradle.api.internal.GradleInternal + +// TODO:pm Settings.services is protected, this may not get the right services +inline +fun Settings.serviceOf(): T = + (gradle as GradleInternal).services[T::class.java]!! diff --git a/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt b/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt index 1f8445a64..5cdad1296 100644 --- a/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt +++ b/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt @@ -17,6 +17,9 @@ package org.gradle.kotlin.dsl.tooling.builders import org.gradle.api.Project +import org.gradle.api.initialization.Settings +import org.gradle.api.internal.GradleInternal +import org.gradle.api.internal.SettingsInternal import org.gradle.api.internal.project.ProjectInternal import org.gradle.internal.classloader.ClasspathUtil @@ -31,6 +34,7 @@ import org.gradle.kotlin.dsl.resolver.kotlinBuildScriptModelTarget import org.gradle.kotlin.dsl.support.ImplicitImports import org.gradle.kotlin.dsl.support.serviceOf import org.gradle.kotlin.dsl.tooling.models.KotlinBuildScriptModel +import org.gradle.kotlin.dsl.tooling.models.KotlinBuildScriptModelArguments import org.gradle.tooling.provider.model.ToolingModelBuilder @@ -44,22 +48,73 @@ object KotlinBuildScriptModelBuilder : ToolingModelBuilder { override fun canBuild(modelName: String): Boolean = modelName == "org.gradle.kotlin.dsl.tooling.models.KotlinBuildScriptModel" - override fun buildAll(modelName: String, project: Project): KotlinBuildScriptModel { + override fun buildAll(modelName: String, modelRequestProject: Project): KotlinBuildScriptModel = + scriptModelFor(modelRequestProject, scriptModelArgumentsFor(modelRequestProject)) - val (targetProject, scriptClassPath) = - scriptModelRequestFor(project).let { - when (it) { - is ScriptModelRequest.ForProjectScript -> - it.enclosingProject to projectScriptClassPathOf(it.enclosingProject) - is ScriptModelRequest.ForScriptPlugin -> - project to scriptPluginClassPathOf(project) - } + private + fun scriptModelArgumentsFor(modelRequestProject: Project) = + KotlinBuildScriptModelArguments(modelRequestProject.findProperty(kotlinBuildScriptModelTarget) as String?) + + private + fun scriptModelFor(modelRequestProject: Project, arguments: KotlinBuildScriptModelArguments) = + scriptModelRequestFor(modelRequestProject, arguments).let { + when (it) { + is ScriptModelRequest.ForSettingsScript -> settingsScriptModelFor(it) + is ScriptModelRequest.ForScriptPlugin -> scriptPluginScriptModelFor(it) + is ScriptModelRequest.ForProjectScript -> projectScriptModelFor(it) } + } + + private + fun scriptModelRequestFor(modelRequestProject: Project, arguments: KotlinBuildScriptModelArguments): ScriptModelRequest = + arguments.scriptFile?.let { + if (isSettingsScript(it)) { + return ScriptModelRequest.ForSettingsScript(settingsFor(modelRequestProject)) + } + return projectFor(it, modelRequestProject) + ?.let { ScriptModelRequest.ForProjectScript(it) } + ?: ScriptModelRequest.ForScriptPlugin(modelRequestProject) + } ?: ScriptModelRequest.ForProjectScript(modelRequestProject) + + private + val KotlinBuildScriptModelArguments.scriptFile + get() = scriptPath?.let { canonicalFile(it) } + + private + fun isSettingsScript(scriptFile: File) = + scriptFile.name == "settings.gradle.kts" + + private + fun settingsFor(modelRequestProject: Project) = + (modelRequestProject.gradle as GradleInternal).settings + + private + fun settingsScriptModelFor(scriptModelRequest: ScriptModelRequest.ForSettingsScript): KotlinBuildScriptModel = + scriptModelRequest.run { + val scriptClassPath = settingsScriptClassPathOf(settings) + val gradleSources = gradleSourcesFor(scriptClassPath.bin, settings) + val classpathSources = sourcePathFor(settings) + val implicitImports = implicitImportsOf(settings) + return StandardKotlinBuildScriptModel( + scriptClassPath.bin.asFiles, + (scriptClassPath.src + gradleSources + classpathSources).asFiles, + implicitImports) + } - val gradleSources = gradleSourcesFor(scriptClassPath.bin, targetProject) - val classpathSources = sourcePathFor(targetProject) - val implicitImports = implicitImportsOf(targetProject) + private fun scriptPluginScriptModelFor(scriptModelRequest: ScriptModelRequest.ForScriptPlugin): KotlinBuildScriptModel = + scriptModelRequest.run { + scriptModelFor(modelRequestProject, scriptPluginClassPathOf(modelRequestProject)) + } + + private fun projectScriptModelFor(scriptModelRequest: ScriptModelRequest.ForProjectScript): KotlinBuildScriptModel = + scriptModelRequest.run { + scriptModelFor(enclosingProject, projectScriptClassPathOf(enclosingProject)) + } + private fun scriptModelFor(project: Project, scriptClassPath: ScriptClassPath): StandardKotlinBuildScriptModel { + val gradleSources = gradleSourcesFor(scriptClassPath.bin, project) + val classpathSources = sourcePathFor(project) + val implicitImports = implicitImportsOf(project) return StandardKotlinBuildScriptModel( scriptClassPath.bin.asFiles, (scriptClassPath.src + gradleSources + classpathSources).asFiles, @@ -71,22 +126,17 @@ object KotlinBuildScriptModelBuilder : ToolingModelBuilder { data class ForProjectScript(val enclosingProject: Project) : ScriptModelRequest() - object ForScriptPlugin : ScriptModelRequest() + data class ForSettingsScript(val settings: Settings) : ScriptModelRequest() + + data class ForScriptPlugin(val modelRequestProject: Project) : ScriptModelRequest() } private - fun scriptModelRequestFor(project: Project): ScriptModelRequest = - targetScriptFileForModelRequestOf(project).let { - when (it) { - null -> ScriptModelRequest.ForProjectScript(project) - else -> projectFor(it, project) - ?.let { ScriptModelRequest.ForProjectScript(it) } - ?: ScriptModelRequest.ForScriptPlugin - } - } + data class ScriptClassPath(val bin: ClassPath, val src: ClassPath) private - data class ScriptClassPath(val bin: ClassPath, val src: ClassPath) + fun settingsScriptClassPathOf(settings: Settings): ScriptClassPath = + ScriptClassPath(compilationClassPathOf(settings), ClassPath.EMPTY) private fun projectScriptClassPathOf(project: Project): ScriptClassPath { @@ -103,10 +153,18 @@ object KotlinBuildScriptModelBuilder : ToolingModelBuilder { DefaultClassPath.of(buildSrcClassPathOf(project) + gradleKotlinDslOf(project)), ClassPath.EMPTY) + private + fun implicitImportsOf(settings: Settings) = + settings.serviceOf().list + private fun implicitImportsOf(project: Project) = project.serviceOf().list + private + fun gradleSourcesFor(classPath: ClassPath, settings: Settings) = + SourcePathProvider.sourcePathFor(classPath, settings.rootProject.projectDir, settings.gradle.gradleHomeDir) + private fun gradleSourcesFor(classPath: ClassPath, project: Project) = SourcePathProvider.sourcePathFor(classPath, project.rootProject.projectDir, project.gradle.gradleHomeDir) @@ -122,6 +180,11 @@ object KotlinBuildScriptModelBuilder : ToolingModelBuilder { private fun canonicalFile(path: String): File = File(path).canonicalFile + private + fun compilationClassPathOf(settings: Settings): ClassPath = + kotlinScriptClassPathProviderOf(settings) + .compilationClassPathOf(classLoaderScopeOf(settings)) + private fun compilationClassPathOf(project: Project) = kotlinScriptClassPathProviderOf(project) @@ -131,6 +194,10 @@ object KotlinBuildScriptModelBuilder : ToolingModelBuilder { fun classLoaderScopeOf(project: Project) = (project as ProjectInternal).classLoaderScope + private + fun classLoaderScopeOf(settings: Settings) = + (settings as SettingsInternal).classLoaderScope + private fun buildSrcClassPathOf(project: Project) = ClasspathUtil diff --git a/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinLibSources.kt b/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinLibSources.kt index 91c19ffc7..309d18d18 100644 --- a/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinLibSources.kt +++ b/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinLibSources.kt @@ -23,9 +23,11 @@ import org.gradle.api.artifacts.component.ComponentIdentifier import org.gradle.api.artifacts.component.ModuleComponentIdentifier import org.gradle.api.artifacts.dsl.DependencyHandler import org.gradle.api.artifacts.result.ResolvedArtifactResult +import org.gradle.api.initialization.Settings import org.gradle.api.initialization.dsl.ScriptHandler import org.gradle.api.initialization.dsl.ScriptHandler.CLASSPATH_CONFIGURATION +import org.gradle.api.internal.SettingsInternal import org.gradle.api.internal.artifacts.DefaultModuleVersionIdentifier import org.gradle.internal.classpath.ClassPath @@ -43,6 +45,22 @@ import org.gradle.plugins.ide.internal.resolver.DefaultIdeDependencyResolver import kotlin.coroutines.experimental.buildSequence +internal +fun sourcePathFor(settings: Settings): ClassPath = + (settings as SettingsInternal).run { + var sourcePath = ClassPath.EMPTY + val resolvedDependencies = hashSetOf() + val classpathDependencies = classpathDependenciesOf(buildscript) + if (resolvedDependencies.addAll(classpathDependencies)) { + sourcePath += resolveSourcesUsing(buildscript.dependencies, classpathDependencies.map { it.toModuleId() }) + } + if (!containsBuiltinKotlinModules(resolvedDependencies)) { + sourcePath += kotlinLibSourcesFor(this) + } + sourcePath + } + + internal fun sourcePathFor(project: Project): ClassPath { @@ -52,7 +70,7 @@ fun sourcePathFor(project: Project): ClassPath { for (buildscript in reversedBuildscriptHierarchyOf(project)) { val classpathDependencies = classpathDependenciesOf(buildscript).filter { it !in resolvedDependencies } if (resolvedDependencies.addAll(classpathDependencies)) { - sourcePath += resolveSourcesUsing(buildscript.dependencies, classpathDependencies.map { it.toModuleId() }) + sourcePath += resolveSourcesUsing(buildscript.dependencies, classpathDependencies.map { it.toModuleId() }) } } @@ -91,6 +109,14 @@ private fun ModuleVersionIdentifier.toModuleId() = moduleId(group, name, version) +internal +fun kotlinLibSourcesFor(settings: Settings): ClassPath = + settings.run { + if (buildscript.repositories.isEmpty()) ClassPath.EMPTY + else resolveKotlinLibSourcesUsing(buildscript.dependencies) + } + + internal fun kotlinLibSourcesFor(project: Project): ClassPath = project diff --git a/tooling-models/src/main/kotlin/org/gradle/kotlin/dsl/tooling/models/KotlinBuildScriptModel.kt b/tooling-models/src/main/kotlin/org/gradle/kotlin/dsl/tooling/models/KotlinBuildScriptModel.kt index 9007b976b..9a5665af9 100644 --- a/tooling-models/src/main/kotlin/org/gradle/kotlin/dsl/tooling/models/KotlinBuildScriptModel.kt +++ b/tooling-models/src/main/kotlin/org/gradle/kotlin/dsl/tooling/models/KotlinBuildScriptModel.kt @@ -18,6 +18,10 @@ package org.gradle.kotlin.dsl.tooling.models import java.io.File +// TODO Implement parameterized model builder +class KotlinBuildScriptModelArguments(val scriptPath: String?) + + interface KotlinBuildScriptModel { val classPath: List From 70cb2d118c11b2833387fd2390583aebedb1d07b Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 19 Oct 2017 16:45:30 +0200 Subject: [PATCH 041/115] ScriptPluginFactory always invoke PluginRequestsApplicator In order to: - properly lock all scripts classloader scopes - trigger auto-applied plugins --- .../kotlin/dsl/provider/KotlinBuildScriptCompiler.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt index a52b55b97..28093c1d6 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt @@ -28,6 +28,7 @@ import org.gradle.internal.classpath.DefaultClassPath import org.gradle.kotlin.dsl.get import org.gradle.kotlin.dsl.support.EmbeddedKotlinProvider import org.gradle.kotlin.dsl.support.compilerMessageFor +import org.gradle.plugin.management.internal.DefaultPluginRequests import org.gradle.plugin.management.internal.PluginRequests import org.gradle.plugin.use.PluginDependenciesSpec @@ -173,19 +174,18 @@ class KotlinBuildScriptCompiler( private fun prepareTargetClassLoaderScopeOf(target: KotlinScriptTarget<*>) { targetScope.export(classPathProvider.gradleApiExtensions) - if (target.supportsPluginsBlock) { - executePluginsBlockOn(target) - } + executePluginsBlockOn(target) } private fun executePluginsBlockOn(target: KotlinScriptTarget<*>) { - val pluginRequests = collectPluginRequestsFromPluginsBlock() + val pluginRequests = collectPluginRequestsFromPluginsBlock(target) applyPluginsTo(target, pluginRequests) } private - fun collectPluginRequestsFromPluginsBlock(): PluginRequests { + fun collectPluginRequestsFromPluginsBlock(target: KotlinScriptTarget<*>): PluginRequests { + if (!target.supportsPluginsBlock) return DefaultPluginRequests.EMPTY val pluginRequestCollector = PluginRequestCollector(scriptSource) executePluginsBlockOn(pluginRequestCollector) return pluginRequestCollector.pluginRequests From d5ea2685d4c85a93da7df4db32fbc622eb01db69 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 19 Oct 2017 16:45:55 +0200 Subject: [PATCH 042/115] Coverage for dependencies resolver fetching classpath of settings script --- .../KotlinBuildScriptModelIntegrationTest.kt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt index c4619248a..e1200bb3c 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt @@ -211,6 +211,19 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { subProjectScript = """ plugins { kotlin("jvm") version "$embeddedKotlinVersion" } """) } + @Test + fun `can fetch classpath of settings script`() { + + withBuildSrc() + + val settings = withSettings("") + + val classPath = canonicalClassPathFor(projectRoot, settings) + + assertContainsBuildSrc(classPath) + assertContainsGradleKotlinDslJars(classPath) + } + private fun assertSourcePathIncludesKotlinStdlibSourcesGiven(rootProjectScript: String, subProjectScript: String) { From f49c0f0736668b7a90bc2fe0c132b66672a3e1a5 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 19 Oct 2017 20:15:13 +0200 Subject: [PATCH 043/115] Rework KotlinBuildScriptModelBuilder for readability and remove duplications --- .../builders/KotlinBuildScriptModelBuilder.kt | 272 +++++++++--------- .../dsl/tooling/builders/KotlinLibSources.kt | 71 +---- .../tooling/models/KotlinBuildScriptModel.kt | 4 - 3 files changed, 145 insertions(+), 202 deletions(-) diff --git a/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt b/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt index 5cdad1296..67cb6f35a 100644 --- a/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt +++ b/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt @@ -18,29 +18,44 @@ package org.gradle.kotlin.dsl.tooling.builders import org.gradle.api.Project import org.gradle.api.initialization.Settings +import org.gradle.api.initialization.dsl.ScriptHandler import org.gradle.api.internal.GradleInternal import org.gradle.api.internal.SettingsInternal import org.gradle.api.internal.project.ProjectInternal - import org.gradle.internal.classloader.ClasspathUtil import org.gradle.internal.classpath.ClassPath import org.gradle.internal.classpath.DefaultClassPath +import org.gradle.tooling.provider.model.ToolingModelBuilder +import org.gradle.kotlin.dsl.accessors.AccessorsClassPath import org.gradle.kotlin.dsl.accessors.accessorsClassPathFor +import org.gradle.kotlin.dsl.provider.KotlinScriptClassPathProvider import org.gradle.kotlin.dsl.provider.gradleKotlinDslOf -import org.gradle.kotlin.dsl.provider.kotlinScriptClassPathProviderOf import org.gradle.kotlin.dsl.resolver.SourcePathProvider import org.gradle.kotlin.dsl.resolver.kotlinBuildScriptModelTarget import org.gradle.kotlin.dsl.support.ImplicitImports import org.gradle.kotlin.dsl.support.serviceOf + import org.gradle.kotlin.dsl.tooling.models.KotlinBuildScriptModel -import org.gradle.kotlin.dsl.tooling.models.KotlinBuildScriptModelArguments -import org.gradle.tooling.provider.model.ToolingModelBuilder import java.io.File import java.io.Serializable +import kotlin.coroutines.experimental.buildSequence +import kotlin.reflect.KClass + + +private +class KotlinBuildScriptModelParameter(val scriptPath: String?) + + +private +data class StandardKotlinBuildScriptModel( + override val classPath: List, + override val sourcePath: List, + override val implicitImports: List) : KotlinBuildScriptModel, Serializable + internal object KotlinBuildScriptModelBuilder : ToolingModelBuilder { @@ -49,166 +64,155 @@ object KotlinBuildScriptModelBuilder : ToolingModelBuilder { modelName == "org.gradle.kotlin.dsl.tooling.models.KotlinBuildScriptModel" override fun buildAll(modelName: String, modelRequestProject: Project): KotlinBuildScriptModel = - scriptModelFor(modelRequestProject, scriptModelArgumentsFor(modelRequestProject)) + scriptModelBuilderFor(modelRequestProject, requestParameterOf(modelRequestProject)).buildModel() private - fun scriptModelArgumentsFor(modelRequestProject: Project) = - KotlinBuildScriptModelArguments(modelRequestProject.findProperty(kotlinBuildScriptModelTarget) as String?) + fun requestParameterOf(modelRequestProject: Project) = + KotlinBuildScriptModelParameter(modelRequestProject.findProperty(kotlinBuildScriptModelTarget) as String?) private - fun scriptModelFor(modelRequestProject: Project, arguments: KotlinBuildScriptModelArguments) = - scriptModelRequestFor(modelRequestProject, arguments).let { - when (it) { - is ScriptModelRequest.ForSettingsScript -> settingsScriptModelFor(it) - is ScriptModelRequest.ForScriptPlugin -> scriptPluginScriptModelFor(it) - is ScriptModelRequest.ForProjectScript -> projectScriptModelFor(it) - } + fun scriptModelBuilderFor(modelRequestProject: Project, parameter: KotlinBuildScriptModelParameter) = + when { + parameter.noScript -> projectScriptModelBuilder(modelRequestProject) + parameter.settingsScript -> settingsScriptModelBuilder(modelRequestProject.settings) + else -> resolveScriptModelBuilderFor(parameter.scriptFile!!, modelRequestProject) } private - fun scriptModelRequestFor(modelRequestProject: Project, arguments: KotlinBuildScriptModelArguments): ScriptModelRequest = - arguments.scriptFile?.let { - if (isSettingsScript(it)) { - return ScriptModelRequest.ForSettingsScript(settingsFor(modelRequestProject)) - } - return projectFor(it, modelRequestProject) - ?.let { ScriptModelRequest.ForProjectScript(it) } - ?: ScriptModelRequest.ForScriptPlugin(modelRequestProject) - } ?: ScriptModelRequest.ForProjectScript(modelRequestProject) - - private - val KotlinBuildScriptModelArguments.scriptFile - get() = scriptPath?.let { canonicalFile(it) } - - private - fun isSettingsScript(scriptFile: File) = - scriptFile.name == "settings.gradle.kts" + fun resolveScriptModelBuilderFor(scriptFile: File, modelRequestProject: Project) = + projectFor(scriptFile, modelRequestProject) + ?.let { projectScriptModelBuilder(it) } + ?: defaultScriptModelBuilder(modelRequestProject) private - fun settingsFor(modelRequestProject: Project) = - (modelRequestProject.gradle as GradleInternal).settings - - private - fun settingsScriptModelFor(scriptModelRequest: ScriptModelRequest.ForSettingsScript): KotlinBuildScriptModel = - scriptModelRequest.run { - val scriptClassPath = settingsScriptClassPathOf(settings) - val gradleSources = gradleSourcesFor(scriptClassPath.bin, settings) - val classpathSources = sourcePathFor(settings) - val implicitImports = implicitImportsOf(settings) - return StandardKotlinBuildScriptModel( - scriptClassPath.bin.asFiles, - (scriptClassPath.src + gradleSources + classpathSources).asFiles, - implicitImports) - } - - private fun scriptPluginScriptModelFor(scriptModelRequest: ScriptModelRequest.ForScriptPlugin): KotlinBuildScriptModel = - scriptModelRequest.run { - scriptModelFor(modelRequestProject, scriptPluginClassPathOf(modelRequestProject)) - } + fun projectFor(scriptFile: File, modelRequestProject: Project) = + modelRequestProject.allprojects.find { it.buildFile == scriptFile } +} - private fun projectScriptModelFor(scriptModelRequest: ScriptModelRequest.ForProjectScript): KotlinBuildScriptModel = - scriptModelRequest.run { - scriptModelFor(enclosingProject, projectScriptClassPathOf(enclosingProject)) - } - private fun scriptModelFor(project: Project, scriptClassPath: ScriptClassPath): StandardKotlinBuildScriptModel { - val gradleSources = gradleSourcesFor(scriptClassPath.bin, project) - val classpathSources = sourcePathFor(project) - val implicitImports = implicitImportsOf(project) +private +fun settingsScriptModelBuilder(settings: Settings) = + KotlinScriptTargetModelBuilder( + settings, + type = Settings::class, + rootDir = settings.rootDir, + gradleUserHome = settings.gradle.gradleUserHomeDir, + scriptClassPath = settings.scriptCompilationClassPath, + sourceLookupScriptHandlers = listOf(settings.buildscript), + implicitImports = settings.scriptImplicitImports) + + +private +fun projectScriptModelBuilder(project: Project) = + KotlinScriptTargetModelBuilder( + project, + type = Project::class, + rootDir = project.rootProject.rootDir, + gradleUserHome = project.gradle.gradleUserHomeDir, + scriptClassPath = project.scriptCompilationClassPath, + accessorsClassPath = { classPath: ClassPath -> accessorsClassPathFor(project, classPath) }, + sourceLookupScriptHandlers = project.hierarchy.map { it.buildscript }.toList(), + implicitImports = project.scriptImplicitImports) + + +private +fun defaultScriptModelBuilder(project: Project) = + KotlinScriptTargetModelBuilder( + project, + type = Project::class, + rootDir = project.rootDir, + gradleUserHome = project.gradle.gradleUserHomeDir, + scriptClassPath = project.defaultScriptCompilationClassPath, + sourceLookupScriptHandlers = listOf(project.buildscript), + implicitImports = project.scriptImplicitImports) + + +private +data class KotlinScriptTargetModelBuilder( + val `object`: T, + private val type: KClass, + val rootDir: File, + val gradleUserHome: File?, + val scriptClassPath: ClassPath, + val accessorsClassPath: (ClassPath) -> AccessorsClassPath = { + AccessorsClassPath(ClassPath.EMPTY, ClassPath.EMPTY) + }, + val sourceLookupScriptHandlers: List, + val implicitImports: List) { + + fun buildModel(): KotlinBuildScriptModel { + val accessorsClassPath = accessorsClassPath(scriptClassPath) + val classpathSources = sourcePathFor(sourceLookupScriptHandlers) return StandardKotlinBuildScriptModel( - scriptClassPath.bin.asFiles, - (scriptClassPath.src + gradleSources + classpathSources).asFiles, + (scriptClassPath + accessorsClassPath.bin).asFiles, + (gradleSource() + classpathSources + accessorsClassPath.src).asFiles, implicitImports) } private - sealed class ScriptModelRequest { - - data class ForProjectScript(val enclosingProject: Project) : ScriptModelRequest() - - data class ForSettingsScript(val settings: Settings) : ScriptModelRequest() - - data class ForScriptPlugin(val modelRequestProject: Project) : ScriptModelRequest() - } + fun gradleSource() = + SourcePathProvider.sourcePathFor(scriptClassPath, rootDir, gradleUserHome) +} - private - data class ScriptClassPath(val bin: ClassPath, val src: ClassPath) - private - fun settingsScriptClassPathOf(settings: Settings): ScriptClassPath = - ScriptClassPath(compilationClassPathOf(settings), ClassPath.EMPTY) +private +val KotlinBuildScriptModelParameter.noScript + get() = scriptPath == null - private - fun projectScriptClassPathOf(project: Project): ScriptClassPath { - val compilationClassPath = compilationClassPathOf(project) - val accessorsClassPath = accessorsClassPathFor(project, compilationClassPath) - return ScriptClassPath( - compilationClassPath + accessorsClassPath.bin, - accessorsClassPath.src) - } +private +val KotlinBuildScriptModelParameter.settingsScript + get() = !noScript && scriptFile!!.name == "settings.gradle.kts" - private - fun scriptPluginClassPathOf(project: Project) = - ScriptClassPath( - DefaultClassPath.of(buildSrcClassPathOf(project) + gradleKotlinDslOf(project)), - ClassPath.EMPTY) +private +val KotlinBuildScriptModelParameter.scriptFile + get() = scriptPath?.let { canonicalFile(it) } - private - fun implicitImportsOf(settings: Settings) = - settings.serviceOf().list - private - fun implicitImportsOf(project: Project) = - project.serviceOf().list +private +val Settings.scriptCompilationClassPath + get() = serviceOf().compilationClassPathOf((this as SettingsInternal).classLoaderScope) - private - fun gradleSourcesFor(classPath: ClassPath, settings: Settings) = - SourcePathProvider.sourcePathFor(classPath, settings.rootProject.projectDir, settings.gradle.gradleHomeDir) +private +val Settings.scriptImplicitImports + get() = serviceOf().list - private - fun gradleSourcesFor(classPath: ClassPath, project: Project) = - SourcePathProvider.sourcePathFor(classPath, project.rootProject.projectDir, project.gradle.gradleHomeDir) - private - fun targetScriptFileForModelRequestOf(project: Project) = - project.findProperty(kotlinBuildScriptModelTarget)?.let { canonicalFile(it as String) } +private +val Project.settings + get() = (gradle as GradleInternal).settings - private - fun projectFor(targetBuildFile: File, project: Project) = - project.allprojects.find { it.buildFile == targetBuildFile } +private +val Project.scriptCompilationClassPath + get() = serviceOf().compilationClassPathOf((this as ProjectInternal).classLoaderScope) - private - fun canonicalFile(path: String): File = File(path).canonicalFile +private +val Project.defaultScriptCompilationClassPath + get() = DefaultClassPath.of(project.buildSrcClassPath + gradleKotlinDslOf(rootProject)) - private - fun compilationClassPathOf(settings: Settings): ClassPath = - kotlinScriptClassPathProviderOf(settings) - .compilationClassPathOf(classLoaderScopeOf(settings)) +private +val Project.buildSrcClassPath + get() = ClasspathUtil + .getClasspath(buildscript.classLoader) + .asFiles + .filter { it.name == "buildSrc.jar" } - private - fun compilationClassPathOf(project: Project) = - kotlinScriptClassPathProviderOf(project) - .compilationClassPathOf(classLoaderScopeOf(project)) +private +val Project.scriptImplicitImports + get() = serviceOf().list - private - fun classLoaderScopeOf(project: Project) = - (project as ProjectInternal).classLoaderScope +private +val Project.hierarchy: Sequence + get() = buildSequence { + var project = this@hierarchy + yield(project) + while (project != project.rootProject) { + project = project.parent!! + yield(project) + } + } - private - fun classLoaderScopeOf(settings: Settings) = - (settings as SettingsInternal).classLoaderScope - private - fun buildSrcClassPathOf(project: Project) = - ClasspathUtil - .getClasspath(project.buildscript.classLoader) - .asFiles - .filter { it.name == "buildSrc.jar" } -} +private +fun canonicalFile(path: String): File = + File(path).canonicalFile - -internal -data class StandardKotlinBuildScriptModel( - override val classPath: List, - override val sourcePath: List, - override val implicitImports: List) : KotlinBuildScriptModel, Serializable diff --git a/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinLibSources.kt b/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinLibSources.kt index 309d18d18..6ab5df60b 100644 --- a/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinLibSources.kt +++ b/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinLibSources.kt @@ -16,18 +16,13 @@ package org.gradle.kotlin.dsl.tooling.builders -import org.gradle.api.Project - import org.gradle.api.artifacts.ModuleVersionIdentifier import org.gradle.api.artifacts.component.ComponentIdentifier import org.gradle.api.artifacts.component.ModuleComponentIdentifier import org.gradle.api.artifacts.dsl.DependencyHandler import org.gradle.api.artifacts.result.ResolvedArtifactResult -import org.gradle.api.initialization.Settings import org.gradle.api.initialization.dsl.ScriptHandler - import org.gradle.api.initialization.dsl.ScriptHandler.CLASSPATH_CONFIGURATION -import org.gradle.api.internal.SettingsInternal import org.gradle.api.internal.artifacts.DefaultModuleVersionIdentifier import org.gradle.internal.classpath.ClassPath @@ -42,32 +37,12 @@ import org.gradle.language.base.artifact.SourcesArtifact import org.gradle.plugins.ide.internal.resolver.DefaultIdeDependencyResolver -import kotlin.coroutines.experimental.buildSequence - internal -fun sourcePathFor(settings: Settings): ClassPath = - (settings as SettingsInternal).run { - var sourcePath = ClassPath.EMPTY - val resolvedDependencies = hashSetOf() - val classpathDependencies = classpathDependenciesOf(buildscript) - if (resolvedDependencies.addAll(classpathDependencies)) { - sourcePath += resolveSourcesUsing(buildscript.dependencies, classpathDependencies.map { it.toModuleId() }) - } - if (!containsBuiltinKotlinModules(resolvedDependencies)) { - sourcePath += kotlinLibSourcesFor(this) - } - sourcePath - } - - -internal -fun sourcePathFor(project: Project): ClassPath { - +fun sourcePathFor(scriptHandlers: List): ClassPath { var sourcePath = ClassPath.EMPTY val resolvedDependencies = hashSetOf() - - for (buildscript in reversedBuildscriptHierarchyOf(project)) { + for (buildscript in scriptHandlers.asReversed()) { val classpathDependencies = classpathDependenciesOf(buildscript).filter { it !in resolvedDependencies } if (resolvedDependencies.addAll(classpathDependencies)) { sourcePath += resolveSourcesUsing(buildscript.dependencies, classpathDependencies.map { it.toModuleId() }) @@ -75,23 +50,13 @@ fun sourcePathFor(project: Project): ClassPath { } if (!containsBuiltinKotlinModules(resolvedDependencies)) { - sourcePath += kotlinLibSourcesFor(project) + sourcePath += kotlinLibSourcesFor(scriptHandlers) } return sourcePath } -private -fun reversedBuildscriptHierarchyOf(project: Project) = - reversedHierarchyOf(project).map { it.buildscript } - - -private -fun reversedHierarchyOf(project: Project) = - project.hierarchy.toList().asReversed() - - private fun containsBuiltinKotlinModules(resolvedDependencies: HashSet) = resolvedDependencies.containsAll( @@ -110,22 +75,12 @@ fun ModuleVersionIdentifier.toModuleId() = moduleId(group, name, version) internal -fun kotlinLibSourcesFor(settings: Settings): ClassPath = - settings.run { - if (buildscript.repositories.isEmpty()) ClassPath.EMPTY - else resolveKotlinLibSourcesUsing(buildscript.dependencies) - } - - -internal -fun kotlinLibSourcesFor(project: Project): ClassPath = - project - .hierarchy - .filter { it.buildscript.repositories.isNotEmpty() } - .map { resolveKotlinLibSourcesUsing(it.buildscript.dependencies) } +fun kotlinLibSourcesFor(scriptHandlers: List): ClassPath = + scriptHandlers + .filter { it.repositories.isNotEmpty() } + .map { resolveKotlinLibSourcesUsing(it.dependencies) } .find { !it.isEmpty } ?: ClassPath.EMPTY - private fun resolveKotlinLibSourcesUsing(dependencyHandler: DependencyHandler): ClassPath = resolveSourcesUsing(dependencyHandler, kotlinComponentIdentifiers) @@ -172,15 +127,3 @@ fun moduleId(group: String, module: String, version: String) = override fun getVersion() = version override fun getDisplayName() = "$group:$module:$version" } - - -private -val org.gradle.api.Project.hierarchy: Sequence - get() = buildSequence { - var project = this@hierarchy - yield(project) - while (project != project.rootProject) { - project = project.parent!! - yield(project) - } - } diff --git a/tooling-models/src/main/kotlin/org/gradle/kotlin/dsl/tooling/models/KotlinBuildScriptModel.kt b/tooling-models/src/main/kotlin/org/gradle/kotlin/dsl/tooling/models/KotlinBuildScriptModel.kt index 9a5665af9..9007b976b 100644 --- a/tooling-models/src/main/kotlin/org/gradle/kotlin/dsl/tooling/models/KotlinBuildScriptModel.kt +++ b/tooling-models/src/main/kotlin/org/gradle/kotlin/dsl/tooling/models/KotlinBuildScriptModel.kt @@ -18,10 +18,6 @@ package org.gradle.kotlin.dsl.tooling.models import java.io.File -// TODO Implement parameterized model builder -class KotlinBuildScriptModelArguments(val scriptPath: String?) - - interface KotlinBuildScriptModel { val classPath: List From 9dd7074deefe9d6f5c2985bd9d6c67d22d88ac7f Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Thu, 19 Oct 2017 16:33:05 -0200 Subject: [PATCH 044/115] Expose `kotlin-stdlib-jre8` to build scripts See #558 --- buildSrc/build.gradle | 2 +- plugins/build.gradle.kts | 2 +- .../plugins/embedded/EmbeddedKotlinPlugin.kt | 4 +- .../embedded/EmbeddedKotlinPluginTest.kt | 2 +- provider/build.gradle.kts | 2 +- .../dsl/provider/KotlinBuildScriptCompiler.kt | 2 +- .../dsl/support/EmbeddedKotlinProvider.kt | 49 ++++++++++++++----- .../GradleKotlinDslIntegrationTest.kt | 19 +++++++ .../KotlinBuildScriptModelIntegrationTest.kt | 2 +- .../dsl/tooling/builders/KotlinLibSources.kt | 2 +- 10 files changed, 66 insertions(+), 20 deletions(-) diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index 8bd2144f3..3f4686136 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -44,7 +44,7 @@ tasks.withType(KotlinCompile) { dependencies { compile gradleApi() compile "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" - compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion" + compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlinVersion" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion" compile 'org.ow2.asm:asm-all:5.1' testCompile 'junit:junit:4.12' diff --git a/plugins/build.gradle.kts b/plugins/build.gradle.kts index 93b522f3a..2055532c6 100644 --- a/plugins/build.gradle.kts +++ b/plugins/build.gradle.kts @@ -14,7 +14,7 @@ base { dependencies { compileOnly(gradleKotlinDsl()) - compile(futureKotlin("stdlib")) + compile(futureKotlin("stdlib-jre8")) compile(futureKotlin("gradle-plugin")) compile(futureKotlin("sam-with-receiver")) diff --git a/plugins/src/main/kotlin/org/gradle/kotlin/dsl/plugins/embedded/EmbeddedKotlinPlugin.kt b/plugins/src/main/kotlin/org/gradle/kotlin/dsl/plugins/embedded/EmbeddedKotlinPlugin.kt index c3588a72f..623e55a35 100644 --- a/plugins/src/main/kotlin/org/gradle/kotlin/dsl/plugins/embedded/EmbeddedKotlinPlugin.kt +++ b/plugins/src/main/kotlin/org/gradle/kotlin/dsl/plugins/embedded/EmbeddedKotlinPlugin.kt @@ -47,14 +47,14 @@ open class EmbeddedKotlinPlugin @Inject internal constructor( embeddedKotlin.addDependenciesTo( dependencies, embeddedKotlinConfiguration.name, - "stdlib", "reflect") + "stdlib-jre8", "reflect") listOf("compileOnly", "testCompileOnly").forEach { configurations.getByName(it).extendsFrom(embeddedKotlinConfiguration) } configurations.all { - embeddedKotlin.pinDependenciesOn(it, "stdlib", "reflect", "compiler-embeddable") + embeddedKotlin.pinDependenciesOn(it, "stdlib-jre8", "reflect", "compiler-embeddable") } } } diff --git a/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/embedded/EmbeddedKotlinPluginTest.kt b/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/embedded/EmbeddedKotlinPluginTest.kt index 18338f167..5aeefd209 100644 --- a/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/embedded/EmbeddedKotlinPluginTest.kt +++ b/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/embedded/EmbeddedKotlinPluginTest.kt @@ -56,7 +56,7 @@ class EmbeddedKotlinPluginTest : AbstractPluginTest() { tasks { "assertions" { doLast { - val requiredLibs = listOf("kotlin-stdlib-$embeddedKotlinVersion.jar", "kotlin-reflect-$embeddedKotlinVersion.jar") + val requiredLibs = listOf("kotlin-stdlib-jre8-$embeddedKotlinVersion.jar", "kotlin-reflect-$embeddedKotlinVersion.jar") listOf("compileOnly", "testCompileOnly").forEach { configuration -> require(configurations[configuration].files.map { it.name }.containsAll(requiredLibs), { "Embedded Kotlin libraries not found in ${'$'}configuration" diff --git a/provider/build.gradle.kts b/provider/build.gradle.kts index 4db6b7688..34f8f3f92 100644 --- a/provider/build.gradle.kts +++ b/provider/build.gradle.kts @@ -14,7 +14,7 @@ dependencies { compileOnly(gradleApi()) compile(project(":tooling-models")) - compile(futureKotlin("stdlib")) + compile(futureKotlin("stdlib-jre8")) compile(futureKotlin("reflect")) compile(futureKotlin("compiler-embeddable")) compile(futureKotlin("sam-with-receiver-compiler-plugin")) { diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt index a52b55b97..b11c3da17 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt @@ -156,7 +156,7 @@ class KotlinBuildScriptCompiler( addRepositoryTo(scriptHandler.repositories) pinDependenciesOn( scriptHandler.configurations["classpath"], - "stdlib", "reflect") + "stdlib-jre8", "reflect") } } diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/EmbeddedKotlinProvider.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/EmbeddedKotlinProvider.kt index 07d74136c..c37f6ccae 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/EmbeddedKotlinProvider.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/EmbeddedKotlinProvider.kt @@ -30,6 +30,7 @@ import org.gradle.kotlin.dsl.embeddedKotlinVersion import java.io.File import java.net.URI +import java.util.* private @@ -56,11 +57,16 @@ val embeddedKotlinModules: List by lazy { // TODO:pm could be generated at build time val annotations = EmbeddedKotlinModule("org.jetbrains", "annotations", "13.0") + val stdlib = embeddedKotlin("stdlib", listOf(annotations)) + val stdlibJre7 = embeddedKotlin("stdlib-jre7", listOf(stdlib)) + val stdlibJre8 = embeddedKotlin("stdlib-jre8", listOf(stdlibJre7)) + val reflect = embeddedKotlin("reflect", listOf(stdlib)) + val compilerEmbeddable = embeddedKotlin("compiler-embeddable") listOf( annotations, - embeddedKotlin("stdlib", listOf(annotations)), - embeddedKotlin("reflect"), - embeddedKotlin("compiler-embeddable")) + stdlib, stdlibJre7, stdlibJre8, + reflect, + compilerEmbeddable) } @@ -81,20 +87,41 @@ class EmbeddedKotlinProvider constructor( configuration: String, vararg kotlinModules: String) { - kotlinModules.map { getEmbeddedKotlinModule(it) }.forEach { embeddedKotlinModule -> + embeddedKotlinModulesFor(kotlinModules).forEach { embeddedKotlinModule -> dependencies.add(configuration, clientModuleFor(dependencies, embeddedKotlinModule)) } } fun pinDependenciesOn(configuration: Configuration, vararg kotlinModules: String) { - val dependenciesModules = kotlinModules.map { getEmbeddedKotlinModule(it) } + val pinnedDependencies = transitiveClosureOf(embeddedKotlinModulesFor(kotlinModules)) configuration.resolutionStrategy.eachDependency { details -> - findEmbeddedModule(details.requested, dependenciesModules)?.let { module -> - details.useTarget(module.notation) + pinnedDependencies.findWithSameGroupAndNameAs(details.requested)?.let { pinned -> + details.useTarget(pinned.notation) } } } + private + fun embeddedKotlinModulesFor(kotlinModules: Array) = + kotlinModules.map { embeddedKotlinModuleFor(it) } + + private + fun transitiveClosureOf(modules: Collection): Set { + val closure = identitySetOf() + val q = ArrayDeque(modules) + while (q.isNotEmpty()) { + val module = q.removeFirst() + if (closure.add(module)) { + q.addAll(module.dependencies) + } + } + return closure + } + + private + fun identitySetOf(): MutableSet = + Collections.newSetFromMap(IdentityHashMap()) + private fun embeddedKotlinRepositoryURI(): URI = embeddedKotlinRepositoryDir().toURI() @@ -139,10 +166,10 @@ class EmbeddedKotlinProvider constructor( } private - fun getEmbeddedKotlinModule(kotlinModule: String) = - embeddedKotlinModules.first { it.group == "org.jetbrains.kotlin" && it.name == "kotlin-$kotlinModule" } + fun embeddedKotlinModuleFor(kotlinModule: String) = + embeddedKotlinModules.first { it.name == "kotlin-$kotlinModule" && it.group == "org.jetbrains.kotlin" } private - fun findEmbeddedModule(requested: ModuleVersionSelector, embeddedModules: List) = - embeddedModules.find { it.group == requested.group && it.name == requested.name } + fun Iterable.findWithSameGroupAndNameAs(requested: ModuleVersionSelector) = + find { it.name == requested.name && it.group == requested.group } } diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt index 8eb73bb50..9a5905b27 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt @@ -404,6 +404,25 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { containsString("Kotlin DSL Build Script"))) } + @Test + fun `build script can use jre8 extensions`() { + + withBuildScript(""" + + // without kotlin-stdlib-jre8 we get: + // > Retrieving groups by name is not supported on this platform. + + val regex = Regex("(?.*)") + val groups = regex.matchEntire("abc")?.groups + println("*" + groups?.get("bla")?.value + "*") + + """) + + assertThat( + build("help").output, + containsString("*abc*")) + } + private val fixturesRepository: File get() = File(rootProjectDir, "fixtures/repository").absoluteFile diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt index c4619248a..8ecb8c05b 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt @@ -217,7 +217,7 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { assertSourcePathGiven( rootProjectScript, subProjectScript, - hasItems("kotlin-stdlib-$embeddedKotlinVersion-sources.jar")) + hasItems("kotlin-stdlib-jre8-$embeddedKotlinVersion-sources.jar")) } private diff --git a/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinLibSources.kt b/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinLibSources.kt index 91c19ffc7..b005041ee 100644 --- a/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinLibSources.kt +++ b/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinLibSources.kt @@ -119,7 +119,7 @@ fun resolveSourcesUsing(dependencyHandler: DependencyHandler, components: List Date: Fri, 20 Oct 2017 10:50:47 +0200 Subject: [PATCH 045/115] Remove dead code --- .../kotlin/dsl/provider/KotlinScriptClassPathProvider.kt | 5 ----- .../org/gradle/kotlin/dsl/support/SettingsExtensions.kt | 1 - 2 files changed, 6 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptClassPathProvider.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptClassPathProvider.kt index 840314362..5299796be 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptClassPathProvider.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptClassPathProvider.kt @@ -19,7 +19,6 @@ package org.gradle.kotlin.dsl.provider import org.gradle.api.Project import org.gradle.api.artifacts.Dependency import org.gradle.api.artifacts.SelfResolvingDependency -import org.gradle.api.initialization.Settings import org.gradle.api.internal.ClassPathRegistry import org.gradle.api.internal.artifacts.dsl.dependencies.DependencyFactory @@ -45,10 +44,6 @@ fun gradleKotlinDslOf(project: Project): List = } -fun kotlinScriptClassPathProviderOf(settings: Settings) = - settings.serviceOf() - - fun kotlinScriptClassPathProviderOf(project: Project) = project.serviceOf() diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/SettingsExtensions.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/SettingsExtensions.kt index db19b0216..b1192f123 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/SettingsExtensions.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/SettingsExtensions.kt @@ -18,7 +18,6 @@ package org.gradle.kotlin.dsl.support import org.gradle.api.initialization.Settings import org.gradle.api.internal.GradleInternal -// TODO:pm Settings.services is protected, this may not get the right services inline fun Settings.serviceOf(): T = (gradle as GradleInternal).services[T::class.java]!! From 591df060df31f2b02993141d9b31e47f6e519822 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 20 Oct 2017 11:48:07 +0200 Subject: [PATCH 046/115] Refine coverage assert that root project script dependencies do not leak into settings classpath --- .../KotlinBuildScriptModelIntegrationTest.kt | 36 ++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt index e1200bb3c..5ec60a11e 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt @@ -216,12 +216,24 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { withBuildSrc() - val settings = withSettings("") + val settings = withSettings("println(\"In settings.gradle.kts!\")") + + withFile("classes.jar", "") + + withFile("build.gradle", """ + buildscript { + dependencies { + classpath(files("classes.jar")) + } + } + """) val classPath = canonicalClassPathFor(projectRoot, settings) assertContainsBuildSrc(classPath) assertContainsGradleKotlinDslJars(classPath) + + assertExcludes(classPath, existing("classes.jar")) } private @@ -283,20 +295,28 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { not(hasItems(*excludes.map { it.name }.toTypedArray())))) private - fun assertClassPathContains(vararg files: File) { - val fileNameSet = files.map { it.name }.toSet().toTypedArray() - assert(fileNameSet.size == files.size) + fun assertClassPathContains(vararg files: File) = assertThat( canonicalClassPath().map { it.name }, - hasItems(*fileNameSet)) - } + hasItems(*fileNameSetOf(*files))) private - fun assertContainsBuildSrc(classPath: List) { + fun assertContainsBuildSrc(classPath: List) = assertThat( classPath.map { it.name }, hasItem("buildSrc.jar")) - } + + private + fun assertExcludes(classPath: List, vararg files: File) = + assertThat( + classPath.map { it.name }, + not(hasItems(*fileNameSetOf(*files)))) + + private + fun fileNameSetOf(vararg files: File) = + files.map { it.name }.toSet().toTypedArray().also { + assert(it.size == files.size) + } private fun canonicalClassPath() = From 7d70c2f2168fbb5e927c6a803ef19a9cce69d6b4 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Fri, 20 Oct 2017 08:12:56 -0200 Subject: [PATCH 047/115] Disable jre8 specific test under Java >= 9 Deserves further investigation. --- .../dsl/integration/GradleKotlinDslIntegrationTest.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt index 9a5905b27..585cab444 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt @@ -128,7 +128,8 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { @Test fun `given a plugin compiled against Kotlin one dot zero, it will run against the embedded Kotlin version`() { - assumeTrue("Test disabled under JDK 9 and higher", JavaVersion.current() < JavaVersion.VERSION_1_9) + + assumeJavaLessThan9() withBuildScript(""" buildscript { @@ -407,6 +408,8 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { @Test fun `build script can use jre8 extensions`() { + assumeJavaLessThan9() + withBuildScript(""" // without kotlin-stdlib-jre8 we get: @@ -423,6 +426,11 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { containsString("*abc*")) } + private + fun assumeJavaLessThan9() { + assumeTrue("Test disabled under JDK 9 and higher", JavaVersion.current() < JavaVersion.VERSION_1_9) + } + private val fixturesRepository: File get() = File(rootProjectDir, "fixtures/repository").absoluteFile From a1839e43500f464be5d03c4c17a017b335d35786 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 20 Oct 2017 13:42:53 +0200 Subject: [PATCH 048/115] Refine coverage Remove spurious println --- .../dsl/integration/KotlinBuildScriptModelIntegrationTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt index 5ec60a11e..1590edd7f 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt @@ -216,7 +216,7 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { withBuildSrc() - val settings = withSettings("println(\"In settings.gradle.kts!\")") + val settings = withSettings("") withFile("classes.jar", "") From ef21fa9449160fa23ffc9e1a9f1ace11048535e4 Mon Sep 17 00:00:00 2001 From: Mike Kobit Date: Fri, 20 Oct 2017 14:02:56 -0500 Subject: [PATCH 049/115] Update to latest `com.gradle.plugin-publish` plugin that is compatible with Java 9 and the new configurations --- plugins/build.gradle.kts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/build.gradle.kts b/plugins/build.gradle.kts index 2055532c6..3be40789c 100644 --- a/plugins/build.gradle.kts +++ b/plugins/build.gradle.kts @@ -4,7 +4,7 @@ plugins { id("kotlin-dsl-module") `maven-publish` `java-gradle-plugin` - id("com.gradle.plugin-publish") version "0.9.7" + id("com.gradle.plugin-publish") version "0.9.9" } base { @@ -14,9 +14,9 @@ base { dependencies { compileOnly(gradleKotlinDsl()) - compile(futureKotlin("stdlib-jre8")) - compile(futureKotlin("gradle-plugin")) - compile(futureKotlin("sam-with-receiver")) + implementation(futureKotlin("stdlib-jre8")) + implementation(futureKotlin("gradle-plugin")) + implementation(futureKotlin("sam-with-receiver")) testImplementation(project(":test-fixtures")) } From 95b9d12ed1d25f2459911cb7dca058490f269138 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Sun, 22 Oct 2017 11:44:30 +0200 Subject: [PATCH 050/115] Add samples missing from README list --- samples/README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/samples/README.md b/samples/README.md index d37defbb1..849e71012 100644 --- a/samples/README.md +++ b/samples/README.md @@ -5,22 +5,31 @@ _See instructions below in order to [set up your dev environment](#set-up-dev-en The Gradle projects in this directory demonstrate typical use cases with and features available in the Gradle Kotlin DSL. They include: + - [`ant`](./ant): demonstrates how to use Ant from Gradle via the Ant Groovy Builder - [`build-scan`](./build-scan): demonstrates how to apply and configure the `org.gradle.build-scan` plugin + - [`code-quality`](./code-quality): demonstrates how to configure Gradle code quality plugins - [`composite-builds`](./composite-builds): demonstrates how to use Composite Builds - [`copy`](./copy): demonstrates typed task declarations, and configuration of a Gradle `CopySpec` - [`domain-objects`](./domain-objects): demonstrates how to create and configure a `NamedDomainObjectContainer` from a Kotlin build script. - [`extra-properties`](./extra-properties): demonstrates the use of `extra` properties (equivalent of the `ext` properties found in Gradle Script Groovy) + - [`gradle-plugin`](./gradle-plugin): demonstrates a Gradle plugin implemented in Kotlin and taking advantage of the `kotlin-dsl` plugin - [`groovy-interop`](./groovy-interop): demonstrates how to interact with Groovy code from Kotlin - [`hello-android`](./hello-android): demonstrates a Kotlin-based Gradle build script for a Kotlin-based Android project - [`hello-coroutines`](./hello-coroutines): demonstrates how to enable experimental support for [coroutines in Kotlin](https://kotlinlang.org/docs/reference/coroutines.html) + - [`hello-js`](./hello-js): demonstrates a Kotlin-based Gradle build script for a project that is itself written in Kotlin and targets JavaScript - [`hello-kotlin`](./hello-kotlin): demonstrates a Kotlin-based Gradle build script for a project that is itself written in Kotlin - [`hello-world`](./hello-world): demonstrates plugin application and configuration, dependency management, JUnit testing + - [`kotlin-friendly-groovy-plugin`](./kotlin-friendly-groovy-plugin): demonstrates a Groovy Gradle plugin and its use from Kotlin-based build scripts + - [`maven-plugin`](./maven-plugin): demonstrates how to configure the Gradle `maven` plugin + - [`maven-publish`](./maven-publish): demonstrates how to configure the Gradle `maven-publish` plugin + - [`model-rules`](./model-rules): demonstrates the use of model rules - [`modularity`](./modularity): demonstrates the use of `apply { from() }` to modularize build scripts + - [`multi-kotlin-project`](./multi-kotlin-project): demonstrates a [multi-project build](https://docs.gradle.org/current/userguide/multi_project_builds.html) comprising two Kotlin based projects - [`multi-kotlin-project-config-injection`](./multi-kotlin-project-config-injection): demonstrates a [multi-project build](https://docs.gradle.org/current/userguide/multi_project_builds.html) comprising two Kotlin based projects in which all `KotlinCompile` tasks belonging to the subprojects are configured by the root project - [`multi-kotlin-project-with-buildSrc`](./multi-kotlin-project-with-buildSrc): demonstrates a [multi-project build](https://docs.gradle.org/current/userguide/multi_project_builds.html) comprising two Kotlin based projects with custom build logic in `buildSrc` - - [`multi-kotlin-project`](./multi-kotlin-project): demonstrates a [multi-project build](https://docs.gradle.org/current/userguide/multi_project_builds.html) comprising two Kotlin based projects - [`multi-project-with-buildSrc`](./multi-project-with-buildSrc): demonstrates a multi-project build with custom build logic in `buildSrc`, including a custom task - [`project-properties`](./project-properties): demonstrates project property access via [delegated properties](https://kotlinlang.org/docs/reference/delegated-properties.html) + - [`project-with-buildSrc`](./project-with-buildSrc): demonstrates a single-project build with custom build logic in `buildSrc` - [`provider-properties`](./provider-properties): demonstrates usage of lazily evaluated properties to [map extension properties to task properties](https://docs.gradle.org/4.0-milestone-2/userguide/custom_plugins.html#sec:mapping_extension_properties_to_task_properties) - [`task-dependencies`](./task-dependencies): demonstrates explicit configuration of task dependencies From f82b369f0268592e5ce1c0329247fe6ce2f929c8 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Mon, 23 Oct 2017 10:03:18 +0200 Subject: [PATCH 051/115] Update wrappers to latest snapshot distro --- gradle/wrapper/gradle-wrapper.properties | 2 +- samples/ant/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-scan/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/code-quality/gradle/wrapper/gradle-wrapper.properties | 2 +- .../composite-builds/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/copy/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/domain-objects/gradle/wrapper/gradle-wrapper.properties | 2 +- .../extra-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-android/gradle/wrapper/gradle-wrapper.properties | 2 +- .../hello-coroutines/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-js/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-world/gradle/wrapper/gradle-wrapper.properties | 2 +- .../consumer/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-publish/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/model-rules/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/modularity/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../project-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../task-dependencies/gradle/wrapper/gradle-wrapper.properties | 2 +- 34 files changed, 34 insertions(+), 34 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/ant/gradle/wrapper/gradle-wrapper.properties b/samples/ant/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/ant/gradle/wrapper/gradle-wrapper.properties +++ b/samples/ant/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties +++ b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties +++ b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/copy/gradle/wrapper/gradle-wrapper.properties b/samples/copy/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/copy/gradle/wrapper/gradle-wrapper.properties +++ b/samples/copy/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties +++ b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties +++ b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties +++ b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/modularity/gradle/wrapper/gradle-wrapper.properties b/samples/modularity/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/modularity/gradle/wrapper/gradle-wrapper.properties +++ b/samples/modularity/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties index bb395aca7..f11a81f7d 100644 --- a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties +++ b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171018152056+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip From a45618aff9e4830736927dc9276105cf5692cee1 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Tue, 24 Oct 2017 00:10:52 -0200 Subject: [PATCH 052/115] Polish `KotlinBuildScriptModelBuilder` - Dedupe empty AccessorClassPath value --- .../org/gradle/kotlin/dsl/accessors/AccessorsClassPath.kt | 8 ++++++-- .../dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt | 4 +--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/accessors/AccessorsClassPath.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/accessors/AccessorsClassPath.kt index bf1820881..b63147401 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/accessors/AccessorsClassPath.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/accessors/AccessorsClassPath.kt @@ -47,11 +47,15 @@ import java.util.jar.JarFile fun accessorsClassPathFor(project: Project, classPath: ClassPath) = project.getOrCreateSingletonProperty { buildAccessorsClassPathFor(project, classPath) - ?: AccessorsClassPath(ClassPath.EMPTY, ClassPath.EMPTY) + ?: AccessorsClassPath.empty } -data class AccessorsClassPath(val bin: ClassPath, val src: ClassPath) +data class AccessorsClassPath(val bin: ClassPath, val src: ClassPath) { + companion object { + val empty = AccessorsClassPath(ClassPath.EMPTY, ClassPath.EMPTY) + } +} private diff --git a/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt b/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt index 67cb6f35a..f967e30b0 100644 --- a/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt +++ b/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt @@ -134,9 +134,7 @@ data class KotlinScriptTargetModelBuilder( val rootDir: File, val gradleUserHome: File?, val scriptClassPath: ClassPath, - val accessorsClassPath: (ClassPath) -> AccessorsClassPath = { - AccessorsClassPath(ClassPath.EMPTY, ClassPath.EMPTY) - }, + val accessorsClassPath: (ClassPath) -> AccessorsClassPath = { AccessorsClassPath.empty }, val sourceLookupScriptHandlers: List, val implicitImports: List) { From 488ce6876c2103da48222f68cb3a47bd816a6907 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Tue, 24 Oct 2017 00:11:53 -0200 Subject: [PATCH 053/115] Polish `KotlinBuildScriptModel` - Break long line - Simplify complex comparison using null-safe navigation - Declare type parameter variance --- .../builders/KotlinBuildScriptModelBuilder.kt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt b/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt index f967e30b0..cf3661cb5 100644 --- a/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt +++ b/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt @@ -64,7 +64,8 @@ object KotlinBuildScriptModelBuilder : ToolingModelBuilder { modelName == "org.gradle.kotlin.dsl.tooling.models.KotlinBuildScriptModel" override fun buildAll(modelName: String, modelRequestProject: Project): KotlinBuildScriptModel = - scriptModelBuilderFor(modelRequestProject, requestParameterOf(modelRequestProject)).buildModel() + scriptModelBuilderFor(modelRequestProject, requestParameterOf(modelRequestProject)) + .buildModel() private fun requestParameterOf(modelRequestProject: Project) = @@ -128,7 +129,7 @@ fun defaultScriptModelBuilder(project: Project) = private -data class KotlinScriptTargetModelBuilder( +data class KotlinScriptTargetModelBuilder( val `object`: T, private val type: KClass, val rootDir: File, @@ -159,7 +160,7 @@ val KotlinBuildScriptModelParameter.noScript private val KotlinBuildScriptModelParameter.settingsScript - get() = !noScript && scriptFile!!.name == "settings.gradle.kts" + get() = scriptFile?.name == "settings.gradle.kts" private val KotlinBuildScriptModelParameter.scriptFile @@ -168,7 +169,11 @@ val KotlinBuildScriptModelParameter.scriptFile private val Settings.scriptCompilationClassPath - get() = serviceOf().compilationClassPathOf((this as SettingsInternal).classLoaderScope) + get() = serviceOf().compilationClassPathOf(classLoaderScope) + +private +val Settings.classLoaderScope + get() = (this as SettingsInternal).classLoaderScope private val Settings.scriptImplicitImports From 4b3a64db9fdad32a5ce42563268a423db4c75bfc Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Tue, 24 Oct 2017 00:13:03 -0200 Subject: [PATCH 054/115] Polish `KotlinBuildScriptModelIntegrationTest` --- .../dsl/integration/KotlinBuildScriptModelIntegrationTest.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt index 1590edd7f..443f256d4 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt @@ -232,7 +232,6 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { assertContainsBuildSrc(classPath) assertContainsGradleKotlinDslJars(classPath) - assertExcludes(classPath, existing("classes.jar")) } From 35cc54ec620cea4a5b29f56e41e92ff97a750060 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Tue, 24 Oct 2017 00:13:39 -0200 Subject: [PATCH 055/115] Polish `KotlinBuildScriptCompiler` --- .../dsl/provider/KotlinBuildScriptCompiler.kt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt index 28093c1d6..5f63ebb6d 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt @@ -28,9 +28,10 @@ import org.gradle.internal.classpath.DefaultClassPath import org.gradle.kotlin.dsl.get import org.gradle.kotlin.dsl.support.EmbeddedKotlinProvider import org.gradle.kotlin.dsl.support.compilerMessageFor -import org.gradle.plugin.management.internal.DefaultPluginRequests +import org.gradle.plugin.management.internal.DefaultPluginRequests import org.gradle.plugin.management.internal.PluginRequests + import org.gradle.plugin.use.PluginDependenciesSpec import org.gradle.plugin.use.internal.PluginRequestCollector @@ -179,13 +180,17 @@ class KotlinBuildScriptCompiler( private fun executePluginsBlockOn(target: KotlinScriptTarget<*>) { - val pluginRequests = collectPluginRequestsFromPluginsBlock(target) + val pluginRequests = pluginRequestsFor(target) applyPluginsTo(target, pluginRequests) } private - fun collectPluginRequestsFromPluginsBlock(target: KotlinScriptTarget<*>): PluginRequests { - if (!target.supportsPluginsBlock) return DefaultPluginRequests.EMPTY + fun pluginRequestsFor(target: KotlinScriptTarget<*>): PluginRequests = + if (!target.supportsPluginsBlock) DefaultPluginRequests.EMPTY + else collectPluginRequestsFromPluginsBlock() + + private + fun collectPluginRequestsFromPluginsBlock(): PluginRequests { val pluginRequestCollector = PluginRequestCollector(scriptSource) executePluginsBlockOn(pluginRequestCollector) return pluginRequestCollector.pluginRequests From e368ace4ff18b28880d18b025de28ca14a442574 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Tue, 24 Oct 2017 00:20:39 -0200 Subject: [PATCH 056/115] Polish `KotlinBuildScriptCompiler` Flip if condition to avoid negation. --- .../gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt index 5f63ebb6d..b783d6a89 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt @@ -186,8 +186,8 @@ class KotlinBuildScriptCompiler( private fun pluginRequestsFor(target: KotlinScriptTarget<*>): PluginRequests = - if (!target.supportsPluginsBlock) DefaultPluginRequests.EMPTY - else collectPluginRequestsFromPluginsBlock() + if (target.supportsPluginsBlock) collectPluginRequestsFromPluginsBlock() + else DefaultPluginRequests.EMPTY private fun collectPluginRequestsFromPluginsBlock(): PluginRequests { From b5863b15526d0212b475d716ead2ab774462e1a2 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Mon, 23 Oct 2017 13:58:12 +0200 Subject: [PATCH 057/115] Coverage for application of Plugin --- .../GradleKotlinDslIntegrationTest.kt | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt index 585cab444..afafe3fb2 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt @@ -426,6 +426,33 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { containsString("*abc*")) } + @Test + fun `can apply buildSrc plugin to Settings`() { + + withBuildSrc() + + withFile("buildSrc/src/main/groovy/my/SettingsPlugin.groovy", """ + package my + + import org.gradle.api.* + import org.gradle.api.initialization.Settings + + class SettingsPlugin implements Plugin { + void apply(Settings settings) { + println("Settings plugin applied!") + } + } + """) + + withSettings(""" + apply { plugin(my.SettingsPlugin::class.java) } + """) + + assertThat( + build("help").output, + containsString("Settings plugin applied!")) + } + private fun assumeJavaLessThan9() { assumeTrue("Test disabled under JDK 9 and higher", JavaVersion.current() < JavaVersion.VERSION_1_9) From 9a92e20e9a217132f9448ccc7123f6d7ebeb86c0 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Mon, 23 Oct 2017 10:21:36 +0200 Subject: [PATCH 058/115] Tests run with strict classloading enabled --- buildSrc/src/main/kotlin/build/Testing.kt | 8 ++++++++ buildSrc/src/main/kotlin/plugins/GskModule.kt | 2 ++ 2 files changed, 10 insertions(+) diff --git a/buildSrc/src/main/kotlin/build/Testing.kt b/buildSrc/src/main/kotlin/build/Testing.kt index acc27172b..922eee356 100644 --- a/buildSrc/src/main/kotlin/build/Testing.kt +++ b/buildSrc/src/main/kotlin/build/Testing.kt @@ -1,10 +1,18 @@ package build import org.gradle.api.Project +import org.gradle.api.internal.initialization.DefaultClassLoaderScope import org.gradle.api.tasks.testing.Test import org.gradle.api.tasks.testing.logging.TestExceptionFormat +fun Project.withTestStrictClassLoading() { + tasks.withType(Test::class.java) { test -> + test.systemProperty(DefaultClassLoaderScope.STRICT_MODE_PROPERTY, true) + } +} + + fun Project.withTestWorkersMemoryLimits(min: String = "64m", max: String = "128m") { tasks.withType(Test::class.java) { test -> test.jvmArgs("-Xms$min", "-Xmx$max") diff --git a/buildSrc/src/main/kotlin/plugins/GskModule.kt b/buildSrc/src/main/kotlin/plugins/GskModule.kt index a110c961f..df177afcc 100644 --- a/buildSrc/src/main/kotlin/plugins/GskModule.kt +++ b/buildSrc/src/main/kotlin/plugins/GskModule.kt @@ -1,6 +1,7 @@ package plugins import build.kotlinDslDebugPropertyName +import build.withTestStrictClassLoading import build.withTestWorkersMemoryLimits import org.gradle.api.Plugin @@ -52,6 +53,7 @@ open class GskModule : Plugin { } } + withTestStrictClassLoading() withTestWorkersMemoryLimits() } } From 390140d74665ca2327853107f89de4237c1017ae Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Mon, 23 Oct 2017 13:55:50 +0200 Subject: [PATCH 059/115] Settings can use buildscript dependencies By moving kotlin script target decision up to the script plugin factory in order to distinguish Project & Settings sub-block templates (buildscript {} & plugins {}). The script template now contributes to the compiled script cache key. One side benefit is that now, script plugins can be applied to either a Project or Settings. --- .../gradle/kotlin/dsl/KotlinSettingsScript.kt | 8 ++ .../dsl/provider/CachingKotlinCompiler.kt | 18 ++-- .../dsl/provider/KotlinBuildScriptCompiler.kt | 92 +++++++++---------- .../dsl/provider/KotlinScriptPluginFactory.kt | 25 ++++- .../kotlin/dsl/provider/KotlinScriptTarget.kt | 26 ++++-- .../dsl/support/KotlinBuildscriptBlock.kt | 20 +++- .../GradleKotlinDslIntegrationTest.kt | 55 ++++++++++- 7 files changed, 170 insertions(+), 74 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt index 884865026..b483e5519 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt @@ -32,6 +32,14 @@ import kotlin.script.templates.ScriptTemplateDefinition @SamWithReceiverAnnotations("org.gradle.api.HasImplicitReceiver") abstract class KotlinSettingsScript(settings: Settings) : Settings by settings { + /** + * Configures the build script classpath for settings. + * + * @see [Settings.buildscript] + */ + @Suppress("unused") + open fun buildscript(@Suppress("unused_parameter") block: ScriptHandlerScope.() -> Unit) = Unit + inline fun apply(crossinline configuration: ObjectConfigurationAction.() -> Unit) = settings.apply({ it.configuration() }) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/CachingKotlinCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/CachingKotlinCompiler.kt index ff260fa0d..f13fd0fb5 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/CachingKotlinCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/CachingKotlinCompiler.kt @@ -26,8 +26,6 @@ import org.gradle.kotlin.dsl.cache.ScriptCache import org.gradle.kotlin.dsl.support.loggerFor import org.gradle.kotlin.dsl.support.ImplicitImports -import org.gradle.kotlin.dsl.support.KotlinBuildscriptBlock -import org.gradle.kotlin.dsl.support.KotlinPluginsBlock import org.gradle.kotlin.dsl.support.compileKotlinScriptToDirectory import org.gradle.kotlin.dsl.support.messageCollectorFor @@ -62,15 +60,16 @@ class CachingKotlinCompiler( val cacheProperties = mapOf("version" to "6") fun compileBuildscriptBlockOf( + buildscriptBlockTemplate: KClass, scriptPath: String, buildscript: String, classPath: ClassPath, parentClassLoader: ClassLoader): CompiledScript { - val scriptFileName = scriptFileNameFor(scriptPath) + val scriptFileName = scriptFileNameFor(buildscriptBlockTemplate, scriptPath) return compileScript(cacheKeyPrefix + scriptFileName + buildscript, classPath, parentClassLoader) { cacheDir -> ScriptCompilationSpec( - KotlinBuildscriptBlock::class, + buildscriptBlockTemplate, scriptPath, cacheFileFor(buildscript, cacheDir, scriptFileName), scriptFileName + " buildscript block") @@ -80,17 +79,18 @@ class CachingKotlinCompiler( data class CompiledScript(val location: File, val className: String) fun compilePluginsBlockOf( + pluginsBlockTemplate: KClass, scriptPath: String, lineNumberedPluginsBlock: Pair, classPath: ClassPath, parentClassLoader: ClassLoader): CompiledPluginsBlock { val (lineNumber, plugins) = lineNumberedPluginsBlock - val scriptFileName = scriptFileNameFor(scriptPath) + val scriptFileName = scriptFileNameFor(pluginsBlockTemplate, scriptPath) val compiledScript = compileScript(cacheKeyPrefix + scriptFileName + plugins, classPath, parentClassLoader) { cacheDir -> ScriptCompilationSpec( - KotlinPluginsBlock::class, + pluginsBlockTemplate, scriptPath, cacheFileFor(plugins, cacheDir, scriptFileName), scriptFileName + " plugins block") @@ -107,7 +107,7 @@ class CachingKotlinCompiler( classPath: ClassPath, parentClassLoader: ClassLoader): CompiledScript { - val scriptFileName = scriptFileNameFor(scriptPath) + val scriptFileName = scriptFileNameFor(scriptTemplate, scriptPath) return compileScript(cacheKeyPrefix + scriptFileName + script, classPath, parentClassLoader) { cacheDir -> ScriptCompilationSpec( scriptTemplate, @@ -118,8 +118,8 @@ class CachingKotlinCompiler( } private - fun scriptFileNameFor(scriptPath: String) = - scriptPath.substringAfterLast(File.separatorChar) + fun scriptFileNameFor(scriptTemplate: KClass<*>, scriptPath: String) = + "${scriptTemplate.qualifiedName}_${scriptPath.substringAfterLast(File.separatorChar)}" private fun compileScript( diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt index 75dd80b74..acfbb236a 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt @@ -51,6 +51,7 @@ typealias KotlinScript = (Any) -> Unit internal class KotlinBuildScriptCompiler( val kotlinCompiler: CachingKotlinCompiler, + val scriptTarget: KotlinScriptTarget, val scriptSource: ScriptSource, val topLevelScript: Boolean, val scriptHandler: ScriptHandlerInternal, @@ -79,53 +80,52 @@ class KotlinBuildScriptCompiler( } fun compileForClassPath() = - asKotlinScript { target -> - ignoringErrors { executeBuildscriptBlockOn(target) } - ignoringErrors { prepareTargetClassLoaderScopeOf(target) } - ignoringErrors { executeScriptBodyOn(target) } + asKotlinScript { + ignoringErrors { executeBuildscriptBlock() } + ignoringErrors { prepareTargetClassLoaderScope() } + ignoringErrors { executeScriptBody() } } private fun compileTopLevelScript() = - asKotlinScript { target -> + asKotlinScript { withUnexpectedBlockHandling { - executeBuildscriptBlockOn(target) - prepareAndExecuteScriptBodyOn(target) + executeBuildscriptBlock() + prepareAndExecuteScriptBody() } } private fun compileScriptPlugin() = - asKotlinScript { target -> + asKotlinScript { withUnexpectedBlockHandling { - prepareAndExecuteScriptBodyOn(target) + prepareAndExecuteScriptBody() } } private - fun asKotlinScript(script: (KotlinScriptTarget<*>) -> Unit): KotlinScript = { target -> - val scriptTarget = kotlinScriptTargetFor(target) + fun asKotlinScript(script: () -> Unit): KotlinScript = { scriptTarget.prepare() - script(scriptTarget) + script() } private - fun prepareAndExecuteScriptBodyOn(target: KotlinScriptTarget<*>) { - prepareTargetClassLoaderScopeOf(target) - executeScriptBodyOn(target) + fun prepareAndExecuteScriptBody() { + prepareTargetClassLoaderScope() + executeScriptBody() } private - fun executeScriptBodyOn(target: KotlinScriptTarget<*>) { - val accessorsClassPath = accessorsClassPathFor(target) - val compiledScript = compileScriptFileFor(target, compilationClassPath + accessorsClassPath) + fun executeScriptBody() { + val accessorsClassPath = accessorsClassPath() + val compiledScript = compileScriptFileFor(compilationClassPath + accessorsClassPath) val scriptScope = scriptClassLoaderScopeWith(accessorsClassPath) - executeCompiledScript(compiledScript, scriptScope, target) + executeCompiledScript(compiledScript, scriptScope) } private - fun accessorsClassPathFor(target: KotlinScriptTarget<*>): ClassPath = - target.takeIf { topLevelScript }?.accessorsClassPathFor(compilationClassPath)?.bin + fun accessorsClassPath(): ClassPath = + scriptTarget.takeIf { topLevelScript }?.accessorsClassPathFor(compilationClassPath)?.bin ?: ClassPath.EMPTY private @@ -133,19 +133,19 @@ class KotlinBuildScriptCompiler( targetScope.createChild("script").apply { local(accessorsClassPath) } private - fun executeBuildscriptBlockOn(target: KotlinScriptTarget<*>) { + fun executeBuildscriptBlock() { setupEmbeddedKotlinForBuildscript() - if (target.supportsBuildscriptBlock) { + if (scriptTarget.supportsBuildscriptBlock) { extractBuildscriptBlockFrom(script)?.let { buildscriptRange -> - executeBuildscriptBlockOn(target, buildscriptRange) + executeBuildscriptBlockFrom(buildscriptRange) } } } private - fun executeBuildscriptBlockOn(target: KotlinScriptTarget<*>, buildscriptRange: IntRange) { + fun executeBuildscriptBlockFrom(buildscriptRange: IntRange) { val compiledScript = compileBuildscriptBlock(buildscriptRange) - executeCompiledScript(compiledScript, buildscriptBlockClassLoaderScope(), target) + executeCompiledScript(compiledScript, buildscriptBlockClassLoaderScope()) } private @@ -163,30 +163,26 @@ class KotlinBuildScriptCompiler( } private - fun executeCompiledScript( - compiledScript: CachingKotlinCompiler.CompiledScript, - scope: ClassLoaderScope, - target: KotlinScriptTarget<*>) { - + fun executeCompiledScript(compiledScript: CachingKotlinCompiler.CompiledScript, scope: ClassLoaderScope) { val scriptClass = classFrom(compiledScript, scope) - executeScriptWithContextClassLoader(scriptClass, target) + executeScriptWithContextClassLoader(scriptClass) } private - fun prepareTargetClassLoaderScopeOf(target: KotlinScriptTarget<*>) { + fun prepareTargetClassLoaderScope() { targetScope.export(classPathProvider.gradleApiExtensions) - executePluginsBlockOn(target) + executePluginsBlock() } private - fun executePluginsBlockOn(target: KotlinScriptTarget<*>) { - val pluginRequests = pluginRequestsFor(target) - applyPluginsTo(target, pluginRequests) + fun executePluginsBlock() { + val pluginRequests = pluginRequests() + applyPlugins(pluginRequests) } private - fun pluginRequestsFor(target: KotlinScriptTarget<*>): PluginRequests = - if (target.supportsPluginsBlock) collectPluginRequestsFromPluginsBlock() + fun pluginRequests(): PluginRequests = + if (scriptTarget.supportsPluginsBlock) collectPluginRequestsFromPluginsBlock() else DefaultPluginRequests.EMPTY private @@ -226,14 +222,15 @@ class KotlinBuildScriptCompiler( extractTopLevelSectionFrom(script, "plugins") private - fun applyPluginsTo(target: KotlinScriptTarget<*>, pluginRequests: PluginRequests) { + fun applyPlugins(pluginRequests: PluginRequests) { pluginRequestsHandler.handle( - pluginRequests, scriptHandler, target.`object` as PluginAwareInternal, targetScope) + pluginRequests, scriptHandler, scriptTarget.`object` as PluginAwareInternal, targetScope) } private fun compileBuildscriptBlock(buildscriptRange: IntRange) = kotlinCompiler.compileBuildscriptBlockOf( + scriptTarget.buildscriptBlockTemplate!!, scriptPath, script.linePreservingSubstring(buildscriptRange), buildscriptBlockCompilationClassPath, @@ -242,15 +239,16 @@ class KotlinBuildScriptCompiler( private fun compilePluginsBlock(pluginsRange: IntRange) = kotlinCompiler.compilePluginsBlockOf( + scriptTarget.pluginsBlockTemplate!!, scriptPath, script.linePreservingSubstring_(pluginsRange), pluginsBlockCompilationClassPath, baseScope.exportClassLoader) private - fun compileScriptFileFor(target: KotlinScriptTarget<*>, classPath: ClassPath) = + fun compileScriptFileFor(classPath: ClassPath) = kotlinCompiler.compileGradleScript( - target.scriptTemplate, + scriptTarget.scriptTemplate, scriptPath, script, classPath, @@ -270,16 +268,16 @@ class KotlinBuildScriptCompiler( } private - fun executeScriptWithContextClassLoader(scriptClass: Class<*>, target: KotlinScriptTarget<*>) { + fun executeScriptWithContextClassLoader(scriptClass: Class<*>) { withContextClassLoader(scriptClass.classLoader) { - executeScriptOf(scriptClass, target) + executeScriptOf(scriptClass) } } private - fun executeScriptOf(scriptClass: Class<*>, target: KotlinScriptTarget<*>) { + fun executeScriptOf(scriptClass: Class<*>) { try { - instantiate(scriptClass, target.type, target.`object`) + instantiate(scriptClass, scriptTarget.type, scriptTarget.`object`) } catch (e: InvocationTargetException) { throw e.targetException } diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginFactory.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginFactory.kt index 7294cecf9..368034947 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginFactory.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptPluginFactory.kt @@ -25,7 +25,6 @@ import org.gradle.configuration.ScriptPluginFactory import org.gradle.groovy.scripts.ScriptSource -import org.gradle.plugin.use.internal.PluginRequestApplicator import org.gradle.kotlin.dsl.support.EmbeddedKotlinProvider import javax.inject.Inject @@ -44,15 +43,29 @@ class KotlinScriptPluginFactory @Inject internal constructor( KotlinScriptPlugin( scriptSource, - compile(scriptSource, scriptHandler, targetScope, baseScope, topLevelScript)) + createScriptAction(scriptSource, scriptHandler, targetScope, baseScope, topLevelScript)) private - fun compile( + fun createScriptAction( scriptSource: ScriptSource, scriptHandler: ScriptHandler, targetScope: ClassLoaderScope, baseScope: ClassLoaderScope, - topLevelScript: Boolean): (Any) -> Unit = + topLevelScript: Boolean): (Any) -> Unit = { target -> + + val scriptTarget = kotlinScriptTargetFor(target) + val script = compile(scriptTarget, scriptSource, scriptHandler, targetScope, baseScope, topLevelScript) + script(scriptTarget.`object`) + } + + private fun compile( + scriptTarget: KotlinScriptTarget, + scriptSource: ScriptSource, + scriptHandler: ScriptHandler, + targetScope: ClassLoaderScope, + baseScope: ClassLoaderScope, + topLevelScript: Boolean): KotlinScript = + + compilerFor(scriptTarget, scriptSource, scriptHandler, targetScope, baseScope, topLevelScript).run { - compilerFor(scriptSource, scriptHandler, targetScope, baseScope, topLevelScript).run { if (topLevelScript && inClassPathMode()) compileForClassPath() else @@ -61,12 +74,14 @@ class KotlinScriptPluginFactory @Inject internal constructor( private fun compilerFor( + scriptTarget: KotlinScriptTarget, scriptSource: ScriptSource, scriptHandler: ScriptHandler, targetScope: ClassLoaderScope, baseScope: ClassLoaderScope, topLevelScript: Boolean) = KotlinBuildScriptCompiler( kotlinCompiler, + scriptTarget, scriptSource, topLevelScript, scriptHandler as ScriptHandlerInternal, pluginRequestsHandler, diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt index 3d6e1a22d..0cecaa5bb 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt @@ -23,6 +23,10 @@ import org.gradle.internal.classpath.ClassPath import org.gradle.kotlin.dsl.KotlinBuildScript import org.gradle.kotlin.dsl.KotlinSettingsScript +import org.gradle.kotlin.dsl.support.KotlinBuildscriptBlock +import org.gradle.kotlin.dsl.support.KotlinPluginsBlock +import org.gradle.kotlin.dsl.support.KotlinSettingsBuildscriptBlock + import org.gradle.kotlin.dsl.accessors.AccessorsClassPath import org.gradle.kotlin.dsl.accessors.accessorsClassPathFor @@ -33,7 +37,7 @@ import kotlin.reflect.KClass internal -fun kotlinScriptTargetFor(target: Any): KotlinScriptTarget<*> = +fun kotlinScriptTargetFor(target: Any): KotlinScriptTarget = when (target) { is Project -> projectScriptTarget(target) is Settings -> settingsScriptTarget(target) @@ -50,20 +54,21 @@ private fun settingsScriptTarget(settings: Settings) = KotlinScriptTarget( settings, + rootDir = settings.rootDir, type = Settings::class, scriptTemplate = KotlinSettingsScript::class, - rootDir = settings.rootDir) + buildscriptBlockTemplate = KotlinSettingsBuildscriptBlock::class) private -fun projectScriptTarget(project: Project) = +fun projectScriptTarget(project: Project): KotlinScriptTarget = KotlinScriptTarget( project, + rootDir = project.rootDir, type = Project::class, scriptTemplate = KotlinBuildScript::class, - rootDir = project.rootDir, - supportsBuildscriptBlock = true, - supportsPluginsBlock = true, + buildscriptBlockTemplate = KotlinBuildscriptBlock::class, + pluginsBlockTemplate = KotlinPluginsBlock::class, accessorsClassPath = { accessorsClassPathFor(project, it) }, prepare = { project.run { @@ -77,13 +82,16 @@ fun projectScriptTarget(project: Project) = internal data class KotlinScriptTarget( val `object`: T, + val rootDir: File, val type: KClass, val scriptTemplate: KClass<*>, - val rootDir: File, - val supportsBuildscriptBlock: Boolean = false, - val supportsPluginsBlock: Boolean = false, + val buildscriptBlockTemplate: KClass<*>? = null, + val pluginsBlockTemplate: KClass<*>? = null, val accessorsClassPath: (ClassPath) -> AccessorsClassPath? = { null }, val prepare: () -> Unit = {}) { + val supportsBuildscriptBlock = buildscriptBlockTemplate != null + val supportsPluginsBlock = pluginsBlockTemplate != null + fun accessorsClassPathFor(classPath: ClassPath) = accessorsClassPath(classPath) } diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinBuildscriptBlock.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinBuildscriptBlock.kt index 1fc391103..47f0a56b5 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinBuildscriptBlock.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinBuildscriptBlock.kt @@ -17,13 +17,15 @@ package org.gradle.kotlin.dsl.support import org.gradle.kotlin.dsl.KotlinBuildScript +import org.gradle.kotlin.dsl.KotlinSettingsScript import org.gradle.kotlin.dsl.ScriptHandlerScope import org.gradle.api.Project +import org.gradle.api.initialization.Settings /** - * Base class for `buildscript` block evaluation. + * Base class for `buildscript` block evaluation on scripts targeting Project. */ abstract class KotlinBuildscriptBlock(project: Project) : KotlinBuildScript(project) { @@ -36,3 +38,19 @@ abstract class KotlinBuildscriptBlock(project: Project) : KotlinBuildScript(proj ScriptHandlerScope(project.buildscript).block() } } + + +/** + * Base class for `buildscript` block evaluation on scripts targeting Settings. + */ +abstract class KotlinSettingsBuildscriptBlock(settings: Settings) : KotlinSettingsScript(settings) { + + /** + * Configures the build script classpath for settings. + * + * @see [Settings.buildscript] + */ + override fun buildscript(block: ScriptHandlerScope.() -> Unit) { + ScriptHandlerScope(settings.buildscript).block() + } +} diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt index afafe3fb2..6a334c46f 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt @@ -421,9 +421,58 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { """) - assertThat( - build("help").output, - containsString("*abc*")) + assertThat( + build("help").output, + containsString("*abc*")) + } + + @Test + fun `settings script can use buildscript dependencies`() { + + withSettings(""" + buildscript { + repositories { jcenter() } + dependencies { + classpath("org.apache.commons:commons-lang3:3.6") + } + } + + println(org.apache.commons.lang3.StringUtils.reverse("Gradle")) + """) + + assertThat( + build("help").output, + containsString("eldarG")) + } + + @Test + fun `script plugin can by applied to either Project or Settings`() { + + withFile("common.gradle.kts", """ + println("Target is Settings? ${"$"}{Settings::class.java.isAssignableFrom(this::class.java)}") + println("Target is Project? ${"$"}{Project::class.java.isAssignableFrom(this::class.java)}") + """) + + withSettings(""" + apply { from("common.gradle.kts") } + """) + + assertThat( + build("help").output, + allOf( + containsString("Target is Settings? true"), + containsString("Target is Project? false"))) + + withSettings("") + withBuildScript(""" + apply { from("common.gradle.kts") } + """) + + assertThat( + build("help").output, + allOf( + containsString("Target is Settings? false"), + containsString("Target is Project? true"))) } @Test From 82ab376244ef1997ef97155531fdf7a450250348 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Sun, 22 Oct 2017 11:55:54 +0200 Subject: [PATCH 060/115] Source control sample --- .../dsl/samples/SourceControlSampleTest.kt | 21 +++ samples/README.md | 1 + samples/source-control/README.md | 24 +++ .../source-control/external/build.gradle.kts | 60 +++++++ .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 52804 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + samples/source-control/external/gradlew | 169 ++++++++++++++++++ samples/source-control/external/gradlew.bat | 84 +++++++++ .../external/settings.gradle.kts | 1 + .../src/main/java/compute/DeepThought.java | 7 + .../source-control/sample/build.gradle.kts | 16 ++ .../sample/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 52804 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + samples/source-control/sample/gradlew | 169 ++++++++++++++++++ samples/source-control/sample/gradlew.bat | 84 +++++++++ .../source-control/sample/settings.gradle.kts | 11 ++ .../src/main/java/samples/HelloWorld.java | 15 ++ .../dsl/fixtures/AbstractIntegrationTest.kt | 5 + 18 files changed, 677 insertions(+) create mode 100644 samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/SourceControlSampleTest.kt create mode 100644 samples/source-control/README.md create mode 100644 samples/source-control/external/build.gradle.kts create mode 100644 samples/source-control/external/gradle/wrapper/gradle-wrapper.jar create mode 100644 samples/source-control/external/gradle/wrapper/gradle-wrapper.properties create mode 100755 samples/source-control/external/gradlew create mode 100644 samples/source-control/external/gradlew.bat create mode 100644 samples/source-control/external/settings.gradle.kts create mode 100644 samples/source-control/external/src/main/java/compute/DeepThought.java create mode 100644 samples/source-control/sample/build.gradle.kts create mode 100644 samples/source-control/sample/gradle/wrapper/gradle-wrapper.jar create mode 100644 samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties create mode 100755 samples/source-control/sample/gradlew create mode 100644 samples/source-control/sample/gradlew.bat create mode 100644 samples/source-control/sample/settings.gradle.kts create mode 100644 samples/source-control/sample/src/main/java/samples/HelloWorld.java diff --git a/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/SourceControlSampleTest.kt b/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/SourceControlSampleTest.kt new file mode 100644 index 000000000..6e5dc667b --- /dev/null +++ b/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/SourceControlSampleTest.kt @@ -0,0 +1,21 @@ +package org.gradle.kotlin.dsl.samples + +import org.hamcrest.CoreMatchers.containsString +import org.junit.Assert.assertThat +import org.junit.Test + +class SourceControlSampleTest : AbstractSampleTest("source-control") { + + @Test + fun `source dependencies mapping`() { + + val externalDir = existing("external") + val sampleDir = existing("sample") + + build(externalDir, "generateGitRepo") + + assertThat( + build(sampleDir, "run").output, + containsString("The answer to the ultimate question of Life, the Universe and Everything is 42.")) + } +} diff --git a/samples/README.md b/samples/README.md index 849e71012..9b8d3f039 100644 --- a/samples/README.md +++ b/samples/README.md @@ -31,6 +31,7 @@ The Gradle projects in this directory demonstrate typical use cases with and fea - [`project-properties`](./project-properties): demonstrates project property access via [delegated properties](https://kotlinlang.org/docs/reference/delegated-properties.html) - [`project-with-buildSrc`](./project-with-buildSrc): demonstrates a single-project build with custom build logic in `buildSrc` - [`provider-properties`](./provider-properties): demonstrates usage of lazily evaluated properties to [map extension properties to task properties](https://docs.gradle.org/4.0-milestone-2/userguide/custom_plugins.html#sec:mapping_extension_properties_to_task_properties) + - [`source-control`](./source-control): demonstrates how to use external source dependencies - [`task-dependencies`](./task-dependencies): demonstrates explicit configuration of task dependencies Set up dev environment diff --git a/samples/source-control/README.md b/samples/source-control/README.md new file mode 100644 index 000000000..b3f6a8abf --- /dev/null +++ b/samples/source-control/README.md @@ -0,0 +1,24 @@ +source-control +============== + +A project that depend on external sources: + + 1. [external/](./external) implements the main algorithm to compute the answer to the ultimate question of Life, the Universe and Everything + 2. [sample/](./sample) implements the command line interface + +This sample uses a local Git repository, a realistic example would use a remote one. + +**Run `cd external && ./gradlew generateGitRepo` first** to generate the local repository. + +Then run with: + + cd sample + ./gradlew run + +And check compilation dependencies with: + + cd sample + ./gradlew dependencies --configuration compileClasspath + +See [sample/settings.gradle.kts](./sample/settings.gradle.kts). + diff --git a/samples/source-control/external/build.gradle.kts b/samples/source-control/external/build.gradle.kts new file mode 100644 index 000000000..3e96d5f30 --- /dev/null +++ b/samples/source-control/external/build.gradle.kts @@ -0,0 +1,60 @@ +import org.eclipse.jgit.api.Git + +buildscript { + repositories { jcenter() } + dependencies { + classpath("org.eclipse.jgit:org.eclipse.jgit:4.9.0.201710071750-r") + } +} + +plugins { + java +} + +group = "org.gradle.kotlin.dsl.samples.source-control" +version = "1.0" + +tasks { + "generateGitRepo" { + + inputs.dir("src") + inputs.files("build.gradle.kts", "settings.gradle.kts") + + val gitRepoDir = file("$buildDir/git-repo") + outputs.dir(gitRepoDir) + + doLast { + delete(gitRepoDir) + delete(temporaryDir) + + val bare = Git.init() + .setDirectory(gitRepoDir) + .setBare(true) + .call() + + val clone = Git.cloneRepository() + .setURI(bare.repository.directory.toURI().toString()) + .setDirectory(temporaryDir) + .call() + copy { + from(".") { + include("src/**") + include("*.gradle.kts") + } + into(temporaryDir) + } + + clone.add() + .addFilepattern("build.gradle.kts") + .addFilepattern("settings.gradle.kts") + .addFilepattern("src") + .call() + clone.commit() + .setMessage("Initial import") + .setAuthor("name", "email") + .call() + + clone.push().call() + } + } +} diff --git a/samples/source-control/external/gradle/wrapper/gradle-wrapper.jar b/samples/source-control/external/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..d4046a6637410b7fe15a04b5b0746c0ba4b7a365 GIT binary patch literal 52804 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 P6A%($1542Q?YI929T5o( literal 0 HcmV?d00001 diff --git a/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties b/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 000000000..f11a81f7d --- /dev/null +++ b/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/source-control/external/gradlew b/samples/source-control/external/gradlew new file mode 100755 index 000000000..9aa616c27 --- /dev/null +++ b/samples/source-control/external/gradlew @@ -0,0 +1,169 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [[ "$(uname)" == "Darwin" ]] && [[ "$HOME" == "$PWD" ]]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/samples/source-control/external/gradlew.bat b/samples/source-control/external/gradlew.bat new file mode 100644 index 000000000..e95643d6a --- /dev/null +++ b/samples/source-control/external/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/samples/source-control/external/settings.gradle.kts b/samples/source-control/external/settings.gradle.kts new file mode 100644 index 000000000..f382b3128 --- /dev/null +++ b/samples/source-control/external/settings.gradle.kts @@ -0,0 +1 @@ +rootProject.name = "compute" diff --git a/samples/source-control/external/src/main/java/compute/DeepThought.java b/samples/source-control/external/src/main/java/compute/DeepThought.java new file mode 100644 index 000000000..40e0ee633 --- /dev/null +++ b/samples/source-control/external/src/main/java/compute/DeepThought.java @@ -0,0 +1,7 @@ +package compute; + +public class DeepThought { + public static int compute() { + return 42; + } +} diff --git a/samples/source-control/sample/build.gradle.kts b/samples/source-control/sample/build.gradle.kts new file mode 100644 index 000000000..ab432a08a --- /dev/null +++ b/samples/source-control/sample/build.gradle.kts @@ -0,0 +1,16 @@ +plugins { + application +} + +application { + mainClassName = "samples.HelloWorld" +} + +java { + sourceCompatibility = JavaVersion.VERSION_1_7 + targetCompatibility = JavaVersion.VERSION_1_7 +} + +dependencies { + implementation("org.gradle.kotlin.dsl.samples.source-control:compute:latest.integration") +} diff --git a/samples/source-control/sample/gradle/wrapper/gradle-wrapper.jar b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..d4046a6637410b7fe15a04b5b0746c0ba4b7a365 GIT binary patch literal 52804 zcmZ^Kb8x3kw{4P%or!JRwr$(CJ<%_=ZQGdGwryu(>(03cb-wSux9jQWuhmt%t9Naz zT3bQ-2PiZU5F{kfdESWx(BB2}AHTl~>hG2nRS~3>loO->0i^IRK-DhfYvsQHtG^rN ze*E__1X{n|sXBw3l7MXXC?j~tRC8uPks3mEDq0a#( zDThT`lx^swC5J^uqy5cT7nrA*r&yR68JKCVVq^L*(0{)?^1njeoeUiuOr8FpBkNzGz$1`AKuLe`6#slg z{XdV2dYBr!y4X9>8QT~-J147$dn2zPeOJfRcxu9qV$?B)1N{(6V03RwK*3htd{dys zwptk0l(zN`uR^Uv-DR;9@+vyhU2h`nlJ^>EGMH?n|hx-k`SC5E?a4^Mmej@@YKMuK{1q&sAJFP9`VU1xAvvj{6A$nF3JdcO zE)E7h<~g=J99)SP03c2(@+MbNx-^}Yk$WzqU6PZ_MPMk|8c(lfwary>ER_+wO!ccq z_zVw0h?UvZ;-xIKy(1!>&&$GRD?y%o2x|zrxJL@{gZvD;h`m6|^HH z5-wG1iJ-jZ%vyc790sx%D5p=qoh?oK7NIN3ahD^LB#=qLF&SN3692#cV0#=?>7ky}&Z@s;RPRq0M9E|_2=FO^|Fsl1Ca zQp_T-q05d@Ue^u_gQ8|_C7^8Gl_(5{f)T!Kp?glvsfAa7hk}u-ntv#hAen-2+gUrj^cYiZjX$;N%>H zq4&6&NZ+9%ExZ?HPm`j9%c`V=3iJkq9chtdM^cSDQFFDRGjn#(BLVz8m1 z3BLUXGb%`wDp;#`M`&)LnKQd4ADX1>UtwWjs~ri_VBxvbF@#oC0Cg{0cHc!*lX+QtL>cieL_yHNIMtE?EfkWog&c)iU%tH?oL8NX_LNh8x>1Ytw99;W z6UIx|Xws}pJd9bYDt}*5RaTULPYZIoN89vjYl*eNE(f{NLpw#Lboe2#T8_>OD$_WK z8z(btr@a|oK64oJOAblVf*{SsOzYrJckmA68_}q?TaYt9D3!j^RE@{_bSo@wo;9o% z_)zmti|6|Ye32TaJEr6J&B)3dLqsz&^SaXNR)31Idsry#ePS_^g)KjX&HZ$J`Uh`~ zv6=!>AG_zzs4_?Vi_;5##?Ns}0T{gAAd#+!GA zIbJ+3VxrAFOWZv?TC?+Y7J9-h-&682;DQcCdFnh<;Q3RKbFqVXQBzPfL>$_}?x@+U zU)V)+Xq&+((Gk9owaBw@7*4?WLJ~I#x1PbdBj;c&QDTR^(i%J+6gl0{#Zjay8k(E( z;>2ik801l)>$7`v$u65f{4p(bX9Qzl7Upz%V#Is2q@AYfbv!wpff789V6sq5`ykWg z3F`Gke(4;hEHlQ%8e(d1TaCfo6kOaB z7VSF5c?a8LYrN_8Vtv#4{IUjsxxRr2aR$LQW6@97m5H2y3)GE3M?^?Y9I~bbsyO@- zG#rf<=kR&gSnjG#&vbC7u2Aws@I`4ogOmg3_n0z{=LEU6DQS=AI8)0u)kH*kGX1*o z!2J=b$Z>6kq_8LEa0k0M0@&mJu>VBOdnMeD{oS!(gg{gmKicAH(*w+jx2856a{#l- zNtN<@d{sA-?6b%PNVcdUf$RdO7*&#a7VcgcT&2>FTau0FS^sSGkH)ZF!Ae%{$)| zsW-)lA>+fo0}WZtRRDSTcM^HbRSoTbd@;10T+z%#G1b8@d11>{*j*^if+<$WTgP8{ z3$|iEbUN9!?PPIsoXiu}{9A`5|E(Np|G5|vvbT3} zcKKTo$r@VPDZ3atxtRV}MHH>3slB0w$lKolR`Ijfh7r^O1SNAwPFV^&j|D2E4kN)J zg{vsCj$TY8rHlsoG=E=F%g(n)WqCPsa1vN_Nh1x9mcC<%aI#GKIB8~F6%*-Z$2)JR55 zWgsa;vi`YjYGa_>5Ai7Bz#jWjHxxSZ_@Xc@{-V)O{;2Tkq%DS?@KXuIM>!*ZZ2^QQ z{{{f$I4r{m9L+doK;1sc*0{WAn@#eSmag&$w>1CKO@MNxOG{0F!(8pcVp~p`Et;!! z{>9f=;4Zr`z22m$#!75gnKD%+3A|0C4}FSYJM^^pgSDbkj0>xkc1l9N%)w9Bc?vI6>tIEVVIfS;VS2ku5A{ywTWmDXN z*|byx=ZQ+5+8)tnP#{4Kr3XYSsEbY<7qC>hSRefSPd8MH)x;Z-fS4$dAOyj*pHHYh z(9(ivF63UPSfZO1q7NVkqrB!b^%SFfzh>_jk*gyvDLo>Dfn`tj-#5HfprFK|`36oz zO+r{^Lspt?WAypMrk% zeZMxHMrZw?7Cda8dQ_!yQKr!G+CnFrpl(*Ei&E7b9&M;5S{c%6ElJ1aA77_Y{;G?> zqmt*SO;|%viNsX7cBqFyA=Y(>U=K{_sJYUTDK>YfOmA!}-0yCtsiHpGZJf+0zy07A zu7zC5Tj;p?f)HAoDvdA*(5ffhtZ_7}JePS&iSpi==tmLR zvx@)K9l@p)RFnwWk)tz%ZAhWBBuzrpRd5Hclk?R`wxvQ@$c(vE5-NbVVO9KugtW;> z%Tz(2K^)5pnIl?r=JR9a^m`fM>t0}&HhTD?DRQ1>_7ay1a1)5;dRjPl0?9oqU$~ED z093mm6N^mPupjzO#vOh`=u3LRbxzH|f%InN=x>AIhx#t3%n zVQN+wAE*m{(i2?@m`p!}@largH`!xM9ocSQwgHPe z&dt?6-Y$!TNOGHu{y|=0bc<2+VXo69VtKHx=L+M>(}gCsGwUfT($?sC<`mZw+1{zb zQ|A`q?(_qy``7czNx{uTkAHRn^Ovc-rCjSKO4koWo>yZL6k4Cc-`ekr7DW%7AtK~ z?KQ0{)rG-{if|Q30w{Tt5U3iu-zJ(iAL?BsR#x*Pd=KKRyaP(qqd~vN+Na#RosTCc zulf1?Ks5R*0u?96JPLLxb0otkAr17zbY8*{#p($5+5_W&x)8k-#gr^$`=z0zVH36A zp56qh^w-B~?28}f1?6T^+!k_O01oG?9IPx8b(LDv&a%Hd#u>JvsZATsqH?CtrMa>e(a?Q4 zOb4hiYA8S475+K5 zNlWdDQTS7}cZ)S(knD}QLWp%8MTpkpOZv0RZp?$8AlotSw9QuvU@=w0K(ig*zzgIk zkaG}<@n^()ahPW7P00`XPSm zPyKe6q(V+5s%}s8|LUedAcvdSf9Z=$N+2MDf6m&HcFrz_Ha7q1nc139J}O7e{N&8( z-03<5ph6hSNZ}?3+*pWkl5wkuadjAok7mbY?M%|0&JaH@)bQ1`t^iuCYE{ztDQb$6 zvlOe#Tg%HgcuRfpEayoLZ!@1*4rYPrVOXV@L1vi|(r=aT5RkhfAs^X~PW3^_-}>fR?a~Bx>Z3c>0FpGtEeG+}QNg^xzi~SxggkG&pn9LS#mTMa=kF8r|?+Vxoz1!BOJeNK( zcA~gkQ3FN+!kr2SewOXegY)1_NA7Qt?LQ!Y427FI`e(QgF;NYTphtczf=L%hqBzm( zQ%09NFbQzCX<|u}m7r{w-_!s-j&FiKj|KWEK2!ktXVj+5R32Sn-Ht6m>raTtSV{BL zWJW8}rY|PS^pzYh!DVW(>n$(NcRLDCRLEj$FE{J9bQ>OEmFzE5H)U(-szkc4G;5b2 zUF%J=)G#8+YiVt+SBWam9&wTBv&?N(XUZ&SBb&MFww8+)cx}-sUtBFsb*OnGQh&w| z)_Abwi>8^i%i35<#locOO`Ti*3ag(kQ^+}JG4TC^Lz7YR98y?bRIjXWEAj|%(2yrv zv2vVBsh*A&x`#slm1Q4-#9oywlbYfmrH5ZTHa1kVI(cX-BjQp5RV}7tFFnNN>RbpA zycHm-5@ok8A>28Wt6ehgb!OJ#jI=LMl)#6~>@Yi%6`MEW8c_|RokoVgV(L&XF~bah zxq}`#6DyFjA*z8qiD6dFVxqJ_0rp-vl^J^`V;*POCd6NwyR9AG8$pJrPd^ml$)y99^jpz1KoK*e z?07B5#_1frBvZttJK0SGYHEfU#u_RfANzD29r!@5X0`)(AG50uPZv`u0&%9JS|R`q%` z)hyLLW-n-hrM9SfqCrK-Cz`r|OFx>T8dtOGjMGUs+L_Q(N#2g?F> zCFZWvs8qtY3|45_k!E70)SB@QL?vC-rpIn9#zZL~MiE`oqNzdFh#}Y$1jpMTxI!c+ zC!-ZFGCmG6XV%4KILtE9K<-gEYM8gM5$=;^y!dD))NoOegyc$LC|@XPOgW<)8Yl0fO*^Q-gaF4Q|Ot^CJ&VoN)?p9thp>ApIqf=`Pz z%@G%oeyp~c|1x?@c6}2(XSt>riDVzr8V*4~B4GnvslLVrO&5}`8;IyBR>OVjv4UMp zsgW0(HMP3wPyI8EKbB!~kmO$P&Q6HRw(Zt-PO0O4SXD>$bBEy(M<5xtbM5yhGv-#V zTMbO_8-yOWPFyYRP;~nEA@uD2{e`JYPv1yDI}Iw`g#5-<`&(15eU(?~57V-^O2UG6Us++e z2$YbXf;+u#RK;v=LUJ|1;2iZAwq*O0+6o_to$@>YJZ=p z81ps`?Rta-In!3?r-p4AXV*QTN~8=%lc(s}FfryS6wT!1aiw4wa>j3wcO4C#=b9Iz^NM2Hjh6rxqdn}TKoO^#$FAti+A=-IRuPgc#@aNEM_AsiVlu+5F*JY89rFIm0MD;#FAiI_w321|cI6{MFXhcfabhe8F7`Bq}VG$~wXx?~N)BiV z%5{SzSutVE9X7Ck=J!)XjG>)D{m;VI76V1{ND`VI7u~47!}OJ3MyS4n_0?ZXKfs6G zI8F1$?eAt({388huoj!26wideLi+71KcodmYG1OWibobLsJ^lIj&~s4%%a?eJCKGp z7B`c!xJmpx)HefZPl?}x`g>Gg-FVg~1BlAPw3V@EZm=d)uh#vPX~b^?5Ju0ppI z^;e0)YF&F$EWbS0GDEg<+b%IJo0Zk3yYTKU&l+WdF8T(=*q-_wpfUOFmRN;2!e^1( zai))^iI`GG+FJl+{X*3BW-kpzMV&*a_Ix<%9o2Z;@WH98nsTWN6WAluGuyQ) zxf<%NXMWW2@x~vccX(2mW5*h`A@}*U6LJ$zgl4dhw#Hir74qSkCQkI}EH!~pybfy^ z#wJ@=3$-H9axn!7hUDT_CnQ%Q{=()=NV1w8gA1dw4fx5xAE$k2@!nth2$q1EhD4nX z!x+8Si1Dt3ZSz$;H=Y=J?nl(ot|*}O?x!*g=RGA0l1wHrY>`lAb^uQIOBzRsG8@@cUESmQNQQEt{Ba4D9@+1?1Za*7#KPliA+wb;*z;0oqVZA!UD*}Hh31#>!izGE z>17Z4l%ST+L8LXm{m!TplF2RMT;X?5A6*1!J)RRacqPFjL@=%h81i}Ppd!2y$7Iz| z$?_^bneOq70hX`0sXeo%h0#zqcr}0pQ#KUl@jMOHz=oy^j2IPe#sk{pZmF zrwjEKI2Ev#OzS{5UR8Bb?Y!=+4c9|w=AXVQPL`l<06V@fZe^E-C;jqn=lSUX?J11G z;qZRBI7ORVSc$6&-24OEjMDWWk=MF@uKxbihB&iT;Oh?-UxySNF2ZH+H{&UUZr%`W#27N$Nx7*?&g2fhJ zK-ul2WfCi!w7)+)zhA5cO@EC8rW!KH3bsJ%=}Vv%fh}x8U|Q#FI)abq+%V3SxH4JN zh-J_fg4yEaQkBs$7iHB8uEcj-QJQ5}!NBN8&h2|8z+4Dv^WV>a?;__l8@DA8`X$0J zs=UIwp(x2_<<{jP43>?g=3DFfVXzdv(z@XqYd}|mJnr|}6S{?WLNcA;J|KBBz$X_l zkjk1>`)gipS>@+7Vew^g3p{a$j<(Iq3I>$7{DOb|sW8T<7Nc5A#jC;Oz4T15x~G66 zkcaLQrBPSxk#7{Kx3s+{I#Tcy^O5lcuRlv& zv3SBS76~RV-6?Ky<}f*3pY6nop(h>UFlaJpf~e@phQf&t%|ZxmUvJzS%7=bgvo~7_uXjX@4e>q+LkQ+fNw*|`~E?2u5%b6EUdDwsM_fiH?2KkE9~MIdW~sy zdV^9McoBiU$MI5I?i-hp{n3K;3Rm-c*NzJrN)EGtl|fDVHsr?xr6UX8k3}v4>*s}Y zLaPgm0#{rn|4#y4771(;dh z5d&`2dNA25((6FKBXo}cdVgx)zVxjVWJfAN0Rlnj=)L11B7{w<66LyY-Is6O>gTEp zUY$9O(8CJxow}hcd4Vr_!H1W~%T(B{Z`gS#A_RoNPN?98VkbZRZ~WmM#DW71f>-$7 z7jK_%dvD-r-LPTwQ&EjiFB^XPxryDjP_udJUj_J^GG57kkn}4H@NY<6;Pm`a?ffOV zdDnHHPaSYq2n{*kzx=Gc{eE@@^myCA>6fzGTAYlTs(Br3M$iX*HtkQu%pS$Yvk7EZ zs}Ah}M;!7>ylw~O1g*_dw|L@!`Nhnk?AlS)5o5_XQWSYsvgG*Lg{tOkrj)+&fKq~G zPE=falnn{%UubeRVrBMXCbM-`nA3rFgO5>Tk8UMhbGB^|*9Vrv074x0zriq0MeDqv z`fiwHo}iUhD1JsV7EGJMzC#;2N2HAndwXHv`8 zye<6R9@-@ltaA_RFzLB)i(4W-TZ?N9>VHxQiF;d%!+N-~|h>T)+$j zUo@YXf9X)T&dHXA+hH|}c8AQhmP4jM3O%>aHe-3^z{t*&J`0>Z=RFdVp5hCf2_G)| zgI32Xtb70`@d?r1j@bOnh^&5Uec)bo<8E1dKK11ux}I8hq_^P29?=s}Fi;PcIullS z5&-b#eaOf0CTeptd?B@Qv_G0XK#7c#c_}J4sV?QEoNAnRg$}E)tR@fEe2#oWGCUAQ zC>KVy@#lZKQ@rC-n0`e${ple**KZI2nyU&kRXF)YYlQj9j1t#n+tOw14V0+#hR&U9 zCQ5S`^wd)#YBP+3kRxS^%Et2TK)K%tCD)1x$fA6(w*)|gI@=To@T|!+dc%Z$lYgpn ziJadgX}%_;ZAw;7gNCx8ePepX=w5O+5BcYROVZcKlLP1K`nA=%1#YG;jh|S6aeYgF zpNNfk->{s0@PD$}9zWK_6k+jCMtQ9|k0vK5H@!3_edHZp9{a7XtxbKp_#E2l9foGF zE@gZEvEkd!em-nN*4X2DYQqfLvdrzpNE#{7!aG?gz3R*iWjXoy9aK7-J?Q`AUx_t~ zKohgVzl7S--%b3_#F~h`yPb`_p$Q4&e{yTSQL@ne42U5+7OYy-ZuEgLD}bCnd6vqpmV_v*TpW5dGC<5XBUJN54pBDDi3Ey&3!;a?aIW?3E zsZB7$7UuSrZkBV3%t~4evfvQc2x@X@TF(m+UFi{j|H>#JAtwg0j%c)PX?Y25td)KW zzYY~9d&qnKI2TMrUY}C@;8`MAAu$Ya{LttDI9FO+-~Xk+`VYy}+BA|!9ykzC6Fd+Q z(LdkuzsSS?zGAkzwLA6_>edRDW(1EU4luA{C@2E~^{Nys6p5S=GWRb*Mnbv$VOj0r zd4gEx97SY63LOL0Fi|2$LtXp@PCeX>U_ zzUOV`lbptD&Ue0tnQtE_yk4;nU(60ijX`%2AN9d!5gvm6uzUz(BopH>BJ==EVOV1( z4+XDRis9mB5oW^uFi7n|6WBtB0tZutxW4DYo52o@px6Y9l641^k-^ zcI(wbwLQ5BHdHkevM5So+jdLLXUe8<*=ee`A1S2{nzo0U#-uw=**|i4*~b_^9|C-X zvYMnO8*1+JlIcAGtCTLLI`p~I-eS{i3*x+m3JhHj60=V$nNEHMjFUHQbH6R`9W0dy z@jx5l$aC>Z0uoPx)%-W9-0T!iEznG7Dc=CLky~sN^&hytI%&aXh3i`MUW$>5 z?zk$mZ(BHx-Au-u#|oBClMheW#!8_cV&hJ;H#C^)$r)8jz|e1b2MmF>D3N5WD>U_K z)6qJuV&*g|-VK%Y-HiSX4CauJ(Gu2edB7)zbHqS0uA1m)y6j$?^Z)9rv0IOSEcm-*u` zr$40xLUe()+rmC1pY)Wi>8sBVxW6$qgj*XKQt-PXhcd+al zoGRoZaZ0Xw_@H!(3Vu;aJzxTE(+c%R7InDuiN;*Bba(s8%}6>1aVBddk2(8I(Ui^| z)Vc}geY@2ZRQlvA0XC_`{pCs^OP3Op9iRT#aNwnC>xa^sw9YK1vhi=3bJVGGM+ZEo zT7hl1vp5KA?1pO)ZiBC|=;PxK>qI#9xxgss8VX7Af-84VV)h$BD%~L8iEqFbgXe92 zw^2TzzWThlFOhF;>4Pbpe%Z-83VVp~9z)kcuDHCfQ`NvtA6lm7wj^@16L<^aJO{_M z_2^?jtQLPpc!Om2PYAd2~E1u zNEfwF5P6f{FlbF_xIG!L8N(Tmrh}#R8PKHTy91_; zZ67WS%wJeU>y#GxSGWsl8uQ<%&R?M&6B@ikeCCd(OALOf{L012@p-D4>JU3UgdKkx zPa*TU9a_wa0A^?_u(u0ZA=O$!+%S3-3#)Wp)~I~KF4k>?!>&>Bkj}usNmg+p9%w7E zS#Q^+sy!^HGzZ|}!{5uAYNq*_nIL7f0fin+7yztKHC#k9b=|MFUhK4fb17`w>|2IN)B)p zh#drL$J7qoAS;mPvV+mG#MMH*zBsRJ9^{hCgW5dg%Pq+g0EaX0A0zrG`myxijF7Tz zN=J%HvU_-bsvK2rdwNEehMoR~2mr)_6V3fuQlI|K zZ&-ix8`(eSHw8l%3qfaRQ(GgO|JJf3tG()D|5f+WNoZ+S+0qzu8%UVSAQJ*tYz^DW z?x#?<`~*#+9+DG6YeKsSOK$kxkgx95E_+SQJKyo_o46dmIV*qf{ax0wv!*MZ7e@9f zcs=Ev!G528J(=11{WWv(4dMX*9ks_3C7e_PgUa}z8sCjJv|{=thO!g2ug&O#y@PZ@FMhj4(M?XS zuXgK;%CF#H)6rCePA)srJk=awok9bqwcG&fT~Njyvq!<<>gi|WAe%%C_bcXL^9ib@|p&M>4uw-y!t zfO#?9Vl&0H0c^r0mc5rsyAdAz9^Y(ubXu!pcJBDiI9$e7Zn-d5f9SWee`V3<@O)pN zVPkqh>2KDwG9@&$Eb8uZL)!)48Sb!W<6DagMmyEyQby2G!aW>CCn9#wauJE^RzApJ z<6k_EuLCx(+E``4_IiBT6~v)!qF22-MBULS7>@HcFHGCn#N*?!;DFO*Ad>+$;E4M0 zDiu?&S1;?%ow)JN{y1R0QKMqM(d-BYZOl_Ya=y6Sp$PvH&XEH{w#>#R%^qD&yHbY} zdmMLEUl<2RDm@)I`JVL%F-kiyMKfiN0I7MZ(-8Sc)LkokU|OOp7$r86P8j?76|`od z;xF-YJP4*ZqRVcSjM`TpE_xISuFyke0K!pmh#HIRMi_48rU_8WP)QhRsdw0w!ukQ} z&cXwct=@q-{-rUH4q=sS%5->2XxS+`Fz+prB5J=j&_cZL7A;+E zc40NUR->lf^76IOy+DQX7+Gyh)~1dDxkR<54XTGlZ1AZvDy@I##vRW6HUm)cw}jht zWn&kBW8E~q3z{B|R5xVC9?NWr@VD^L{mBrayPRY4WfWMP%#bZI@m-Qgv>2#95m_ygxopjp3*5&P73areJ4D z*cN1-iDd^PJn@xn7<l^2kyTN?Ut>B;a(pA0509 z_tH!#f;gna3BUVwB7SdokF zpp+0xvIjg8l!7ySvOt)|bwW50io)u;B9K|LvMfdRgYcjFu31QLaFE@%2U6~A7wh3X zI8fv>?h?xOfDd_WZ12Fqwy$rpvT(w4J3=9xTvmCRMeKQhb9DVAD%i$)*# zqa(5<+lA+-nydKq;LO{A4&Y8gE7&zCu0gIhXYxn=-Fw?Y=#Ay#5!1^zg;T@S_0+rO z$^`d}WH}JF%KPMgGEW6pUrY`6_xSg}^@1i|lRF82wNAW$<(~}yoGX<*on1_A6`bt< z&eFJ8nmS7u+Wj5G`5y(Swz9S=$`_j?2O-XQ7mI{;QFE}i61@az6BP;xDhMfLvEDgh z7Fj63d4Eh2*#7ZNOCQJlJjfn?nqzt~m0>i>_gTDrM~>)ldEBJoY2Dh_`>MI8c}4E) z?LC$sxHHV&_jITzkP`o#;cUQFhC1!Gk2u=?HP1jzj!5Zu{;n;UGxV{qMSl^xA}5_h zJ;jhLz6y<`M-|e9M=27uM)H2j=3xoCHQ(m&Z>3K1q4%F}g2aDzg~2icT?1NHwQM}S zzNYu*`-z4gWDe1yoio>cX_MwBMJSF}0qKx1EV7zr!*ep`qSB_W0dG(PELqkdHNCwN zzr4rS^O`-U86GX%taV#cn;()+;ki~c+eqY*S?0zJ$<`^9b>t4^GgJ3Yhq9$0L~1lo5R{$##!O*>g(&vlS!(LuV#6d5(VfmAxq$FrZ$jM#=}6bIhypZF(* zN5JG2kvg{R!@uAdi4Cpfmd&Eh%$#QUSD1sIqwyRZi3ixv{nA%WcY;#6BT{EsMYZko-u!GS_ zYq6d9vn6+KWasUA$3%%oi6fEcVL0u~2M6ZJX2a&;J< zUhFt5FE3CR75@MkHFuvGHTNJOg8rsBuvWz<+8z{Kep?BIHaS&8fVMc=)()kXdgFub zLctT*Def6T!n;HCxE_Xqwz*>geuL08)Qj< z2;AC4!AMhXeYxc_)935)@+B!jB_TEg>8*@tIw| z!D~+mepBD=Q}JI)v_K5M1Y_VZ`WX~;Xu5+kC3ahd7pt!ZSlQEp-o-rtc=-Lo!k-_6 zNvvW|Vxi(r7P~905U!iFs6FpvcwU8}3M=q)A`j&)$2eLT1+1Yh@xD#`nA74%>0OhI#!EnsaA451$Wp&ChsyInmXgzc?|x zV9{Ss#pA*u969;l7y*tf^TY`FqTENC9**!+hxN&@Z)5uSninVLVNIZ%F^bsaw1z($ zBal{`_y`ISFdrel3}3-&ch#egC3TFN_*{OX9?}^;AiAfo3%ek%iF?_0Mx@>_Q7$C$BgA0PB}NiRpRY>;EgCH?$qHjPh5{ z>F_tkiTrbX`yW2<-viy>kmunk=;~r&YUg5UZ1_KOfW^wT_CEy?{m>{vN9Oj+4XTsZ zm%UVuBJAf3u%M#Dp%`T=WM%km4S$%|xSQC=-_<@u+Oph2yc9+?3M3N%BVP|pU-H~f z@^JrtJ~&yq1{(LUB8m=#f&u$sO}WWd9}|tjrmV622Nzkp&6)^)q_-u&8+Hs`Z?{|* z(5B2|BC*(CVxUps9pJIR%ZYYJ%l|}av@!txjL`n@;D;hp)`HGhh5tZID)(f%ilpR8 zM0DMxe^t=}nY6M?l?1zdL4eqBd{6On&{Gq^bi!70`ypf_u~S&Zo&FNcZ!|OW9!3o# zMO)}fxm}MU(>M(s92Q%y{wu)$(2gL9o44F(m+yx}H?y*IdjSM8_m&~Wq@)Q0LVt}- zn0gML{4ofXB_$e@MiG{?2_sEQ@_7>1+vqhBAskPgLZGz!4Mf|nmC1;}TE8&QJT4x# zM}OVB|A6V}ry3`4)pQn+u$#bx=d4qxFUI^^4q)pIR$I=OMpTmCLN&ra6eCAg@rfN>#OwiwP@S%F1SgRmgIzhd5IJ{uQZRN-_GVhwy7#F3Y%2Zhe?jN#EfN_P8|M$*AhD zL_ek%)-GzCmmC}0(r}^q5CBC?yRO|g1#IgY=MSSkwtiTwIEb3oCWp4R_;2#eVo!z+ zwf`8&1p@-Y|7Wk0u{SsW?<5+M_-;S1fHKmPIzm;;IP4&khMWy8st&McBml)r zk-b+ZW!6Yr=A%S^NBD zlIlPmuu(>)7(^qY8^$fPne0Fy7(Z(e7F!DLj=2gou+BWdw0Qzse=d2Irf2Kji`k$% zuwPp`z~{bQ?wcsb_PeDdW2C|ulA9x{y>vJ@f3X=?cMjLp!0D*4Fh*=sv7@ENxpWAT z)iyg{;VP#bUu8&zR`;wu#_)_bUIFWFOk}AGmKt6q_m}1mz_5|eyNauq56@A`uy%7u zBzjIOg&fH;nK8gf14o!SY3(dn=>S>Xb?|{JsgK&WbRGWD42#zmU^0`#g~iV_xT^GJ z11}0J|({HpV3s>?fe~1x1$XM{t*11<58+Lo9X2WVA{qg~T~? z*BPDy!6U0+nY}7RXwVItruoWElpFs6uKQM^r*(;}|5DD6SpnK}?~_&XZSyEnye=6fNYBMZTnX%+hI#6 zK&W5?6w;&+NP)Hxn6heQp_K<$42Ie|#-`h`6`d(7?MuLS{_c8nnqA05OsfGgj43WY z62x^7aN9qGNuPs3k2ko}nwip#3;&AueRBQ%#>W5kz61w^aF9sQlHUk|R5Un$B<_x= zhx2?Og2?9*F(K)A4wa{VX(`A_n$k@mSGW@!05lD%NF2t>fj!9V!6u7o!;cZNDy0@n?=`l!emh>Uz#x~%L=JX-VyTWdVw8I1}3r-?VoB3 zYcCpOtn>oYasaM0MF$;E3(I8W+sm#etMNiwE}^zt<`hOOQlg!i7|CLL0yvyG0Chm& zG4LS3Fe*%@{CUD4D?LH5*4kXLh2MLU<^#d{eCpe@~!8OtFPU^Ku3=`3McO~g!1Z@9%IhM`fb z*~C=Lv|PLC>K)P$MRCW3*Dr_pyG}WfhhGYlzBi%H@zw;F(#lJ%*#yO4g2E{3s$P92 zY7_%Kn1XIJtvAxIljOj(lgMyEN;Gx1e%MrJu+mQ_;TB6THNIEbuaodVR;EG!&+8vb zEF+(j2Eu%%s~G1&oCru9d&dW&lnN8Tl8uSZoQ+X5Y`U6BO*`?QEKwU~CXr{yimodm zzmZsX)6UT6&liE=(9!qX_^8-;^PE)5kl>Q{3`h8Z{hR~^G*s5w@$x4q(Fb`;s{**l z&>8u7JJY1e$2q_e9#`&-y-7G#M^cwcp^5-wb<0@-$)!fi5IV+BTrRGJrK-RmUz34l zUgXd%T;l+G*&qtJ)RKz~>d8`yQHGz5#ND=R390~}iwcm*NL$&Wtdpw%)aqosHcx?t zflH+0iq5=Bs*8(gJmmN#(ZovA3c&6LI82FN(-Lw7?yWawyhQ0HafO# z+jhsc&5n(ZadN-+v(LVtcR%}#_k5UR)rT52MvXOR)%CyT_5T$cJv?9ZPfDc#KdmA; z4*1sg&~-|s%%oi)CD0pwVS<+u4;rdV6pF5~YmjayRf+cvZi1-^Y$e5luitNHu+XA;Tz3{zzaSz{{ z>ytTBe}%YLwWmB#I4pNdu_@HSK&4#!a~D3cRpP%q*_X`1JyETuz_;>J)yo7gf{eBb7DzQfZZSeHZy07SuZ&>)MHq!X*n#j1d5$n)k3R7?#}hfl2MHxm z;UrY$ZUd=_<`;A!I?vd~Uc-?~iFwCo3yM|{n^T}69YlG_L6bR6BpA8)IcaBf2J>3u z7ED1BwCQkNx zj%GI2|7v%Nw~|HSM;!WCJ6!bV_4CckBRVI{$k}FsK~QE;hC>tc6s)pMBHoW$*Jim^ zG$UfT4#e+9Fv{rE%&A!GXJe{oy3Kw&*Lr!Gn$iI|xS|M_Oc~K-4abRqyRhRMn&4)8 zXm#tJ5WosI<2IbWx8l1xQ(>#o4%Vx&GxcVKAA*gjocL1=7r6NxcB~0kSW;}jX_YU| zQcUyE$>a|fl)I^P+nu4KX6YP_IjeKFXNnx1w>i(WR_jk1uOf(R&B&omYb)g+n~&ERqez4jSF`& z6T)@RHP}Vkjt;rX5u2$Od&OG!+Ti-6Liw3Fs^UG`s?xLawBWLj`!W&H_Ba!v6{ON; zlO1C3Erlp0d>KB`$x9xgMAMd%5W%@~caO!d>6hM0joa$)Snz0YGe8|{+G>`QcFl?B zgNyP=HYa%hVJ5f?Z^HNQ*DRsM;DtBY|77bVR&na=ikwcbex?8N9t@%o zavh2~@OYj}2d#tJMdHbE2d0~meMX<@OffYaeahE;r*H;t*O|c1&lsVom+_81N*9kS z5@!hk6K0=4shg0;5Fw`$4k>RO!QF?Zg_ex@+l{8wNA%!yr6vI}BRt+@*G>y%m-Hm+ z+S=_s4XrVDuErqPyvRKe-G{Rs6Yg(69M{z{&iPV zBBlV2F(16O5>kAWz@Z@Z5=;S+AYLM-0P(#l7^|!D8KDQ6g)Evq_mCoAd z_`k&*{#Why_kICle@E^e_T-MwvBD6awmr3Dq|A zOb~d+JiHicOCAFF8(!5XP6d0_(h~}U$Q5cvuksLsSg?Ap4Cq=VR_+tRTSy|_ z^A8k*f7r@FwFaPTjaf-LoiE>6UUvWY&`O+v1UBFkXd{UL0z&wowcWqpXrOAS52^{k z+qk}+i3^Sc9a)VcrU>5hf(SOQVV)$$d5yV;8b({ru8wPkdSl$u#27}&sfvQ`&m;TL<8Um|C))?2+xb<| z$RMx=jALe<4olN$kHS{@x1H2r9xTL=az-~86>k7S_yMv0ls^?-uc(oy)ZmaZ^BxLS z+LbsO!k(i3(;O_G{58N+g*jXC+Rc-H0OOi;h8rvIdro>L#akls*5Hf1369+HcROW7h+5KiU(p#^$H9^cH}WPZ0<2OqS%O= zcy9=qfImF7NH5yhX@~&_2KO2z%7Xf=xiUkq9niOP^ccF+!DW+TO;*~TM3ZaxG5;G^ z@n!d#INwD^cAbVlOk9n}JT~tb@fHt~2%+k|Jq?E?i8f=BN6|{u4Yo)VDFdQk^cKrdcPkYbF^Ti_ zOl_G+w{g>#lO`!c(tmI+8__2!3X3rx;Kj!>#tLqmY8iVrVX*Rg>*J^>#g>t2AWg6? zy6==KP|XLiFvkqx>7>+U3oZL{F9%mEg$Rwdu>KnR5XOx%=ZK3 z6%J@M8gHrsn(Vpb-Pn>{Qr!i0a-8@a`dycnTuH~Ih$;Q{zv%>>RvNvfs8`~Vv5$DF zxI`ZBQ;=3fIxpnMO8Ac6$qxhp`lMj0s;OioBxw>0Vb`dO#inESmA(d_|K^SysO-pO z7AkWSO#)2QotZ9&+rc;Q@n8ip`N+r#g4694V|fReke;=EtF(Uq za8YgXlo z44q=V6Cz*qtou}ex2dEhc3V=(U{E2i*gs1nI40&})n4>;)y@Hq99Q!*Cu1Jglv#em zm&@7O-%}h@@6o{9>`|drgVF1i)?<}Z+qB_vHPIDM-fAYcm6?XY>2uBoY3|Ozz-Z<> zQ5kev%*!`#st{elDr-J*RzFshMD1L#9Nc*(VK^Bm_mr<3u1uFb4SA6EE?8YqPNpZ@ zxD^gVU|dKVSq^=#3{HYikSGZ7wWw`UqEs>0lDu2hzz$ukR!^Lkca4_Vn@QA?bz8@ZD!67Qf z)7q4(;AJkIw}@4wGMkI>oSmcNJBidc;jP1&%uKfYP9JaR*C+CY?6RhiHKrLV=~M^C zMCeb}VL0OHxnvUK;OVGio@_9!4?pZVcWrEjg0SkcL2}^jwoeCZa{Q_^?}F01_S#{m z=4Al#o&5Q7u@dfOImGVJx-{kO^?+P(kyU@?^pGVi=(45$NC}&9U9r*Q4CZIaX7^wm zPy-QZI)o+C@C~;m{`-b7SI7?SWo6suEu9-N($6XEP)scLgP|(a9?V1irB&N2oZn-n z9U!EHG=z@d%m+M(UA|;`+S?Q^l^n`{KS|`4Xn{gmr?HfAXkOl$*X%9>ZSddV>6BFK zoYnedN7%0)rdrUIB_K=(h@U-ZG4FJy@*ft&h4E~*1bwIdJPS73mhpj1;MHdV8aW-F>_GbU*pY5y+X7> z(!_NhMCK+C0K4BuikFee*F_J_S)bTB7UhymqP>-Icm}c67CUyUFJLnY z+$}dAN1CQV;Z?Gn}%@CWx4? zGGd$J1GIrfs6-@XlNUX!A{mH}-oY*w_}zyd>nOs>khT!(NMf}*o7y1lGUpiAkhsAPb1ap9;dt3O+xhVLtG%9DGWfch zZ~J)jq3g}-@}+Ai{=@B&0VKU29gWMjIc&l;R0~LzoJ`4{pC{%Qeq|3)eYKb9-63%S ztlVX38H)CJbFK7SDlLgoLv!uq?vNe8z7m13QIJ3P-Kx+h-z0MDQl_&f07`0<78lj|Q07}`Ap70mh{taO( z_t{Vaessyzo_wp1R1XJQ^j;qouU~Z8BPMUvE{dx_4>_8r!~iRI>F(TP1b%iRbN21t zEo>J7-!BS;?6_c^xQMKqy|K6%)z`-|ziM&Ki=?row-&*7@4jf8vPbl;%55%hPgP_e z*@1^^u+~?(f#@p(G`=2Lv{$JC5N}$!`ts_=&hou0T_4e{osG^7++dFfc*pyDXz;eE zWAZy&DcOjimr6rshE*cDMPo9Bq^z2tJGE6rXtbDS7q|vzXQu{}C#6=37bq?+$hztM z`Wy(Mfwlb5l14#YJ?*y`-|7jR+=j3!)7~TTp=ivJFK=SwF%oG=Jgf!e`SzEfUW;nX zq%~b*Qc*#o@y}x8(AiQadwU{`9b=n#w$2;w%>4PDcJHv%rCds;bu`+tQE@tnL$$sq z_M7?S5Tm#eC4fypB!HU+Up9@qAx}g?06d|TWk|9G1zLV$ENXBs1F7QF&yH0+E?7Mky-%c?t_4VRf-v>#P+{*5&CRe^8bHijRvWh$Quq>T&G**0sV+RBW;`cUR9z@F=0XCEw>zLI>E z=&5FTh5SW2Y4RYon%Yq|@mh)_d45 zvq!G?T*5#umW)9r7PS`19zK@WuOH}Y2RmId>d6KSK=$Z9=UYP};}hbFFOwtU@KXcl zv*919=S^l|UTrLkX%YZCmHC4H7dnhKkVd>=)%v1BYHLH!XPOOG73f;u(xh}e=A~TA zG|KR}a{=K;W_gk@mR$P0UfBg97;6(iYtoKP6&l3^DN-3lq9fMWfTwu}(I~S#EfuPK zX{az!P6(B>QusiaT3#qtZGuetUf1jv)6;CSjM_{~EKhF>ONqH=I$F>(=#!qxHu z3;jy9;?O^ND%*@VwieP9dKl?)=IbFs(ISzta?Eyk@6urU@v_%goBs*zuXBl`F(r~1QA_JTV7wSCsrEHlw(`0V+ zE5B2;2M!J=sT#`S-Zl<8P!AKh#pY>^u=D3PUy4?n>~ho@>F}qDPFrdgU`9<@Q!NeYz=lnCH0?pv^~a zP+df?{m3J0vf!%etG}!=eJ2Qf+M(<{=E^bwdi5kZ)E=59UHU;HBt3aKvni624P{du zYzLZj_rldVsLI}Kaxl=1To~0eSKw)X3)Yy$j6Sxf5HE7Ask8>_-C?bnABsxcemBms zsyE0snpM?94#pjbKlRpk#*Y=u!D#vzj@NAA z4PH0k<^MuIjN_tdD10YCa^2tK+;a^SrT^wO?FwOE3svbAdrG6gCc8iP^*KZGr>)}CO?{q?eazuS7z}V zX8d_pnNEmH6Gl}wK3O)UL<|1pO8Gke_)4;!4~2=23@jl&y;e0j2^@zSm@qsFBEl*~a4Y&+cVf%W@&ke& zLrCvQ1b#^Rv1%E)EegGO+5LW1gW}X@2fL@K0y9_OVd-A{I*_A3bE=QzAA>OIJx{n1vr{Oc(I&x!T^AJB!_G` zzHs6_$7hek&%VB*)v%9*)?CHkybm=A0ZOu{#?L}`pF~BPfH`oXkN*RFQEGdavVyeO z2~d$;>wy5OwKOwvYGy{Wp&X6HtP6ovi-ui;ExjyTtnDv-H-U~BkkxC{0>5Spm3B>J zIRwxObuex8V!L<@b`?F}=IJ%r!+cZsgAsZn1-n7Sk1=|A2`jyAC{=2O7Z?8G?Gz*gl0zqJ__Tg@W}qgm%6*ZhiF5h=YPJ%jC-pD0(T zvv7RRni#8^%s8WJd;_g(Asx$G7$~nro74sSu=+%5^a8XPe@Z`{wK*&=7_M9=UevWm zSH-(umi8XNH5t~h_)9XiSYEzSoTl|Q?F_0^pH2ea+z*oxahBR_&bgr2GN02s&eD2|r7a zP1IlG^uFCFpPf823##>R5uRX~j^%jS^r2AH|2eizSRR?*SXdB~c4mX*WLlo<)Wb5U z?q8nn%dd(wN#BP*fqkAlZ=7;>o$#27eW7ZY?wK92x~H>6i~p6r<#DDnlr?cj{-`W4 zF{TD$o+4JB5@wM)8F^=w0_^gWx6xa@(CfW0s*}LRrpS#=+T>p|iZma%z4Gi;MS2D$ zt0gd|@{l_x`OfyjbQI5LV3S z%}fV-WTRJ`_Q8tw;f4|}#tc9zrAyBjZ9Tf9aAA+sVUBz{@bTZ;zRU?e-NY{-ASz%W zAngBH>Hb?}oJ7jTK+jUh>=TPE%8JJO-bxe0@$SS#)4zHU1QU#W`kRZ#p&v< zrX)WyIAKE|I=&}`R2-p9+X{TVbohrvkK9!*UpKxoH&f7T38Lq6s>2Jd!}8cK3?Gn= zfpU&<-AZT#S?RlRoGGu4J9)B4E0*DCrEL1Gqp)lu74?p4(u93kDQWZAg-{sfCzI#BkJ;W;~0ZIru?bpcXjcJ zJ{!~!7g`PFV{5NVM1fVVAH88_t+>tJx#m;+VajcbiY54?)R21hn+-C;Q^w&L7fy>O zov0?U+#R;eoqK@5oiX@B#OXJ5>fluQ@p+?p1ZqP5(CM}H6dCWt50>(pz1!}(Qev*2RSi{h1iA$Zh|qdHzC= z?*&fl;C;>joX_!B1K{7-aT=Guf#5X%1p>GI>>i-C{eJ_IpUodr64JDkP11A{QX}FE z(vu^DnXThLuKCF< z{q|`^|JdPC2XNB0x-+ucy0!PH?YctXB@Gd1L%GlU_B$8<%V0Ll$KtDR}+w5F=Gl}JlOy0xxS z9WZx;@U=cLOFpe$PkBK7?-DTMztP%1-R1wHwf~F6ZeVHlZ)o+uPG_`KZIbxhPXhl; z8i@R#rwiIxS$(EQrOd32=T6iA z0<%NX!N19=n5%QIBf0xVV5~^9rvL;8%2^WC#YUtq^#K&3QPoEs_Y$p z&BwaE$JuM;oJk|Ps{|(N_IRe9(C$B<2+uvSYOAkX$q83&r|t$8XQ8qY@J8`Hm;qdEgTPh~s>wj3uO^lgu@n1Zg@POx>N#4)xi9LV)KLhf^|@G) zm}-ZxFE8(rKrnZ?lYy2YTQ zpUu`^(^y6vwDHHB!BQmpVEH@(cPYM&x9>g-ssJhtm;(qqJrYOu=VcqsL!kdw<&>8x z&J|7#j~{xXdPVo!*3eA)gg|ze^XUM`7yfr{HjFqXX*4u0d3yB%9U|B2Q$+uy)XVjX zA7wQXcOZ!@aUT*Zx10SZQ4cxO}Fmu~(0O{K)&-iTdko$K=}SAvsKyJ!uqrOSJw8gC;s0v z_>+h0X!N(~(WyM9fbuy_c}7U|7=J(`UI&Iyj37eq1c_eMN?sT`+jT>F7-xYv$fT9@T9^b36R?D9Bf{!J!EuwT}=FbyKKG$`E94k z54Q))Nk7A1o5AJY;AGFC_H)0 zJylPCz%DXl=O(Z45H=}Q(^-Pl8beh|vwBzLWcwD5@B#~NB+=v*VoH6T)!rh@Vigj1 z;A^m2&`$n1uWW5pHbE@J9BZdAB#&1{EeF5HfXO1DcT6TW>=d1{JaM+@g7+Xji5B=9 zwWV=VTk*_aciF={P7F-;?6B!}*1KgtHR>%ngC@ZiIVEe$=xEam2(*us5O3yDV9Q*| zsWDLe^!iWMHsfME7&Fb9Wy1{cXE)7qtk)tKfP2LDqnmY(4Ek)C-B%}k%r$P#n>KX~ zJd{$v6iU4!fQZJIxv|BJFwN=9)V#M+0}hnkNGkUk^6`!^YZ9e9f>Htg||L!lwB0_BVw2L~6^j{VUaNamdOlCt`H8P+Hgp z1jpeitVy_hAZr{73sCrciW8;EXnl!44lzZ*G7ZFDIK!0(FCzjNvT4F)Zu(F|4baWi zUJWL9nU&o_xsmlPjqP|UUjLCO`|DZHhhh3L^tp0^KRJ{<|C7}t`TwzYHqVg8Wn|PKz;gK==|q-9VUE5cC6EDxzUk&qWH7jcF})1^jG4Li2nBIL)f! zQ4785{!;>3pkp3bllNyaPxj;9?U~!_c`Lh;$HdsVK7FGml<(y*{j(Quz02Wc@?zj4 z%je4vuFb?+2$!lHQo?)`17s-xp<0Ca&5aw-5{LuTDv}k)L@*HOMFK2sm%u@|Fx&;w zcd7lP+ZmH`Y?j*n)w||F;;B67?#UD3VPx6o#n|=J=4PbX@UzWMulF+OnrCob=jY`f zRL84aZ}j6MJ3b%59wuJGl>xx1ruPxXhuqDLA|m_dK@SkUZ6ft@3;PQCAo)mI?xxgR z{VAa2Dn2^`4ty=J4?+Us16Gm)bFHe)PMl>09B?*}Owa4jVi%D#!^!U!)p||OYX=9J znKn&Qp1miW9oxy$eS&|qR`YM4jMY4I3uz;zi=yjZEA`i7h8B+7v8X27hP8O1Kw=V3 zE37Y4yR$lJNftaNC3*!n+EudbV}&mA_Sqd<4)`+Yn_G{P^{{-6a(R9UFpg?~e7MlJ zyC~V2Z_s`}=z@^yoTG-L3thY?|-zy8?X`an2V&uH6_+=(N$ z>S(x~?HNM{a=NXIdg;RGQ|N-Jj7A-^VP+hh-k55zo5J4bsP@3O#O9KNFOCP-tu-~~ zubVs`Ex|hHiuR~js@mc@Q!Ix@QyvL4`|-oUFwhI3haU4kHiHjMz;LR*sZ=g5 za5|Z<&*CmLXe}&U%qveQ%>lLq-t2hy9&kA;hKB35w#8X5DIsL{06#M~ipru%H}V0j zP67_|1y+&Rc05&^dMoCZNDDN`GT+(#x2Rem*uJ}>3&Kw7i}faSH|5c8S+IXIO3dbP z+|Th*LhG-em?LT2dL{^>O6lQ%sfV33km+%773sZ&1$KwSdJpv+t)@$~KrWbzwB^ej zHFX(2(d|4Szvpa6pZW9c2t-}J-N;`tw!cle3ik+iP}O)74pb$?hMcngSq95*E8Avy z4NP8wU@cexL}4w(H{lUy_b(U|xr0@UxhnQ(QomZgD)(-I&+8|aZ6j|YwcLZIkE+zs%U|sEZ3U7e8SYJoXj*IV_K%?m18}=h1 z!g;!tx}xkbj@LVwAsM6eSurCTVxNOvbDa&yN{)FG(bj8_A`tIP_vuX{(PKTSjRr~% zuGR%1(>G15yac@!?1p!*pLUAEEL(X^`3>Jj#-?t2;A9XG__j6TRb{XJt3-gjO+MIG;$)@q{S#e2Yx?P$ly8Aq!_X0)kBBSOafN=THkw zZ&7<^PNq>+gvw#QXJ3q%+$O*jE5-8k1QMir?^%qw1#owvx zejNV!+6*qn3KYuLL3a;PU3QPvTwKx>OF6#8*sETRoIW(sL5**Ga>JHW^$%57mu}gu z+<-$C=Kuz32?{qUqy#5-VUFpeMArB)rAdb?WjJ5P&M#7{0#{!gaT#=@vtjXhBlRPX z%C?*(m8*9g)@Kd2KTnqUc{5H}`1ih3fieX)-bS3Ds%TN&)Eg)s>BiScDw@LG3x3Ac z7SGt}#qtg(Z$3}@=5#s!IdKll+`*g@L(gJ;%z4ySSdp=0_{IW$Mf@E!?_EylR_d^< z1!xTqx6&b1d-E?JByw2@y-ui*Az#&qfkhRaVzoYK&EZS*guo%YYe=$zbXT>G!1!G& zE#%~@ELW%xq)P?r_Y01W@O7UId*_t8Jk$qW6zc*0xHmkA9VTGVhddWg9eUmqQgx1|9n7l0i0HWo6vB7xGfX2d80%s>sy;Q@t?Hj2 zW?Vr-0yqC`F8oU&G_%xquU^KTMTr5V5Uc0ig<}cT9nz&Q<|UI17$cIkW+<4!tJjQkjWq*@v|Nq7ZV`+V2@m+1JI=K59Wko3 zDM;KW?5RI!`}#_4U0Xb>dUGt>oXlBC!MG}o7f@wg7m9}EMk?*vdjm<|2ug;X0gTbW z=cH51jsqgO?=S1c9bM<_MavDXhp7RYpLpZ7?9g|MwvjCr>6-wb5IxLPs`G2r4qb<0 zd5V`_d#v)-VmNtPth${nlE{81XRX5!0=J5lm$#!{F5b-|6=%&nV{7#rS4N&A_0k;T zz=o)LwP}VBCQfSurGdOCQtEQGnc6Uxpg_6(NRuwgChDE1eH9ilCb);Ml8sz&Oyqmq z-1t~2o97bWRvQNtCu0ad=uAp?@xU<2`c%2NwtyQg`?&DV)Rs#CNVm@S?MOP;z%`m% zx-q5W!V~%8)LV^-yNW$rqMyBb%(>>k%%N%t)wpf0cYQdM7;55Wcg`Il5VIGA}0t2j2Q%K;r2^{ z&V+N`NLYya-C**++`>K~qcIiz`tdZq6V6|yTpLclxD&d=SS6RWLp2DR#RJzMFTBT; zC&cn2$xHAImk~HuDTH0~WR}L+G5n`B_|h87UdxX~ zf_)M%oyqS=oMSjulsDhw1+x%g>L7MIh0%{6ZT`Ka6lsEf;Q2HWM?d>%x&9}jnBVyG zYbqjU_70AUPWu1yNB%A+2UJcK=Hw9HWi+7+zDPjybLku9&@@0G)wohB(<)G?3D4-{ z_G3}N#6w=Ad4g<#nK;U&+Pxk|MDGf+Ux>q^N~ZVH?`79}I6rurxYW0E{Cf9%`9=^V zj5HC#Jd2Dr;};@U$4?hzE7@J+yQalNCD5JX%LO_p>}n?)5b^?w2Q5ZFpKdcRKrlL; zIUA`(VlrIrMjAI!9$U~=OK4F}sjP@@n4g1bSBIy{vd}R^zi?{#UL8mZq^S*mpkZ*0 zdoJsp?uEG3#Qq+3tpps2@6VpCxAzujRqCRH}2+Zs}JnBW9&;t(D}pt)R<%l0eFoKQ^iwNr$jNPf62mw@y>|f7A*G_MJ8h))z#>Q z!((#fF!I+MpNTbDZ7Z^|7)tnILYf#L*)oosp1i5-4MYyaJG~h%B`=58!lU{OuVT`wZ%_E*}PhQ^X5Qn~jL+puD)>Y}bO=%_AAl^PS zxImYkcQFr)RWqvt&ZZE~dvIV9Khy}PnCLxwbhz)pj3E)A53OxNu<>FiTdJ(*I4!$}zGoa7D_2b*0BwP3j?TYB*OpQ=eJ#)(82@Habr`%N0MlX% zLYou4oiYGXS;B!Kusmx1E0DqWs}MN_*u>rL3CW0Z-V!&Fdr0rn4|09XFFxi2h~%Bg zN7`4S8gM9h7{;MR+`Iqi0{t&rQpYH|=yNq5eUAV3#mB!~%>UDt{1@6SFoORtw43mU zX`{wh=l!-23&ANlRB+)Qlz!(D8Z%JwKen{ozQM?fT5Yzxw|w}p4(1Jn% zN0!!2+g6n+HN(J%3M51F9F5z*kfVg((Ug1t2alwa}_z4G?r^yk-7HEVgB&J99bL1=hADUFp ze>lv4-K(anbxOi#Sw4jHf6#CKy4U}5tqlKh$A3R;5>;1xuvO9CMb?IAg=&?DqBh8s z=h%~sID$x~T}#9F$fR-BDDA{;HDFOJh-70-5@v=&H6@F19exF&%DlJa8R)nzYV-c6bf(fj!c1%I2U1!7=?rj6nY_ zpJYe*v!uPIKcA>iCTC!yl&m&jOkAs{&h;~#s}9JP%s~?YUAxvo&K@!XOp#xMb|DUh zGj^qH*V2(rM|EGx8V}aBjS^D4lO_=(gD8m_M9Z8h#STsn+;scDq3XFLs)-90Pu# zN+T^GK2k??!$_PZ%%8SwH`AUvDguc^ zxv3${c=^RV5UCUhY1gSMxr}B$ekD2P1n6 zO26j$$KyLPs$9nysg^)rlsmVYOCFhX+7^^0!={NTCWT!DUfbR28@ z`QAiblBmIRKFn%yHXdGUaLvIOnJ`QzbY|HCJsyhX6lxVqSE5jb4P~Ta3D(Fj1bbdcYDLoLMECx|t=BCd`4fJOJl7PR$9@;s3hB^y_)^=c#I}gW+g5|hVUM}ODKtu zU*_plRuiP)#Z-h9JT|31!pu>%P+J6~hPD3e_0d=}b)|-C#c_J@qEKObw z-!szR^0u6m*9NPpEd0m?yq^Ht5+SVsu7l!e8N-o+Vq9r&dCyITddD@F9!Mo`D~XSA zrD{&@BP1Gwj*9@}uN8PjShaHW{!FkG%v$l+0U^l~Zv^3JpD(j7z2QYiTss7%3wCa+ zCiK>i0R060Gsxdg3^KKW`n!;EZx(VSQin@5(!I(V1u=0~s+QTUkt!z*@S>2`M4dq% zByghbd09Xau_*l)Tj~d1BJJ9$VJznWJLmn$Un&9f z5FyzWm|5?DL`a6qK-J%Z_~Bb+@ht*+mS=U3{UYt;VI4Zu?!Xx4V~6V#wX=3a*8CtN zI;iy?Ozg)Kydo%YlM;F14i)P8+?BrU#G1W%-qDulRDQKQn)&O{X7}BKcjF~<^hgkg zgXBm!2`$;A64!9LkHjm($vFd6#@-~2g^U{=+@uyNS~09{Rs@HUxK}ZIe6Bz(25>ks zCnXSaG;|Ga_H_w~x?%DWJiD-;{|w2~kBf-ks`Wj6I0NmB@fk`$?T?uhJ8W;JD9#Y) zI#?Hq)%XME4oSuf$g(T_8Ht|kCd9os_x}EgbQc7e7x4TA?g5~(5m8;pOR5tH}E{nN$Wj$*~ba~m30_PyB~ z94XKl_==Vn5Ex}D$l1;&bf{5$>(e*6c9bf48P2}2P6vCB?*0*{Q@z@NqW4p}NWSX_ zIR*|n6RmEhAT1wdQ-x_K;{I*QLkgB-3RqsAIBSzoX%%T6UJkbKPuWP34GO$JbtTY< zBC$q)w6RSHd4FOkUup?&W-}oS*;1SC-?qG1dfWg{)D^H*4Jm z_k+J3x*u6H@bnQrQE#|KHFw`;ywE*fobOV2EmIbOd;C(766_iijLIhxB!zOg_WAe9 zg2;VDBkprsH5L9pzSsZpM*q8t{#OuJMblwU1@S!rbF5Yv8Loc^kHFUeWgQ(fp+FA0 z`G=Tqfw*9faILbaQmmHx!R$-t+t-e}%Kbuw2F2cjamVL=L6c|lXTeo(Q5D0LI?1B= z(8;WYtPLBNUpzPXJ|EB6zRA~CI9&9k2Aol>Qck*Dn@8Pn#({T5uH&S(V7D;q{WRCE zl7nk7>p@fo{35(jlP9HqG0cRW#07b-)Pp%gwxSeUkv)iIq;`v_2$CY=gC59+<-d=T z)RU%JyhS_952&K7e-|;Es0j=u0GXAG^(~O^7k}ZFTEj0;9~9wevW54Ny9vmj>l=wP zWgbJ3;;kaqV6n{Gr;?>(IS~Ww80Du&-85Z##KeL&6xF9CnvzrlM=H$I=Osc;jl1f8 zWG;)bLARM|CeBt|P)o3{L$B6_x8_x%!_g$O-L022HWZ`<+HK5}Z46r@&me8gXT~Ed z9D_tKh}JJa2x8-<#3BM3Vbdr8vNB3Z=*%7(9Vp$E9p>XDO|0bOHF z0h=i$$NU@^NXJ>1%=-M}nrfC@Dda`7zM2b&+NNSCc0A2DRaIy)I)FwuNf)P{27j+H zTk};v<-AVG#IjsVpG8`oVcSn?KUvYakG^Ede#&zF!^YdT91q#ylbEZrZ34^L2K1dg z4WJ<^1lMQGPW`8UC+vNQsE8>Q?8RzL*PsIR>1T-=T4pB}pd=dUWT^%y_Kj1)0MAdMbKS0?v0j3dZvi;Gt$j(vB>X|Mx5As zxXsS6-3Qwot#XitrG0i*_Z}ogc8j?oH1`(eBGRHW$`Tmm7F=6bY~bT3xn)}9;cqC4 zt^Xb(-ePYHfs2f%j~&?3e;XP)P8R}K^~0?1EZ^t-IdpS1cFzGp-}9p21GQ~B9Pgkm zT`eedpSzGjqeCbhjwUE}`!e;7JM|!4)i&iZ1Xh$Dyk%AfhxEoE0j)}T!j7+6l`=CY z*<6L=B4C2^%XzIuj6*m@!pnM&GWlr-h%!0xd}mO6R=kB41T;rHTB7UOA)3nq7TT`@W9JVrYj5EWNqdm5_e(oTeW+g4|hObuX?!#o0IJN1lyk zzO_H5ad7y{PmN>)dsmqp>yEYeDu53T6za9K27S~^za0wd$Ce*)cULaDj4ab8$k@VN zdMS=!NARXt{~&foHg#5wFgDGDWD$_|s0=Rm(_Xl*1Zz`IdpqmL0Pys(s*w)V-?axh zw8-5KY-4{3&_Rq=yTJ_DhC3f>fo2Rr&^0Rd0G)%&n0kORO-F?(R6A!xPa00nz2BYL z93t#xx`J`s0>oaT;f2y+=iAq+9|}Kl;m!COkEvEChxWI><8pr=q^?h(kKkU#Nxn#7 z-TW9y9Y!e-n6#ct#p))0aUJx+gD9q3VfWIAKL)E}#?@}UuGzGABwzP1oOQ@^LlcJ~ z?`UbdF-O)nhFGImtSXVI>PDu+k6)+-RhD>KR@fZS#5TztdEWC(oMlmMd;bS1=C5i^ za0dP0^}(||IskAQbbWj^|r3FwW~K3gHLQ)7W4lBgyt{* zf%p|E207F!fpxiAT5WE@aB0P|%qN#G_oH{R!9S_=Uen~c@FSluZ_dHR0Gh0($F4}{ zVytzF=dg7u%j5q2&!r6=NP(Tsp!#@bo-t4a(*XwnKt?yB-qrw-Y?-_cO`&$EfL?|N zFsg7YLe@;$DGoyNCNhLbM`c7HHnHE}Gy|T`FaNkZ2I*0oXe25PD7chslxZy}s@JP1 zMs8$Sn>H(#SE&O8=st@eI)(~a_dXp__Ja*pEo1X^{?W8{tUiF=viZD3nv*Dv@(A*1 zs!?NGrAAu{TV!0$7$R`yB0Z_8NYkl(nu5iPkpep?SAC^SquK&I{gwo9ei9;sMS=gL zJ!H-eJ&1pfV!6!d5Pzl3%+_;~{&&=dT7zkPb>_%A*dHhsW#veTGF{C!`4LBrqK;CR zN3w6;3uVy9oUb#@Ot{>kzrU?Rq#YngD|SL!bKsfBQ*A}qX|cAZz={6+0*A0ALFHC2 z!*zV%!AP9eU}_A=>pU}v`D)xprI;3igLBa>^|ci(qc6lyuVc(En9z*~FmTWg+jI>v zlnfiTtQX=cUb2nXrJwQ;;ke{#ni3sJJK}m#LJEOFPp0NIhRDa+U8ig|&)f&}QdmsO zeixWCDo8~iq1qv`o)jh+ydbPsTGfO5fvxppqccPu(dyjAe~xpSFE~*hxO= zOJpmD>O{2vlt(Hw=k&Sx=*F_%J;y+|;?vsDJwHrV4=RC9AeA~za-%yBC!1jMsRF`- z+i2wHcje4alAgs-rvxFX4ACZxTb5Wkv2Z?#=FxqziAjo(~WzVE)>LK-daEp5LcJpSsJ&glP6be97= z#}xtLpVu)rjF4S&fA`=XZOmqNQ49{skfqk6~xg(#g zdYYGoJ{P1NG{Xu(0=l(D_vjxr+;L5!zK!%Ufj`jS+2iNtEyv=-0tvU=R`WdYGLDQx zPv9f!lp|_cNR~MnE&VscIfCDflGVbyf?%YOtr*hsViCTa5d?wbdL{f8*T+&oBvEg3 zYvHaGn|BbUan4csW!s0INzZ^W3){yadBSAkI5Hy{LAz&g=%HojsWlKhUmfFYa?IhG zMJ<0aM0%|S{E-11pgcjs@pYv&A;jzZ+9KRS|0i3V*Hik9E$;On5Qo2>AsrRcjDJBK z{6E#<|Br2!|D3hURGRvPI-tHAw;AbK<=*7$Hu`Dg${A7;h)IMLgu>J!p}>W17M&Nt zsXLEcBt2GlkEBC+T!V&^4c7Z4Tu(Sx3Rsx4J8q^wbh%xw*=*hoP0?+Epk9x6BObtG zn$Ohc7|i$vkv67qCMl;`$`6G_DF^+eIUd$cCrrxb)14l*-q6P^6&rG2;I7ix#FlTQ zWYn;;=;cMsQhK2%fe4;85xdL;pLMziljV%8^YA3%Mry$m)L*jue=7S5s4Ca3Yr4C; zJEXh2L8Mc;rtFVGy zeGm0s!@f0W{*&l({ZKN!Tqgl+L3wg3M!Kzg<4T+~oCp1q;$)-Owqz>IB!+yK6{*Z} z)U6KpX3%tK=qt?37+qrIFCw$BP<<;8E2Y|&wQ79T7D7cl**Is{gKD0lTyeyCvsg&+ zhxfNV(MQt9IyQtVIW$5BfJjW;iByX&;#Rg#E=gF!(g!wV`F2^%s(i%r%i-Hh?|KBJ@F( zfztFVNk(Ouf!g72K6e!REE+68EN-t?VCS271>AIntZC(WcDmdY&*#sSl}0+EHSf5c zPF!BsChR%*44DDRBXio^E90w3hXm75-@EP2#BJ36b1Af2G*x#Bvf3FN9OM@(Wck9; zJPjfQlny2RYtP09NrFAM%!}|z(j!9Jb7jM=9I`&)-;q2#W1Ks@C_jCh2!r2G{RK*BCUrG<;;#I^vs6p|)lsv(Ob`G@7+iD?NSh z67U#*$|>yf`Cw^&qm6!(DhbN<*hgsfIXsUsmDhGtX9X886xgw*W%_DuGQTZnXE9H` z%DE=}3A<4k#}Z<|OU?*N;G}%0mvcgk>lw4|VRzveG7kay!WEmAZv8+(vzQa^{271% zS4We6tSaUh*f5wMnBdMlbijnNnra0+_@;k_m~_$KrOt zirR^aq=PfiEi!W}HN>WcLtW0xI9-$%x#3RNQ|W`3WvUE~JWQPU6r1HheE`=B*e~*U zW)mPXIgRMzxQEUD}EOn-K(kK}M{WaM9*TReZ;?hC>v8J_n z#1H5(kL*DsR$e^otVEVo`aL42QxR^Aw`kev7-bF&<^)2g5N|U;D0%cmLWd>R;G-ov zvy!$O4Z9JV){^~F(nu*;#u)L31-rtNeJ^aXd>W!Ut(W%o#W$Lg%uN&JN+y_wXtcU> zo1(FnPx!ROa5&5Zqwao*Tk>r)M&7d z9ZSlrs2q5V><3;fSaM{^iSMkTO%Oes1-qJJwHz1e?*wi)!YKG}Aa5kFN3G|L{K3p8 z(h09qPrY_i7gxPse+97v>J!IVWM`fm$+pVDZQ*m^aVAG*IFUf#AzomV5#bPR*6Sc$XwDRQC{uH>gI+tY^$Ajuv_{>75!~#v!fG^ zFk8y~JY2P7WIoSJ7=pOX4y|!BGEj>jQRON3iOp%{^PQZm`b6ICo)D3=sK5RkP}VcNOcihC?}-&=W|z-kXN>HpvEEJ# z`k>Bu0p$kmI_IGNS^V9~1Mns;EriuqliHY%{Z;7-AnN5H6f8na5HwY?f(xm}W_u>o zm-sugT8t@7L*gjW9o-8!C%#yA_=pB;!BiqIBPC{!lBU@6Afc0N~4_Z|L;PIT9e`lM5i^^N%Q%amwGV@Ihh2XzN3)%T~t_w{x5p`ICet zp~lUGi;*X~0T(p0)_MtWB01ijtJw^!oN9?SIr}mJDO_J;Z<4c3lFp#x(0jCO^+A@o<}2*?#$1F! zl40a{6V>%0e&tdVmd~d7==vi7H`;4{`j)yKLmyTlnb2DIV&kw&sRIwWeCw&qjTm)b zRk^=xYU3EI>a#1^=T0XN_A5WqGiT5K28Wv%@-Q$aywS6#8B&kyCPm00BFcBM~WRs)Zuxm|Qe)a7c7IfaSDl+_z;O(gq^ax6?O6XD5d;e=J%5Nhao+U=rFrX85kESc7zWK=+S_~Q&MVH0N8Y_O?nwiYu_7y~x5#a&cEA*}j z*OUm*<=ayH#9ZvcIkw@YSv>z!k-WWEY}!FXD^;d*sslE7mXSO22>vhX>6WRJk`E68 z)Qjijb;@`avWiOBCZ9tuj+KfK?8NLeG_knH-Mqp?<(MM&omauEE+91(vsT@Kh^iU z1Z3<^!7%TseS*+JsmE45okJ0dUreFJwO;$8gt9_IwT|z+JuJ**)e}T#UangYPym4+ z2B zCHnmmxt>0j&0E`Kr+lAhLjFSLqbk`)VKE#x+K}#*2 zbEO-Edll>%Y?8f6vgTf{`Q$`6AlxFUFshwx8lTQWRS>0yhv-wLXD*Axb)F{`9RPQO z71(WA3!^`x?le*joGF$_)`>Td+JApzK6G=mw7U3r$x&sbPA#cj)H@U zdI>!5%0B7fO_$$>WS~1g{=qBCCek#}M zg-gEeDMJO&Rh5X$dBW?qxC!a)HM7G;+m;zL&&d-M2ZqI*euBX9S}XJv1e$YW7wAR$rXmUE^<4-s@RpvAxPr#SFE5)5b^2^_s7oVr-7t+0vs#xAudcH4 z2}iXRKRjp2oRNUZyWbMN^Mf}+gdL}Unk%Gc)heelqv?qN4)*g4{rr)XB0D>lc~__7L>1L?&PENrNP(iw(Znvj9m>5~GDK zymh54xo{qv^>-A}218w{D zR(0-1TPP$9isz7(y_!&d_25JDR<)Q~Z}$1SWJchMKwsiVv0*i3AgCHft)!rgiNVz+4P z4fle&4k%_V^T%E?_ibOQG>_}4>b$UK<zu*C{!b z53{91GkN-uHgep;ZcvFaR^V-PWK1diz*iXshv3F61B-E7@S@^n2a7L_@9?pjI}ZGe zCKvXYW*SDtLVQ@&-Z!SySTVfs zx^j!uxaWFgrt240q9L$w1B>Rx>6CIWA7|zpXLa{+g4XObY~o#(XNx@(?NXvPyL#+( z4>C6NOqeYUP8f*{Itig&0dLhRhzp{Xs9NE=BZ_m9FxS)Zhj|=mE9um+WNm#VJCQOl z=AZ35@NB}>M;;lDMBdYat1N-~g?OxsV7?nvo?CeT3~}~Lp%)RitB| z$m(ZNq@0s+(^n)+fQmnzurS?6O>kCn=oJ095q%j;w+>mr6TPYLF!m0whk^-R(@h-N zTrGy|Tw*U`&DoW9=N$zXY1?x`+|L8ctR`OAPNpKgFQ{m7FV>>{Kntr7jlLKr^xh&w z%-4V5B8+={vb%YS$Ul(-=mpdO6QzH(f&Y(z*}V zte+rkY*uy%lcE>YfGDcdn-(TlOZ@3_HdnDT(i)>_G0AI<58+(^q z4<>vKal`h4$+GhhrFN~ArSqz3AhF}%S?U^l*OpWDy=)wD>wy*+gJjp8ON~ibLCa3G zal^)Jqt2Op(HdPR6PDMMZPw zOdNL4cb?tS&$7eluUFrG9=%;@I(;ajxK@L3^_-5!V<3>~QGsAA#a~a18Q88wk4*!= zrD2i9GlurBU$+fwdgzEMV_Mi|VF(){4Q}z$8O$L}4kZuT7QJIRt=nxs_efot(^q2d zbw=m-tlldZ)M$7~)OBQEpP_$tvn<5H>8^&I-z0xgc}_!q%jC5;efXHAzfpEmu@8tT zf;&Wi_*I_BEv|X-ikQ%sM*5;>NVxv7@`yV6F0-GXbP&iKQA){dXx|Dk)W%E5B0(A4 z|AIg?RCQ*o?_ex35M*9_@q}sv3`rVgaF6Rv6jYOF&c%xtggm8iTjWcjOtAxVaxz_lNUs2fSW^|nl%pi9Fya+*)RKy5ATZD?@AsRmq&TXVW52Q^eg*Q5ZIH_X zixI|*Pjjz1ZPnk|y*|Y4;2Xhr!cRp>B~yYehtFDtEwK9VC6;=<9jknvb6W`76JNpI z0Hgv2nfvWvfHzK3QKLVLAFfnZ;s6`v(lj)pw7OBPG6@!hJ)YYYO1h_hejo#DO74=v zi~V*czTFr__7o;I=)8r-nnV0t_O|l0-e5GbMKyGTH!sZgIy@;aAne;McuUh>#BOu1 zD=^pHVUjnFdq8Wima7L09*?9{1e|!ob`HC2_+#9L)7H!@rwE$qIVaN#qtd4w&zBmX zvE$*gRlZbSN|x?ZMX*!vw%mg1>+$^j#7R8{h$rdWYUvB0e7Sxv->14B|GT`?q6ekB z1kr*<=Sr;W>Srvb#g^EFQAN80G2dZezF>I1|2mmqGKvh9Vp4cTTFnpkTPRpcbEG1n zZjDry^U=rQ)W#O?mNwuHV5JyE(qAp1gV?*ei zG)>`3gt;_wD3OGsg0SHl8^GAU8fcKn9G|&=>m)80>`~A4&d* z@v}-W8C5#?8)bF3f$Y%B_E-~9aOF%OF_2t|OuX*reQIdFo50f6!!`_~i#Nb2^K1`R*Q)CAC zewM8XQ_OF9r1=Q;_r+3RUM;363J_2)AnqK+?^XIs6@K3${$=f=0qdqbU8hTX&KVN} zN)`p=&r5FS~?DL6PR5=!m5h^IyO;SGEcR)5V2}rRpdy3{#u_RmXm0D4ms+d%W zVrki_fpy8NWqzyEEqtrSMCUszvUI)jN(Q=E94#7_2YfE#j?esxk-|S@Cl3X?X)@X+sV0#Niu@d zO_uFzuv=NQP$_Pmu9#Qabfl&OrlH}omuIYI1Cy`3>U&w7U>L);P$FcUiw&;qlWMm= zL-&Wm+$zKP)2#C-@z;nd)Y-TYWOO-hDP^8%r(rnO^`1LvemrN>&9sk@A9Tx-uWOME z!LV!*EjaIik#TN%Zh~>%h%>*%FTsmi5b5`S-2Aj$QTA9K%(xZ>T47|zR7 zi9@%%w})&t?@nlt8yEU4MNehCmZ;iiExd~4)u1+=wTW6UH$r_bKyY5}Y*Nh6LZoTB z=UlMgy49%fI;6e-gwCDPGTk?v4gF<2yQZg%-zH|jCBk2}+o%*OxXetaKfI?DYcf$K z?M#ns3F|FHm$h?Lq&$m7FR5b0dnUPZ7Q>lPyCIl9zq2)Y+LRFLRo%2U8=lDqnXbjI zC>?!IhdS&Cjq%jC~e#Or}1*3*+q{#Oin*;bh5_R%LOy zfL?-A&pI{3uv*>Za=fsez{+^5X2ar|tfF(KS4d+~r_o%ZnqqH;uG`N_V?f(n$}?c7 zjN{xo51qW!tEV*=?kZN*wVhNGc9cQPvZQLvqTaxaVqIbpmP}7vQp|-`Dt%;a%xE?L z@tHPAI=BfH+Pn(kl64)~P)|2*B`90^I>QiJy?UBr$-Hu#4;mFB?n1SH6b)M~KTbEJ zdIpo6Fm-W!I%as1mIwyji4GbZz29C1e z8aDjL)9y^36@ma9C4PO|dQ(v^Dd~y;X%Yqj&vyfp)G~=XaaMR%Jrh=nq24mdf_D9u z1UJwh5UhaG23Z#CAe^GYw-;;7mdoBR05|*}*bHoap+F zg_3Qm(Vb?t`2?7t4tFj{3fB*!A#i;#@2{*4QN9#8X;@J3OOFD* zkvygvc=?M0&;0rtRAd`dbd=Q)Bch8v$=aS!ikN-^^g1BhvXAHkQD0c=R3Qwri!7U` z;pgVegPMq@3|Z-zv68aH205f7 zmHN(1>z|k;CtC~keM*b3%bI*g@3as!$+X$vaWd8yv&ns3FNuU)Ur1*CN{0-sIytT{ zO?Uygl$VpDdthI(-r|s*5qU`|rYe@U+PDLqiB_fG?Y&D~eW*e&JW8$Xa7cqHH6iop zHE>YaMv_;-K78bS*cM?lc?1GMbi`||50t?FtbJ==KsA)2j zVayt0S;&<+LgBOSH2UdLXjgvxynfgir_C5*!(e7t3o4<#40SDbGzLb-iBE1 zgoJC0YuEc^{YA{*c9#dpj9kVr4?46b&KP2K05Wjzng8jI2#_@!!z8mzaJRYpo2t;^ zIAh5{R!%w9l);>F$*Hxj?2EY%8n|$ElEN%k&WPRvYo53K{->BCydADsUx);ZK6QEZ zuQ5#WK?rodwead*tAKiM1&Q#H-Jfu?f&!ETwVnKRTiW_so#LRMf07A&jSp^v{2S+X zii|$^*M9BkOQs-GU5jP$%622T6z4}WsUH+RD`9IDMTigEa51yK#_>g_V&6-+p!I(n z3Y@WS3eVrGV7_EHrqDRMwy80wR1osv6^i}Ie%1bZct;J>!rJZ)g#Z1mJ5*A6%LNDs zwW>B9EF3?vIcG0+1lw!Hy>?#`@-lJIh5967v}PTA&Qhg7P74Ol!ycCWJ`*%Z!yXeT zsIdv1B|j1(t2*US42CyJ?dG4}li^w%4B2s_FtBTBhLW0F%9X-XN+eq+t1pH3hPi@o z9`^veCzWxWV3&)}1|ixzD=fYw8+BjG;sy^?aiSnNV{%Az+OuE zT(2?-P=`CCu2!xw7T>0XC_VOyc*$`CuV^GZke}zt?yReV3$ogZtJE4wpE4*7|2hV_ zMJXtpTpM8oKiaH+*B@M@nsZsE({5w=HqF=ks-Rs09x_znT%5_(&5nC-z@Xta^}+4~ z+6`+$-ul|Bog9hV{eAow3=b{)kv(ORLWs~;_APdqrK8-1DjEVFWAxtsO*^Jp7$5m6 zuu+eqVaztynkt>_k_1RVn>qy1zpSyA=UzDF1M4v{)jzr|yV9Bbe7ERELLA-rBk!I_$147m5|&D%O15%gt9gcWux$>l`S z?X+5S0s*nqFrhg_JEb6ZXg_YT$A`TxXD=EWaS7!s=#U46RhekCOD9cS$c`!>xfF`h zN<@JFyhUu!VYoM>AZmtDO*Sgcwi{Tv@O%$-4RSx*P^2i>-!B~RJ)xes2}!2)*mlEc79yTVwsI`dK75PWxjeJDKK>V&6H(m_L2Cy-muJGmV`wl;aJWG@3JlUk$n{LN{w2xAI@Gqv1_2gIl z%GpS}aSc#PScp7L_+-h{INoKZA>f`I8T~$?R`)Ys8P-x*MP$4gbwsY?KK}(=O6o}g zWC&UbBx)&pjKsJ+-C>?~aO~@ zV(qc(0;@5g=#c1Q6cpE0V4LGoNl0nFX6qnFIA51LCqaDnT1in!!^hKHR>Yk!qG!7A z*!6mxGhf8(g~#iB+p!xQg}~KG5mSN<$}j1i(0r_CNZZ$wxfB}Qjq6aWVe1HvxT~8K%(e~5#6^5Zz`C&A_L@;a!;5#NH$J|)#B-K&PP1aA*}Un zIZ5S(@n+~1w&d(7l-PTkyCRry6O56Ata)MH=HQVi7mJ9|)59#T;KH#}85_*vF<|WU z#kHal`j6-_DgvVCRkUBCUkw+IvuGSZ$9sfsF9iW^C$^>rCCsRu2Bg$Dn7jk>5%Us| z_CFe*<3xJ#)?^3oK$4|v)1*hf09uV;jbtBJ?slWsk;fdz(3DYo_r`nCoYq;1MMsX_ z2~|U~N>x+?mrv&S0tI}(xi;c8MDaD1DB%mpv~0$=nNV-@QdXcyjhWo*|+xqX_a_q#hfq1(v=?gj6Ds)Txsv{f@~j8WJDkk zy>ZN7Uv#wJ@$x?*xNb28JvbtX9N0eHp(rQPzD%L9TBG47nFvYScj63>+xaoiK^ zZhfYsUCahwB3^#`r6M68WXd%qlei*ZMpPMlcdO4=Xb&b|Zbv2(?25QX;(RM0D66$5 zTxmRM&}a1E+K_1)TW|*U4C+g}9R`Ha59BG}%~_2>RdRl~t+knLEm<3)b&D#;)SuBB z35BIG+)ZZPKnIqJ2R^u9?u^|%5Okk1fV`>=Daz`EK*iCD>WJ>~WAr7^bl94@HwI58ykCUv*5w*3rax%Ez8-8U}%KamOy9oA~++Dpj@+{3K(B#ir z54E*LEeRvwUNa!732eaNhaUSaL7`}ESK|(e*%>3j`_BsP)u=3|fVxnwIH_9$gj(2B zU;~F?DitL|!rQ3^whS0G-VDuHJ!|~B1eV}DAtPA(jOfMjYoGj^SMpes5|?@|0ThU` z3Rt|a4iwufD%Uy7{Ll(3HRsx--9xYSCtzmvI*vy#4_`UGk=ZjPA==6`i{%S*(S?S{ zTPE8lubm9#^;4McGq1wFM8hM0YgiTA zT466)VT`%&3gTWc)UEdGq}QSX;wU$_8h6mFcH>rUkP9o~Hb+O`cSX`HQpsFq)_mUa z6X&}?Dq1rPj3(!9q&=H_xp~hR2H)K6CYWVG>P#u9btIXzdP?0|ZqaMkRF}T3&&Q-- zV+=_i6dDq##jX~!6QPZJE7ot z1{L@tY}}%)8P}`KmMX9Xu;(@pv=6vfI}!rGcbqid5ze_Dr(N|Rn1g!)9i)&;fum{r zfZ)5{{xd;$h(Og6`|qLOSqB>%%~F0m1f`5`C|(vjd4o7!E*RzM5+OlcLa7*bb6-?f zR7oENl-|2JwIU;=%o)A47=6B2v-|diB;Dk=$a)uavLyTPYYw3M-q)H-WO=3x&NGl` zH@TbFxuME5&2hRXf+)Z%uyA+`)2tw?0^??PEJP0?$qL@S*8JInd$v?0U*$a+UFpLe zU|9f>h?(ZZMmGzkgzwE_u_UIMQvBhN%tnR0EBstAkG%5yTsRN{kZH=7IpGWPG9N@? z78J-bA24pz97rfvgJo||yZ6-tRe4Di+F@f=P4gkRWZmPJ_=i%0&427 zz+$VP_u^|Q*{hIJjBq?Lora1x2AJ8)5jw6q!Zz?-9$|P!I#*A$xG7RzY zq3~m1l4t#(=ck5Pn#8uOG=Z_o&~ny``#_{CnN51uiMSTboL)fhh%3_@PjSqpFnXId zTl*hD*vtTQbfztpZpDxoR`Tf*8kEF%Q!(mcQ6}6THi(`DXLuP=ras1txtI*Q#qneK zgl2C4D?zAbU6#hpJ%ldp`RbCM;$hl+-6f`ojbxP)dqrwo;p+#ANWpmOkDUg>(zB#!*VvbFAxz(PhkBg@ZF6#BZ-UoKiBKP z7i%7+i%BTZkgIIkzIUFmn)Q}Ytlm!eg3gevtsI71E@v~?NFT)bzJ$4*lmR$=W$oLIKOmntyovCArqP8he*Lhpe%5uRLz4+d6 zcuO1>MdW5@rj5GiRpjf@cVWyP-6on>B3(o;KC@Q{^+3bJVog?t;Npy|w*--gO9++T ze!U9OFHXQ<8M;~#43fQeVU#5>Qq1v5M=3$yq?(T*{GiUDA|Ez^czGDx z{LZI`Sj}8r-k%Jdn2VSjo8*|^oY;fn^AS*%*E(hAeQr=co)H1Xs4JGu7%8|iYW%q>+8>Tc#afyd~I zX^gT+uz_NWnsJhwA>X3X>Vtj8RP7X-V7U;bxq5Q5oob~$S^zkI&j(m5Jc*wCPe!@l zPi}u{{c$gJzC};wtI?=&k&~-U-f#`47N@pBdr3xOCWz(-6UBSOE){g#Z=z~KN&cAA zo~sbZe*=1#6Y9zij0|h;LNJonyqiAA=lb=_!vowJ(n~L+%KfgM{NU(d>!70|<%v`# zqhe2Mi1*0XU?OeQaShlPJi@Ez@}fySCQI9jDVFA^o4J;40|EN$R|Ea(%l2td%gjq- z6-#w5ggHpk$^5ALhSh_G3f&n{ggBywNKdXC59axEnm+PGad&x@QcdlM!wokg@Wo>9 ztXveSTvN!jqhA_|Y5KQ44_eP&@Y-5+N3utUpwG#JIaHz@3GUQB+fs=e@{+_=+*TqB z|5Vup6tsL`bllan9Kce_r2I8lE<*E6(6uM8R))H56K@XMF%cle8n|wDr^1M)3kZb7 z8~P0X))^-O>tl?BK9w9vBe_TCv!jGSLsJqpz9#ShBPNq8?+>?9zW(#EMz0=y5z%(V z!ESD#8fw|;avMSvsGsR`^<)oY(m5K_y%ydJ@0oA!2_x;4CJyQ735`fB=0StkEuq*uKq#iKTIa>p?)B!rf#{Y?+`j>3cKeF|9XPN2CE7VASk_Y3h%V2&)p z!tD=)sY!fualoaANS%-^v(`%|WoA~?u8mZi;C7!6M_mwsN5lFCQCRl}Sd(qRAuxQMv`eS-$>zxu zSs~q{htNp!5_acp1l7wTrjm)fZ=Hrnww8o4|zU5k5eaM<> z@S(J>p`uWDOZ!QeS^g(ij&2ki%6b3;VjO^9*&pH%{jm1@Hx@(yi9c5y6|}DiaI(xv zJAPSg6lGFy=pgWA_2%@f(vwqq17byQ%xPVGpp(!{>`X#LAN^0uw>@7T!dh#~sAW9h ze?@T4@Fg;;%+u)H(7u{CJ+<||PknW>S@F^v(hgiek~4UbB%VCA2Y;nhvLQ@?yp&|P zAmePD4;s5vO1-ZaiT&&rsZB7R;~Mf)9vEUhL?vHhQsF{!7E5?A zY0|50!8Zx$t!SeQ`S}Tw&YgK45_RZhr5M=x9;F)KN|qXUbXa%gs>MlQTxk5z^`Hy+ z2ATn3sOuHnhC%bQhcWfz4wp2?6wDJCuyQb1HqB$46k+(yD00je^{SB-)YGC{-KorK zY*f&6a#9}I1UA&$$xSaRl8cSG-hs5vU6?s`I|Uc9l8aWs6NJyf^&TKc;Ntr$Tbm{k zrpD}zxDcjx9h|K<&XgrPbvenzH?+rj2w9V$oxvM(l*BppxK!V7;-1eJEcR1>D8GX5 zpKpv>RfBaQ*}zczc#z=kn8%ZIyuIPA)2XY*;9hKpcU2=kOjqd2mfmURjrq!VG5U<1 z0!v(BA@1y1zVVQrX15{ssR(jZf})^eFWpPUD%$LBwJT9G=BqPNQ4MkMCMXec^wp1y zA1XTNvDq!)-r4({8co^vr<`JsIQ7ty`nhxa7SL#+UEwkw&zy`&C*^4Zj%BXim?XZ| zsmpS}eZ4m#pPK=QT)Ejdt+t|6YN#%{uie1V)m2+kvh^(Jkus$Gu=CwfU%lna#jc*O ztVNY$B^%008^lN_r9jxj8)`NUTAhrUbpZL8)^d3KX|}ca7X##9XQlyzXBXn0{&bqu zwbESML3Tdo^j+^WkxEQ-^RHx6X7>@5o~{`^CS%2CB63%5RQpb&lw4RRxbw+OduNtWmF3Lv%oQ| zH&V+&`L08VW4sbt9mNV8ce;Qw)U^`mAscQHdI{|)VP>0P ztlu0IGAe9$XK=Sj=%-_(YKed_iAvEB45U2U@UcKU^aQhKdT`fN;0b9r4#zhR7q;i1 z!IyX%&C+K&mb<<(7*Y;ty&zIHYox*LDLK@i<1&$V_2TFpQYO4uuTVDO!7?s~tYb8a zjx~g3KHg_rmHCO=;=@!Q``3H<%y7xA%64GnPN3%L6QA_RQ?ioXw7NBnc_{q0{P z?gN9MfdX{PprC*b0OrO36d=Il^q&V1mhG8yK{~M|Q>1!=_$iC?YWIYa0?%(vKe>}Oqe1Q7- z1FEpCt6D`ORa>VTxJ zwXv+Nt);Ww_Z7%fXdsZSC0sx`904kt=*KGqzH@!gk^cw{P%v=Px3c;(nwg)GNe&?O zG~h$}H#AxDKcfB6>LvRt3fa@wn;$`T%LHsTYZ1N+8~?xrR29Hf;tx6h>-GK@p23Yd z?H&LR2Y?3v`0tbJiv%dxKj8gM3gyq4Hu4x+jRw>VAE4qH|BLvo2zgomi22k=M-reD zVfDlH%Z zV8v|Z>60&{(lNsKF#)1fuNtb zB3ggM{aYXTUvfdeviwPW<|m7s&VQ%EzXsqxPKUn&{z-1;CtxW6@PCQV{EG6;U*}t@ zAM@BZ5t#4Kx5-6Y_ivg1w%dQ2_^Bk!kL0<&VZSH-Ww-eKbl~3!#60DED(vx-lS}`% z7yg~|pJhItl0DTy_(|q!^e@Q%NfqHK)zg5=KdF+e{sq-vCysv%ul$tiX&~F5RN=P& zg6e;VwS7v&{3JH#Pa+b>e?jzzIr3YReHsPxCn|!|Z>axiYQMT({618D!+aWn>nG-p z=Wm$5w5nenIiBYJY5bR;m@U5lg!xzR_=jjPPnn)ZiTKF`6!b5czGvdkF(aN*J$2Im zNp%$R|4H@dnt19W{gYrc>|YT4cJTN#15bTrf8tX_{)YeKEajIPf8vAn6#l9I<4^di zcfY~^0{d5`f3FI_-|c?&hI~r$)P?LP$z;rLB>x`{WlwpYx;6deDTw=>=bxOMo+3YW z75Rx=miQa;@5S`H239?fDiQxaJ-lyj1KVgB>euI6wApIpD{|C)e6X~Bc zQvh|jUsg_kJcIvp$9j5~^%K*(>i@-v9U`5#BsPc!lKl=UY(TElPfKgNlFbLRS#=;^7*Pom+L|1J#w*BQxk8F0Yv?%U}+ P6A%($1542Q?YI929T5o( literal 0 HcmV?d00001 diff --git a/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 000000000..f11a81f7d --- /dev/null +++ b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/source-control/sample/gradlew b/samples/source-control/sample/gradlew new file mode 100755 index 000000000..9aa616c27 --- /dev/null +++ b/samples/source-control/sample/gradlew @@ -0,0 +1,169 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [[ "$(uname)" == "Darwin" ]] && [[ "$HOME" == "$PWD" ]]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/samples/source-control/sample/gradlew.bat b/samples/source-control/sample/gradlew.bat new file mode 100644 index 000000000..e95643d6a --- /dev/null +++ b/samples/source-control/sample/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/samples/source-control/sample/settings.gradle.kts b/samples/source-control/sample/settings.gradle.kts new file mode 100644 index 000000000..61c9e3f63 --- /dev/null +++ b/samples/source-control/sample/settings.gradle.kts @@ -0,0 +1,11 @@ +sourceControl { + vcsMappings { + val computeGit = vcs(GitVersionControlSpec::class.java) { + // A real life example would use a remote git repository + setUrl(File(rootDir, "../external/build/git-repo").toURI()) + } + withModule("org.gradle.kotlin.dsl.samples.source-control:compute") { + from(computeGit) + } + } +} diff --git a/samples/source-control/sample/src/main/java/samples/HelloWorld.java b/samples/source-control/sample/src/main/java/samples/HelloWorld.java new file mode 100644 index 000000000..9c7fb0ec0 --- /dev/null +++ b/samples/source-control/sample/src/main/java/samples/HelloWorld.java @@ -0,0 +1,15 @@ +package samples; + +import compute.*; + +public class HelloWorld { + + public static void main(String[] args) { + System.out.println(greeting()); + } + + static String greeting() { + int answer = DeepThought.compute(); + return String.format("The answer to the ultimate question of Life, the Universe and Everything is %d.", answer); + } +} diff --git a/test-fixtures/src/main/kotlin/org/gradle/kotlin/dsl/fixtures/AbstractIntegrationTest.kt b/test-fixtures/src/main/kotlin/org/gradle/kotlin/dsl/fixtures/AbstractIntegrationTest.kt index 1fbb00c1f..bf792bb36 100644 --- a/test-fixtures/src/main/kotlin/org/gradle/kotlin/dsl/fixtures/AbstractIntegrationTest.kt +++ b/test-fixtures/src/main/kotlin/org/gradle/kotlin/dsl/fixtures/AbstractIntegrationTest.kt @@ -121,6 +121,11 @@ open class AbstractIntegrationTest { gradleRunnerForArguments(*arguments) .buildAndFail() + protected + fun build(rootDir: File, vararg arguments: String): BuildResult = + gradleRunnerFor(rootDir, *arguments) + .build() + private fun gradleRunnerForArguments(vararg arguments: String) = gradleRunnerFor(projectRoot, *arguments) From 0e6bfef1a53fd5da69018d4e185b270660e9e072 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Tue, 24 Oct 2017 15:20:43 +0200 Subject: [PATCH 061/115] Address minor review comments --- .../kotlin/dsl/provider/KotlinBuildScriptCompiler.kt | 3 +-- .../org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt | 8 ++++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt index acfbb236a..e95720976 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt @@ -176,8 +176,7 @@ class KotlinBuildScriptCompiler( private fun executePluginsBlock() { - val pluginRequests = pluginRequests() - applyPlugins(pluginRequests) + applyPlugins(pluginRequests()) } private diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt index 0cecaa5bb..f177cb82b 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt @@ -54,21 +54,21 @@ private fun settingsScriptTarget(settings: Settings) = KotlinScriptTarget( settings, - rootDir = settings.rootDir, type = Settings::class, scriptTemplate = KotlinSettingsScript::class, - buildscriptBlockTemplate = KotlinSettingsBuildscriptBlock::class) + buildscriptBlockTemplate = KotlinSettingsBuildscriptBlock::class, + rootDir = settings.rootDir) private fun projectScriptTarget(project: Project): KotlinScriptTarget = KotlinScriptTarget( project, - rootDir = project.rootDir, type = Project::class, scriptTemplate = KotlinBuildScript::class, buildscriptBlockTemplate = KotlinBuildscriptBlock::class, pluginsBlockTemplate = KotlinPluginsBlock::class, + rootDir = project.rootDir, accessorsClassPath = { accessorsClassPathFor(project, it) }, prepare = { project.run { @@ -82,11 +82,11 @@ fun projectScriptTarget(project: Project): KotlinScriptTarget = internal data class KotlinScriptTarget( val `object`: T, - val rootDir: File, val type: KClass, val scriptTemplate: KClass<*>, val buildscriptBlockTemplate: KClass<*>? = null, val pluginsBlockTemplate: KClass<*>? = null, + val rootDir: File, val accessorsClassPath: (ClassPath) -> AccessorsClassPath? = { null }, val prepare: () -> Unit = {}) { From 6362b5184fca14c4d1a3c5bfdbec6bc521924d98 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Tue, 24 Oct 2017 15:21:08 +0200 Subject: [PATCH 062/115] Remove script template qualified name from cached script file name --- .../dsl/provider/CachingKotlinCompiler.kt | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/CachingKotlinCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/CachingKotlinCompiler.kt index f13fd0fb5..f7847092b 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/CachingKotlinCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/CachingKotlinCompiler.kt @@ -66,8 +66,9 @@ class CachingKotlinCompiler( classPath: ClassPath, parentClassLoader: ClassLoader): CompiledScript { - val scriptFileName = scriptFileNameFor(buildscriptBlockTemplate, scriptPath) - return compileScript(cacheKeyPrefix + scriptFileName + buildscript, classPath, parentClassLoader) { cacheDir -> + val scriptFileName = scriptFileNameFor(scriptPath) + val cacheKeySpec = cacheKeyPrefix + buildscriptBlockTemplate.qualifiedName + scriptFileName + buildscript + return compileScript(cacheKeySpec, classPath, parentClassLoader) { cacheDir -> ScriptCompilationSpec( buildscriptBlockTemplate, scriptPath, @@ -86,15 +87,15 @@ class CachingKotlinCompiler( parentClassLoader: ClassLoader): CompiledPluginsBlock { val (lineNumber, plugins) = lineNumberedPluginsBlock - val scriptFileName = scriptFileNameFor(pluginsBlockTemplate, scriptPath) - val compiledScript = - compileScript(cacheKeyPrefix + scriptFileName + plugins, classPath, parentClassLoader) { cacheDir -> - ScriptCompilationSpec( - pluginsBlockTemplate, - scriptPath, - cacheFileFor(plugins, cacheDir, scriptFileName), - scriptFileName + " plugins block") - } + val scriptFileName = scriptFileNameFor(scriptPath) + val cacheKeySpec = cacheKeyPrefix + pluginsBlockTemplate.qualifiedName + scriptFileName + plugins + val compiledScript = compileScript(cacheKeySpec, classPath, parentClassLoader) { cacheDir -> + ScriptCompilationSpec( + pluginsBlockTemplate, + scriptPath, + cacheFileFor(plugins, cacheDir, scriptFileName), + scriptFileName + " plugins block") + } return CompiledPluginsBlock(lineNumber, compiledScript) } @@ -107,8 +108,9 @@ class CachingKotlinCompiler( classPath: ClassPath, parentClassLoader: ClassLoader): CompiledScript { - val scriptFileName = scriptFileNameFor(scriptTemplate, scriptPath) - return compileScript(cacheKeyPrefix + scriptFileName + script, classPath, parentClassLoader) { cacheDir -> + val scriptFileName = scriptFileNameFor(scriptPath) + val cacheKeySpec = cacheKeyPrefix + scriptTemplate.qualifiedName + scriptFileName + script + return compileScript(cacheKeySpec, classPath, parentClassLoader) { cacheDir -> ScriptCompilationSpec( scriptTemplate, scriptPath, @@ -118,8 +120,8 @@ class CachingKotlinCompiler( } private - fun scriptFileNameFor(scriptTemplate: KClass<*>, scriptPath: String) = - "${scriptTemplate.qualifiedName}_${scriptPath.substringAfterLast(File.separatorChar)}" + fun scriptFileNameFor(scriptPath: String) = + scriptPath.substringAfterLast(File.separatorChar) private fun compileScript( From 1129b4a6e7f41c22cac62621405d3cdad3055363 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Tue, 24 Oct 2017 15:27:55 +0200 Subject: [PATCH 063/115] Express target blocks support by mapping over nullable script templates --- .../dsl/provider/KotlinBuildScriptCompiler.kt | 29 ++++++++++--------- .../kotlin/dsl/provider/KotlinScriptTarget.kt | 3 -- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt index e95720976..727b24103 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinBuildScriptCompiler.kt @@ -135,16 +135,16 @@ class KotlinBuildScriptCompiler( private fun executeBuildscriptBlock() { setupEmbeddedKotlinForBuildscript() - if (scriptTarget.supportsBuildscriptBlock) { + scriptTarget.buildscriptBlockTemplate?.let { template -> extractBuildscriptBlockFrom(script)?.let { buildscriptRange -> - executeBuildscriptBlockFrom(buildscriptRange) + executeBuildscriptBlockFrom(buildscriptRange, template) } } } private - fun executeBuildscriptBlockFrom(buildscriptRange: IntRange) { - val compiledScript = compileBuildscriptBlock(buildscriptRange) + fun executeBuildscriptBlockFrom(buildscriptRange: IntRange, scriptTemplate: KClass<*>) { + val compiledScript = compileBuildscriptBlock(buildscriptRange, scriptTemplate) executeCompiledScript(compiledScript, buildscriptBlockClassLoaderScope()) } @@ -181,20 +181,21 @@ class KotlinBuildScriptCompiler( private fun pluginRequests(): PluginRequests = - if (scriptTarget.supportsPluginsBlock) collectPluginRequestsFromPluginsBlock() - else DefaultPluginRequests.EMPTY + scriptTarget.pluginsBlockTemplate?.let { template -> + collectPluginRequestsFromPluginsBlock(template) + } ?: DefaultPluginRequests.EMPTY private - fun collectPluginRequestsFromPluginsBlock(): PluginRequests { + fun collectPluginRequestsFromPluginsBlock(scriptTemplate: KClass<*>): PluginRequests { val pluginRequestCollector = PluginRequestCollector(scriptSource) - executePluginsBlockOn(pluginRequestCollector) + executePluginsBlockOn(pluginRequestCollector, scriptTemplate) return pluginRequestCollector.pluginRequests } private - fun executePluginsBlockOn(pluginRequestCollector: PluginRequestCollector) { + fun executePluginsBlockOn(pluginRequestCollector: PluginRequestCollector, scriptTemplate: KClass<*>) { extractPluginsBlockFrom(script)?.let { pluginsRange -> - val compiledPluginsBlock = compilePluginsBlock(pluginsRange) + val compiledPluginsBlock = compilePluginsBlock(pluginsRange, scriptTemplate) executeCompiledPluginsBlockOn(pluginRequestCollector, compiledPluginsBlock) } } @@ -227,18 +228,18 @@ class KotlinBuildScriptCompiler( } private - fun compileBuildscriptBlock(buildscriptRange: IntRange) = + fun compileBuildscriptBlock(buildscriptRange: IntRange, scriptTemplate: KClass<*>) = kotlinCompiler.compileBuildscriptBlockOf( - scriptTarget.buildscriptBlockTemplate!!, + scriptTemplate, scriptPath, script.linePreservingSubstring(buildscriptRange), buildscriptBlockCompilationClassPath, baseScope.exportClassLoader) private - fun compilePluginsBlock(pluginsRange: IntRange) = + fun compilePluginsBlock(pluginsRange: IntRange, scriptTemplate: KClass<*>) = kotlinCompiler.compilePluginsBlockOf( - scriptTarget.pluginsBlockTemplate!!, + scriptTemplate, scriptPath, script.linePreservingSubstring_(pluginsRange), pluginsBlockCompilationClassPath, diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt index f177cb82b..9bf312942 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/KotlinScriptTarget.kt @@ -90,8 +90,5 @@ data class KotlinScriptTarget( val accessorsClassPath: (ClassPath) -> AccessorsClassPath? = { null }, val prepare: () -> Unit = {}) { - val supportsBuildscriptBlock = buildscriptBlockTemplate != null - val supportsPluginsBlock = pluginsBlockTemplate != null - fun accessorsClassPathFor(classPath: ClassPath) = accessorsClassPath(classPath) } From 615a702ede211689110bb78341d60fff1c04bddc Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Tue, 24 Oct 2017 16:17:52 +0200 Subject: [PATCH 064/115] Assert model builder classpath includes settings buildscript deps The test setup is a bit convoluted as it relies on a local maven repo. It'll be possible to simplify this once we have a way to create FileCollections propertly, aka. files(..). --- .../KotlinBuildScriptModelIntegrationTest.kt | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt index 0b58689f2..5546d20a8 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt @@ -216,14 +216,23 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { withBuildSrc() - val settings = withSettings("") - - withFile("classes.jar", "") + val settingsDependency = withFile("dependencies/settings/settings-dep/1.0/settings-dep-1.0.jar", "") + val settings = withSettings(""" + buildscript { + repositories { + maven { setUrl(File("dependencies").toURI()) } + } + dependencies { + classpath("settings:settings-dep:1.0") + } + } + """) - withFile("build.gradle", """ + val projectDependency = withFile("project-dependency.jar", "") + withFile("dependencies/build.gradle", """ buildscript { dependencies { - classpath(files("classes.jar")) + classpath(files("$projectDependency")) } } """) @@ -232,7 +241,9 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { assertContainsBuildSrc(classPath) assertContainsGradleKotlinDslJars(classPath) - assertExcludes(classPath, existing("classes.jar")) + + assertIncludes(classPath, settingsDependency) + assertExcludes(classPath, projectDependency) } private @@ -305,6 +316,12 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { classPath.map { it.name }, hasItem("buildSrc.jar")) + private + fun assertIncludes(classPath: List, vararg files: File) = + assertThat( + classPath.map { it.name }, + hasItems(*fileNameSetOf(*files))) + private fun assertExcludes(classPath: List, vararg files: File) = assertThat( From b5bd0e61d4d032457c47a59e8e79e80aaf9d01bb Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Tue, 24 Oct 2017 16:34:26 +0200 Subject: [PATCH 065/115] Fix model builder classpath includes settings buildscript deps test --- .../dsl/integration/KotlinBuildScriptModelIntegrationTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt index 5546d20a8..b6fbd21d6 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt @@ -220,7 +220,7 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { val settings = withSettings(""" buildscript { repositories { - maven { setUrl(File("dependencies").toURI()) } + maven { setUrl(File(rootDir, "dependencies").toURI()) } } dependencies { classpath("settings:settings-dep:1.0") From 9047af1312a046cf7d4cf73edce8cc674740b86a Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Sun, 22 Oct 2017 11:46:05 +0200 Subject: [PATCH 066/115] Build-cache sample --- .../dsl/samples/BuildCacheSampleTest.kt | 19 ++ samples/README.md | 1 + samples/build-cache/README.md | 14 ++ samples/build-cache/build.gradle.kts | 20 +++ samples/build-cache/gradle.properties | 1 + .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 52804 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + samples/build-cache/gradlew | 169 ++++++++++++++++++ samples/build-cache/gradlew.bat | 84 +++++++++ samples/build-cache/settings.gradle.kts | 21 +++ .../src/main/java/samples/HelloWorld.java | 12 ++ .../src/test/java/samples/HelloWorldTest.java | 17 ++ 12 files changed, 363 insertions(+) create mode 100644 samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/BuildCacheSampleTest.kt create mode 100644 samples/build-cache/README.md create mode 100644 samples/build-cache/build.gradle.kts create mode 100644 samples/build-cache/gradle.properties create mode 100644 samples/build-cache/gradle/wrapper/gradle-wrapper.jar create mode 100644 samples/build-cache/gradle/wrapper/gradle-wrapper.properties create mode 100755 samples/build-cache/gradlew create mode 100644 samples/build-cache/gradlew.bat create mode 100644 samples/build-cache/settings.gradle.kts create mode 100644 samples/build-cache/src/main/java/samples/HelloWorld.java create mode 100644 samples/build-cache/src/test/java/samples/HelloWorldTest.java diff --git a/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/BuildCacheSampleTest.kt b/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/BuildCacheSampleTest.kt new file mode 100644 index 000000000..1ff31a400 --- /dev/null +++ b/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/BuildCacheSampleTest.kt @@ -0,0 +1,19 @@ +package org.gradle.kotlin.dsl.samples + +import org.gradle.testkit.runner.TaskOutcome +import org.hamcrest.CoreMatchers.equalTo +import org.junit.Assert.assertThat +import org.junit.Test + +class BuildCacheSampleTest : AbstractSampleTest("build-cache") { + + @Test + fun `compileJava tasks gets cached`() { + + build("build") + + assertThat( + build("clean", "build").outcomeOf(":compileJava"), + equalTo(TaskOutcome.FROM_CACHE)) + } +} diff --git a/samples/README.md b/samples/README.md index 849e71012..4a3634c6d 100644 --- a/samples/README.md +++ b/samples/README.md @@ -6,6 +6,7 @@ _See instructions below in order to [set up your dev environment](#set-up-dev-en The Gradle projects in this directory demonstrate typical use cases with and features available in the Gradle Kotlin DSL. They include: - [`ant`](./ant): demonstrates how to use Ant from Gradle via the Ant Groovy Builder + - [`build-cache`](./build-cache): demonstrates how to configure the Gradle build cache - [`build-scan`](./build-scan): demonstrates how to apply and configure the `org.gradle.build-scan` plugin - [`code-quality`](./code-quality): demonstrates how to configure Gradle code quality plugins - [`composite-builds`](./composite-builds): demonstrates how to use Composite Builds diff --git a/samples/build-cache/README.md b/samples/build-cache/README.md new file mode 100644 index 000000000..b276362a5 --- /dev/null +++ b/samples/build-cache/README.md @@ -0,0 +1,14 @@ +build-cache +=========== + +A project that configures Gradle build cache. + +See [settings.gradle.kts](./settings.gradle.kts). + +Populate local cache with: + + ./gradlew build + +Build and fetch cached tasks outputs from local cache with: + + ./gradlew clean build diff --git a/samples/build-cache/build.gradle.kts b/samples/build-cache/build.gradle.kts new file mode 100644 index 000000000..99bfba293 --- /dev/null +++ b/samples/build-cache/build.gradle.kts @@ -0,0 +1,20 @@ +plugins { + application +} + +application { + mainClassName = "samples.HelloWorld" +} + +java { + sourceCompatibility = JavaVersion.VERSION_1_7 + targetCompatibility = JavaVersion.VERSION_1_7 +} + +dependencies { + testCompile("junit:junit:4.12") +} + +repositories { + jcenter() +} diff --git a/samples/build-cache/gradle.properties b/samples/build-cache/gradle.properties new file mode 100644 index 000000000..160890028 --- /dev/null +++ b/samples/build-cache/gradle.properties @@ -0,0 +1 @@ +org.gradle.caching=true diff --git a/samples/build-cache/gradle/wrapper/gradle-wrapper.jar b/samples/build-cache/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..d4046a6637410b7fe15a04b5b0746c0ba4b7a365 GIT binary patch literal 52804 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 P6A%($1542Q?YI929T5o( literal 0 HcmV?d00001 diff --git a/samples/build-cache/gradle/wrapper/gradle-wrapper.properties b/samples/build-cache/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 000000000..f11a81f7d --- /dev/null +++ b/samples/build-cache/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip diff --git a/samples/build-cache/gradlew b/samples/build-cache/gradlew new file mode 100755 index 000000000..9aa616c27 --- /dev/null +++ b/samples/build-cache/gradlew @@ -0,0 +1,169 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [[ "$(uname)" == "Darwin" ]] && [[ "$HOME" == "$PWD" ]]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/samples/build-cache/gradlew.bat b/samples/build-cache/gradlew.bat new file mode 100644 index 000000000..e95643d6a --- /dev/null +++ b/samples/build-cache/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/samples/build-cache/settings.gradle.kts b/samples/build-cache/settings.gradle.kts new file mode 100644 index 000000000..325aac780 --- /dev/null +++ b/samples/build-cache/settings.gradle.kts @@ -0,0 +1,21 @@ +buildCache { + local { + isEnabled = true + } + remote(DirectoryBuildCache::class.java) { + setDirectory("path/to/some/local-cache") + isEnabled = true + isPush = false + targetSizeInMB = 1024 + } + remote(HttpBuildCache::class.java) { + setUrl("http://example.com/cache") + isEnabled = false + isPush = false + isAllowUntrustedServer = false + credentials { + username = "johndoe" + password = "secret" + } + } +} diff --git a/samples/build-cache/src/main/java/samples/HelloWorld.java b/samples/build-cache/src/main/java/samples/HelloWorld.java new file mode 100644 index 000000000..80b481292 --- /dev/null +++ b/samples/build-cache/src/main/java/samples/HelloWorld.java @@ -0,0 +1,12 @@ +package samples; + +public class HelloWorld { + + public static void main(String[] args) { + System.out.println(greeting()); + } + + static String greeting() { + return "Hello, world!"; + } +} diff --git a/samples/build-cache/src/test/java/samples/HelloWorldTest.java b/samples/build-cache/src/test/java/samples/HelloWorldTest.java new file mode 100644 index 000000000..8070cd2d8 --- /dev/null +++ b/samples/build-cache/src/test/java/samples/HelloWorldTest.java @@ -0,0 +1,17 @@ +package samples; + +import org.junit.Test; + +import static org.hamcrest.core.IsEqual.equalTo; +import static org.junit.Assert.assertThat; +import static samples.HelloWorld.greeting; + +public class HelloWorldTest { + + @Test + public void testGreeting() { + assertThat( + greeting(), + equalTo("Hello, world!")); + } +} From cb103ec4c6edfc2bec3bdb4ccad47f59431ea4e1 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Sun, 22 Oct 2017 11:45:41 +0200 Subject: [PATCH 067/115] Demonstrate dependency substitution in composite build sample --- samples/composite-builds/cli/build.gradle.kts | 2 +- samples/composite-builds/settings.gradle.kts | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/samples/composite-builds/cli/build.gradle.kts b/samples/composite-builds/cli/build.gradle.kts index c2057e2dd..c96611ea8 100644 --- a/samples/composite-builds/cli/build.gradle.kts +++ b/samples/composite-builds/cli/build.gradle.kts @@ -11,5 +11,5 @@ application { } dependencies { - compile("org.gradle.kotlin.dsl.samples.composite-builds:core:1.0") + compile("composite-builds:core:1.0") } diff --git a/samples/composite-builds/settings.gradle.kts b/samples/composite-builds/settings.gradle.kts index 50bf04416..9748bbcc5 100644 --- a/samples/composite-builds/settings.gradle.kts +++ b/samples/composite-builds/settings.gradle.kts @@ -1,3 +1,6 @@ - -includeBuild("core") +includeBuild("core") { + dependencySubstitution { + substitute(module("composite-builds:core")).with(project(":")) + } +} includeBuild("cli") From 5889f22ec1972fdef7d226f8415c8bb914ff0eb2 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Tue, 24 Oct 2017 21:28:29 +0200 Subject: [PATCH 068/115] Add README to sample --- samples/composite-builds/README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 samples/composite-builds/README.md diff --git a/samples/composite-builds/README.md b/samples/composite-builds/README.md new file mode 100644 index 000000000..42f09b4c8 --- /dev/null +++ b/samples/composite-builds/README.md @@ -0,0 +1,13 @@ +composite-builds +================ + +Demonstrates how to use Composite Builds. + +The build in this directory composes two other included builds, namely [`core`](./core) and [`cli`](./cli). +The `cli` build depends on artifacts produced by the `cli` build. + +Run with: + + ./gradlew run + +See [settings.gradle.kts](./settings.gradle.kts) to see how to include builds and do dependency substitution. From 393f77baeb3460448f2cd718ae5b2fdbb6b5a785 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Tue, 24 Oct 2017 18:24:38 -0200 Subject: [PATCH 069/115] Add 0.12.2 release notes --- doc/release-notes/0.12.2.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 doc/release-notes/0.12.2.md diff --git a/doc/release-notes/0.12.2.md b/doc/release-notes/0.12.2.md new file mode 100644 index 000000000..e0fea788f --- /dev/null +++ b/doc/release-notes/0.12.2.md @@ -0,0 +1,22 @@ +Gradle Kotlin DSL 0.12.2 Release Notes +============================ + +Gradle Kotlin DSL v0.12.2 is another minor update to the [v0.12.0][v0.12.0] release, this time with a fix for a defect identified during the Gradle RC2 testing phase. + +v0.12.2 is already included in Gradle 4.3 RC3. + +To use it, upgrade your Gradle wrapper in the following fashion: + + $ cd $YOUR_PROJECT_ROOT + $ gradle wrapper --gradle-version 4.3-rc-3 --distribution-type all + +## Breaking changes + +Please check out the [v0.12.0][v0.12.0] release notes for details. + +Fixes since v0.12.1 +---------------------- + + * **Auto-applied build scan plugin not found when used in Kotlin DSL** ([#3250](https://github.com/gradle/gradle/issues/3250)). Executing Gradle with the `--scan` command line option in a project where the main build script contains a `buildscript` block that applies other scripts would cause the build to fail as described in the issue. This has been fixed. + +[v0.12.0]: https://github.com/gradle/kotlin-dsl/releases/tag/v0.12.0 From ce15aad1305e0e39b55b2c9c06d3fe9544ed874f Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 27 Oct 2017 10:27:22 +0200 Subject: [PATCH 070/115] Add missing kdoc on KotlinSettingsScript.apply --- .../kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt index b483e5519..b7d1f21bf 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt @@ -40,6 +40,11 @@ abstract class KotlinSettingsScript(settings: Settings) : Settings by settings { @Suppress("unused") open fun buildscript(@Suppress("unused_parameter") block: ScriptHandlerScope.() -> Unit) = Unit + /** + * Applies zero or more plugins or scripts. + * + * @param configuration the block to configure an {@link ObjectConfigurationAction} with before “executing” it + */ inline fun apply(crossinline configuration: ObjectConfigurationAction.() -> Unit) = settings.apply({ it.configuration() }) From b9dd3f98d98262c916d956f4179b4bb933278128 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 27 Oct 2017 12:15:14 +0200 Subject: [PATCH 071/115] Introduce org.gradle.kotlin.dsl.provider.ScriptApi As a Kotlin flavored equivalent of org.gradle.api.Script. That defines a common API to be supported by all script templates. Not implemented directly by script templates to overcome ambiguous conflicts, kotlin/java interop etc.. Validated by a reflection based unit test. The validation handle a range of selected use cases supporting the introduced api. --- .../gradle/kotlin/dsl/KotlinSettingsScript.kt | 349 +++++++++++++++++- .../gradle/kotlin/dsl/provider/ScriptApi.kt | 79 ++++ .../kotlin/dsl/provider/ScriptApiTest.kt | 165 +++++++++ 3 files changed, 592 insertions(+), 1 deletion(-) create mode 100644 provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/ScriptApi.kt create mode 100644 provider/src/test/kotlin/org/gradle/kotlin/dsl/provider/ScriptApiTest.kt diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt index b7d1f21bf..9f0f09f97 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/KotlinSettingsScript.kt @@ -16,12 +16,40 @@ package org.gradle.kotlin.dsl import org.gradle.api.initialization.Settings -import org.gradle.api.plugins.ObjectConfigurationAction + import org.gradle.kotlin.dsl.resolver.KotlinBuildScriptDependenciesResolver import kotlin.script.extensions.SamWithReceiverAnnotations import kotlin.script.templates.ScriptTemplateDefinition +import org.gradle.api.PathValidation +import org.gradle.api.file.ConfigurableFileCollection +import org.gradle.api.file.ConfigurableFileTree +import org.gradle.api.file.CopySpec +import org.gradle.api.file.DeleteSpec +import org.gradle.api.file.FileTree +import org.gradle.api.logging.Logger +import org.gradle.api.logging.Logging +import org.gradle.api.logging.LoggingManager +import org.gradle.api.plugins.ObjectConfigurationAction +import org.gradle.api.resources.ResourceHandler +import org.gradle.api.tasks.WorkResult +import org.gradle.process.ExecResult +import org.gradle.process.ExecSpec +import org.gradle.process.JavaExecSpec + +import org.gradle.kotlin.dsl.support.serviceOf + +import org.gradle.api.internal.file.DefaultFileOperations +import org.gradle.api.internal.file.FileLookup +import org.gradle.api.internal.file.collections.DirectoryFileTreeFactory +import org.gradle.internal.hash.FileHasher +import org.gradle.internal.hash.StreamHasher +import org.gradle.internal.reflect.Instantiator + +import java.io.File +import java.net.URI + /** * Base class for Kotlin settings scripts. @@ -32,6 +60,310 @@ import kotlin.script.templates.ScriptTemplateDefinition @SamWithReceiverAnnotations("org.gradle.api.HasImplicitReceiver") abstract class KotlinSettingsScript(settings: Settings) : Settings by settings { + private + val fileOperations = fileOperationsFor(settings) + + /** + * Logger for settings. You can use this in your settings file to write log messages. + */ + @Suppress("unused") + val logger: Logger = Logging.getLogger(Settings::class.java) + + /** + * The [LoggingManager] which can be used to receive logging and to control the standard output/error capture for + * this script. By default, `System.out` is redirected to the Gradle logging system at the `QUIET` log level, + * and `System.err` is redirected at the `ERROR` log level. + */ + @Suppress("unused") + val logging: LoggingManager = settings.serviceOf() + + /** + * Provides access to resource-specific utility methods, for example factory methods that create various resources. + */ + @Suppress("unused") + val resources: ResourceHandler = fileOperations.resources + + /** + * Returns the relative path from this script's target base directory to the given path. + * + * The given path object is (logically) resolved as described for [KotlinSettingsScript.file], + * from which a relative path is calculated. + * + * @param path The path to convert to a relative path. + * @return The relative path. + */ + @Suppress("unused") + fun relativePath(path: Any): String = + fileOperations.relativePath(path) + + /** + * Resolves a file path to a URI, relative to this script's target base directory. + * + * Evaluates the provided path object as described for [KotlinSettingsScript.file], + * with the exception that any URI scheme is supported, not just `file:` URIs. + */ + @Suppress("unused") + fun uri(path: Any): URI = + fileOperations.uri(path) + + /** + * Resolves a file path relative to this script's target base directory. + * + * If this script targets [org.gradle.api.Project], + * then `path` is resolved relative to the project directory. + * + * If this script targets [org.gradle.api.initialization.Settings], + * then `path` is resolved relative to the build root directory. + * + * This method converts the supplied path based on its type: + * + * - A [CharSequence], including [String]. + * A string that starts with `file:` is treated as a file URL. + * - A [File]. + * If the file is an absolute file, it is returned as is. Otherwise it is resolved. + * - A [java.nio.file.Path]. + * The path must be associated with the default provider and is treated the same way as an instance of `File`. + * - A [URI] or [java.net.URL]. + * The URL's path is interpreted as the file path. Only `file:` URLs are supported. + * - A [org.gradle.api.file.Directory] or [org.gradle.api.file.RegularFile]. + * - A [org.gradle.api.provider.Provider] of any supported type. + * The provider's value is resolved recursively. + * - A [java.util.concurrent.Callable] that returns any supported type. + * The callable's return value is resolved recursively. + * + * @param path The object to resolve as a `File`. + * @return The resolved file. + */ + @Suppress("unused") + fun file(path: Any): File = + fileOperations.file(path) + + /** + * Resolves a file path relative to this script's target base directory. + * + * @param path The object to resolve as a `File`. + * @param validation The validation to perform on the file. + * @return The resolved file. + * @see KotlinSettingsScript.file + */ + @Suppress("unused") + fun file(path: Any, validation: PathValidation): File = + fileOperations.file(path, validation) + + /** + * Creates a [ConfigurableFileCollection] containing the given files. + * + * You can pass any of the following types to this method: + * + * - A [CharSequence], including [String] as defined by [KotlinSettingsScript.file]. + * - A [File] as defined by [KotlinSettingsScript.file]. + * - A [java.nio.file.Path] as defined by [KotlinSettingsScript.file]. + * - A [URI] or [java.net.URL] as defined by [KotlinSettingsScript.file]. + * - A [org.gradle.api.file.Directory] or [org.gradle.api.file.RegularFile] + * as defined by [KotlinSettingsScript.file]. + * - A [Sequence], [Array] or [Iterable] that contains objects of any supported type. + * The elements of the collection are recursively converted to files. + * - A [org.gradle.api.file.FileCollection]. + * The contents of the collection are included in the returned collection. + * - A [org.gradle.api.provider.Provider] of any supported type. + * The provider's value is recursively converted to files. If the provider represents an output of a task, + * that task is executed if the file collection is used as an input to another task. + * - A [java.util.concurrent.Callable] that returns any supported type. + * The callable's return value is recursively converted to files. + * A `null` return value is treated as an empty collection. + * - A [org.gradle.api.Task]. + * Converted to the task's output files. + * The task is executed if the file collection is used as an input to another task. + * - A [org.gradle.api.tasks.TaskOutputs]. + * Converted to the output files the related task. + * The task is executed if the file collection is used as an input to another task. + * - Anything else is treated as a failure. + * + * The returned file collection is lazy, so that the paths are evaluated only when the contents of the file + * collection are queried. The file collection is also live, so that it evaluates the above each time the contents + * of the collection is queried. + * + * The returned file collection maintains the iteration order of the supplied paths. + * + * The returned file collection maintains the details of the tasks that produce the files, + * so that these tasks are executed if this file collection is used as an input to some task. + * + * This method can also be used to create an empty collection, which can later be mutated to add elements. + * + * @param paths The paths to the files. May be empty. + * @return The file collection. + */ + @Suppress("unused") + fun files(vararg paths: Any): ConfigurableFileCollection = + fileOperations.files(paths) + + /** + * Creates a [ConfigurableFileCollection] containing the given files. + * + * @param paths The contents of the file collection. Evaluated as per [KotlinSettingsScript.files]. + * @param configuration The block to use to configure the file collection. + * @return The file collection. + * @see KotlinSettingsScript.files + */ + @Suppress("unused") + fun files(paths: Any, configuration: ConfigurableFileCollection.() -> Unit): ConfigurableFileCollection = + fileOperations.files(paths).also(configuration) + + /** + * Creates a new [ConfigurableFileTree] using the given base directory. + * + * The given `baseDir` path is evaluated as per [KotlinSettingsScript.file]. + * + * The returned file tree is lazy, so that it scans for files only when the contents of the file tree are + * queried. The file tree is also live, so that it scans for files each time the contents of the file tree are + * queried. + * + * @param baseDir The base directory of the file tree. Evaluated as per [KotlinSettingsScript.file]. + * @return The file tree. + */ + @Suppress("unused") + fun fileTree(baseDir: Any): ConfigurableFileTree = + fileOperations.fileTree(baseDir) + + /** + * Creates a new [ConfigurableFileTree] using the given base directory. + * + * @param baseDir The base directory of the file tree. Evaluated as per [KotlinSettingsScript.file]. + * @param configuration The block to use to configure the file tree. + * @return The file tree. + * @see [KotlinSettingsScript.fileTree] + */ + @Suppress("unused") + fun fileTree(baseDir: Any, configuration: ConfigurableFileTree.() -> Unit): ConfigurableFileTree = + fileOperations.fileTree(baseDir).also(configuration) + + /** + * Creates a new [FileTree] which contains the contents of the given ZIP file. + * + * The given `zipPath` path is evaluated as per [KotlinSettingsScript.file] + * + * The returned file tree is lazy, so that it scans for files only when the contents of the file tree are + * queried. The file tree is also live, so that it scans for files each time the contents of the file tree are + * queried. + * + * You can combine this method with the [KotlinSettingsScript.copy] method to unzip a ZIP file. + * + * @param zipPath The ZIP file. Evaluated as per [KotlinSettingsScript.file]. + * @return The file tree. + */ + @Suppress("unused") + fun zipTree(zipPath: Any): FileTree = + fileOperations.zipTree(zipPath) + + /** + * Creates a new [FileTree] which contains the contents of the given TAR file. + * + * The given tarPath path can be: + * - an instance of [org.gradle.api.resources.Resource], + * - any other object is evaluated as per [KotlinSettingsScript.file]. + * + * The returned file tree is lazy, so that it scans for files only when the contents of the file tree are + * queried. The file tree is also live, so that it scans for files each time the contents of the file tree are + * queried. + * + * Unless custom implementation of resources is passed, + * the tar tree attempts to guess the compression based on the file extension. + * + * You can combine this method with the [KotlinSettingsScript.copy] method to unzip a ZIP file. + * + * @param tarPath The TAR file or an instance of [org.gradle.api.resources.Resource]. + * @return The file tree. + */ + @Suppress("unused") + fun tarTree(tarPath: Any): FileTree = + fileOperations.tarTree(tarPath) + + /** + * Copies the specified files. + * + * @param configuration The block to use to configure the [CopySpec]. + * @return `WorkResult` that can be used to check if the copy did any work. + */ + @Suppress("unused") + fun copy(configuration: CopySpec.() -> Unit): WorkResult = + fileOperations.copy(configuration) + + /** + * Creates a {@link CopySpec} which can later be used to copy files or create an archive. + * + * @return The created [CopySpec] + */ + @Suppress("unused") + fun copySpec(): CopySpec = + fileOperations.copySpec() + + /** + * Creates a {@link CopySpec} which can later be used to copy files or create an archive. + * + * @param configuration The block to use to configure the [CopySpec]. + * @return The configured [CopySpec] + */ + @Suppress("unused") + fun copySpec(configuration: CopySpec.() -> Unit): CopySpec = + fileOperations.copySpec().also(configuration) + + /** + * Creates a directory and returns a file pointing to it. + * + * @param path The path for the directory to be created. Evaluated as per [KotlinSettingsScript.file]. + * @return The created directory. + * @throws org.gradle.api.InvalidUserDataException If the path points to an existing file. + */ + @Suppress("unused") + fun mkdir(path: Any): File = + fileOperations.mkdir(path) + + /** + * Deletes files and directories. + * + * This will not follow symlinks. If you need to follow symlinks too use [KotlinSettingsScript.delete]. + * + * @param paths Any type of object accepted by [KotlinSettingsScript.file] + * @return true if anything got deleted, false otherwise + */ + @Suppress("unused") + fun delete(vararg paths: Any): Boolean = + fileOperations.delete(*paths) + + /** + * Deletes the specified files. + * + * @param configuration The block to use to configure the [DeleteSpec]. + * @return `WorkResult` that can be used to check if delete did any work. + */ + @Suppress("unused") + fun delete(configuration: DeleteSpec.() -> Unit): WorkResult = + fileOperations.delete(configuration) + + /** + * Executes an external command. + * + * This method blocks until the process terminates, with its result being returned. + * + * @param configuration The block to use to configure the [ExecSpec]. + * @return The result of the execution. + */ + @Suppress("unused") + fun exec(configuration: ExecSpec.() -> Unit): ExecResult = + fileOperations.exec(configuration) + + /** + * Executes an external Java process. + * + * This method blocks until the process terminates, with its result being returned. + * + * @param configuration The block to use to configure the [JavaExecSpec]. + * @return The result of the execution. + */ + @Suppress("unused") + fun javaexec(configuration: JavaExecSpec.() -> Unit): ExecResult = + fileOperations.javaexec(configuration) + /** * Configures the build script classpath for settings. * @@ -49,3 +381,18 @@ abstract class KotlinSettingsScript(settings: Settings) : Settings by settings { fun apply(crossinline configuration: ObjectConfigurationAction.() -> Unit) = settings.apply({ it.configuration() }) } + + +private +fun fileOperationsFor(settings: Settings): DefaultFileOperations { + val fileLookup = settings.serviceOf() + return DefaultFileOperations( + fileLookup.getFileResolver(settings.rootDir), + null, + null, + settings.serviceOf(), + fileLookup, + settings.serviceOf(), + settings.serviceOf(), + settings.serviceOf()) +} diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/ScriptApi.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/ScriptApi.kt new file mode 100644 index 000000000..b1781dc53 --- /dev/null +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/ScriptApi.kt @@ -0,0 +1,79 @@ +/* + * Copyright 2017 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.gradle.kotlin.dsl.provider + +import org.gradle.api.PathValidation +import org.gradle.api.file.ConfigurableFileCollection +import org.gradle.api.file.ConfigurableFileTree +import org.gradle.api.file.CopySpec +import org.gradle.api.file.DeleteSpec +import org.gradle.api.file.FileTree +import org.gradle.api.logging.Logger +import org.gradle.api.logging.LoggingManager +import org.gradle.api.resources.ResourceHandler +import org.gradle.api.tasks.WorkResult +import org.gradle.process.ExecResult +import org.gradle.process.ExecSpec +import org.gradle.process.JavaExecSpec + +import java.io.File +import java.net.URI + +/** + * Base contract for all Gradle Kotlin DSL scripts. + * + * This is the Kotlin flavored equivalent of [org.gradle.api.Script]. + * + * It is not implemented directly by script templates to overcome ambiguous conflicts and Kotlin language + * limitations. See each script template for actual implementations. + * + * `ScriptApiTest` validates that each script template provide compatible methods/properties. + * + * Members here must not use default parameters values. + * Documentation should go to the actual implementations so that it shows up in IDEs properly. + */ +internal +interface ScriptApi { + + val logger: Logger + val logging: LoggingManager + val resources: ResourceHandler + + fun relativePath(path: Any): String + fun uri(path: Any): URI + + fun file(path: Any): File + fun file(path: Any, validation: PathValidation): File + fun files(vararg paths: Any): ConfigurableFileCollection + fun files(paths: Any, configuration: ConfigurableFileCollection.() -> Unit): ConfigurableFileCollection + + fun fileTree(baseDir: Any): ConfigurableFileTree + fun fileTree(baseDir: Any, configuration: ConfigurableFileTree.() -> Unit): ConfigurableFileTree + fun zipTree(zipPath: Any): FileTree + fun tarTree(tarPath: Any): FileTree + + fun copy(configuration: CopySpec.() -> Unit): WorkResult + fun copySpec(): CopySpec + fun copySpec(configuration: CopySpec.() -> Unit): CopySpec + + fun mkdir(path: Any): File + + fun delete(vararg paths: Any): Boolean + fun delete(configuration: DeleteSpec.() -> Unit): WorkResult + + fun exec(configuration: ExecSpec.() -> Unit): ExecResult + fun javaexec(configuration: JavaExecSpec.() -> Unit): ExecResult +} diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/provider/ScriptApiTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/provider/ScriptApiTest.kt new file mode 100644 index 000000000..d20dea740 --- /dev/null +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/provider/ScriptApiTest.kt @@ -0,0 +1,165 @@ +package org.gradle.kotlin.dsl.provider + +import org.gradle.kotlin.dsl.KotlinBuildScript +import org.gradle.kotlin.dsl.KotlinSettingsScript + +import org.gradle.api.Action + +import kotlin.reflect.KCallable +import kotlin.reflect.KClass +import kotlin.reflect.KFunction +import kotlin.reflect.KMutableProperty +import kotlin.reflect.KParameter +import kotlin.reflect.KProperty +import kotlin.reflect.KType +import kotlin.reflect.KTypeProjection +import kotlin.reflect.KVariance +import kotlin.reflect.KVisibility +import kotlin.reflect.full.createType +import kotlin.reflect.full.declaredMembers +import kotlin.reflect.full.valueParameters +import kotlin.reflect.full.withNullability +import kotlin.reflect.jvm.javaGetter +import kotlin.reflect.jvm.jvmErasure + +import org.hamcrest.CoreMatchers.equalTo +import org.junit.Assert.assertThat +import org.junit.Test + + +class ScriptApiTest { + + @Test + fun `build script template implements script api`() = + assertThat( + ScriptApi::class.apiMembers.missingMembersFrom(KotlinBuildScript::class), + equalTo(emptyList())) + + @Test + fun `settings script template implements script api`() = + assertThat( + ScriptApi::class.apiMembers.missingMembersFrom(KotlinSettingsScript::class), + equalTo(emptyList())) +} + + +private +typealias ScriptApiMembers = Collection> + + +private +val KClass<*>.apiMembers: ScriptApiMembers + get() = declaredMembers + + +private +fun ScriptApiMembers.missingMembersFrom(scriptTemplate: KClass<*>): List> = + candidateMembersOf(scriptTemplate).let { scriptTemplateMembers -> + filter { apiMember -> + !scriptTemplateMembers.containsMemberCompatibleWith(apiMember) + } + } + + +private +fun candidateMembersOf(scriptTemplate: KClass<*>) = + scriptTemplate.members.filter { it.visibility == KVisibility.PUBLIC } + + +private +fun List>.containsMemberCompatibleWith(api: KCallable<*>) = + find { it.isCompatibleWith(api) } != null + + +private +fun KCallable<*>.isCompatibleWith(api: KCallable<*>) = + when (this) { + is KFunction -> isCompatibleWith(api) + is KProperty -> isCompatibleWith(api) + else -> false + } + + +private +fun KProperty<*>.isCompatibleWith(api: KCallable<*>) = + this::class == api::class && name == api.name && returnType == api.returnType + + +private +fun KFunction<*>.isCompatibleWith(api: KCallable<*>) = + when { + api is KProperty && api !is KMutableProperty && isCompatibleWithGetterOf(api) -> true + api is KFunction && isCompatibleWith(api) -> true + else -> false + } + + +private +fun KFunction<*>.isCompatibleWithGetterOf(api: KProperty<*>) = + name == api.javaGetter?.name + && returnType == api.getter.returnType + && valueParameters.isEmpty() && api.getter.valueParameters.isEmpty() + + +private +fun KFunction<*>.isCompatibleWith(api: KFunction<*>) = + name == api.name && returnType == api.returnType && valueParameters.isCompatibleWith(api.valueParameters) + + +private +fun List.isCompatibleWith(api: List) = + when { + size != api.size -> false + isEmpty() -> true + else -> (0..(size - 1)).all { idx -> this[idx].isCompatibleWith(api[idx]) } + } + + +private +fun KParameter.isCompatibleWith(api: KParameter) = + when { + isVarargCompatibleWith(api) -> true + isGradleActionCompatibleWith(api) -> true + type == api.type -> true + else -> false + } + + +private +fun KParameter.isGradleActionCompatibleWith(api: KParameter) = + type.jvmErasure == Action::class + && api.isSamWithReceiverReturningUnit() + && type.arguments[0].type!!.isTypeArgumentCompatibleWith(api.type.arguments[0].type!!) + + +private +fun KParameter.isSamWithReceiverReturningUnit() = + type.jvmErasure == Function1::class + && type.arguments[1] == KTypeProjection(KVariance.INVARIANT, Unit::class.createType()) + + +private +fun KParameter.isVarargCompatibleWith(api: KParameter) = + isVararg && api.isVararg && type.isParameterTypeCompatibleWith(api.type) + + +private +fun KType.isParameterTypeCompatibleWith(apiParameterType: KType) = + when { + this == apiParameterType -> true + classifier != apiParameterType.classifier -> false + hasCompatibleTypeArguments(apiParameterType) -> true + else -> false + } + + +private +fun KType.hasCompatibleTypeArguments(api: KType) = + arguments.size == api.arguments.size && (0..(arguments.size - 1)).all { idx -> + arguments[idx].type!!.isTypeArgumentCompatibleWith(api.arguments[idx].type!!) + } + + +private +fun KType.isTypeArgumentCompatibleWith(api: KType) = + withNullability(false) == api From 5033b5e30d77ace7e1c11c30c7d934c27ac6a19a Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 27 Oct 2017 12:16:07 +0200 Subject: [PATCH 072/115] Add integration test for org.gradle.kotlin.dsl.provider.ScriptApi --- .../GradleKotlinDslIntegrationTest.kt | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt index 6a334c46f..e92bfa81c 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt @@ -502,6 +502,37 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { containsString("Settings plugin applied!")) } + @Test + fun `scripts can use the gradle script api`() { + + fun usageFor(target: String) = """ + + logger.error("Error logging from $target") + require(logging is LoggingManager, { "logging" }) + require(resources is ResourceHandler, { "resources" }) + + require(relativePath("settings.gradle.kts") == "settings.gradle.kts", { "relativePath(path)" }) + require(uri("settings.gradle.kts").toString().endsWith("settings.gradle.kts"), { "uri(path)" }) + require(file("settings.gradle.kts").isFile, { "file(path)" }) + require(files("settings.gradle.kts").files.isNotEmpty(), { "files(paths)" }) + require(fileTree(".").contains(file("settings.gradle.kts")), { "fileTree(path)" }) + require(copySpec {} != null, { "copySpec {}" }) + require(mkdir("some").isDirectory, { "mkdir(path)" }) + require(delete("some"), { "delete(path)" }) + require(delete {} != null, { "delete {}" }) + + """ + + withSettings(usageFor("Settings")) + withBuildScript(usageFor("Project")) + + assertThat( + build("help").output, + allOf( + containsString("Error logging from Settings"), + containsString("Error logging from Project"))) + } + private fun assumeJavaLessThan9() { assumeTrue("Test disabled under JDK 9 and higher", JavaVersion.current() < JavaVersion.VERSION_1_9) From 0f7b8b972f12cea963a6522422f88470ae26d04e Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 27 Oct 2017 12:16:26 +0200 Subject: [PATCH 073/115] Leverage ScriptApi in samples settings.gradle.kts files --- samples/build-cache/settings.gradle.kts | 4 ++-- samples/gradle-plugin/consumer/settings.gradle.kts | 2 +- samples/hello-android/settings.gradle.kts | 2 +- samples/hello-js/settings.gradle.kts | 2 +- .../consumer/settings.gradle.kts | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/samples/build-cache/settings.gradle.kts b/samples/build-cache/settings.gradle.kts index 325aac780..23aae81f4 100644 --- a/samples/build-cache/settings.gradle.kts +++ b/samples/build-cache/settings.gradle.kts @@ -3,13 +3,13 @@ buildCache { isEnabled = true } remote(DirectoryBuildCache::class.java) { - setDirectory("path/to/some/local-cache") + directory = file("path/to/some/local-cache") isEnabled = true isPush = false targetSizeInMB = 1024 } remote(HttpBuildCache::class.java) { - setUrl("http://example.com/cache") + url = uri("http://example.com/cache") isEnabled = false isPush = false isAllowUntrustedServer = false diff --git a/samples/gradle-plugin/consumer/settings.gradle.kts b/samples/gradle-plugin/consumer/settings.gradle.kts index 7933dd827..93fb708ef 100644 --- a/samples/gradle-plugin/consumer/settings.gradle.kts +++ b/samples/gradle-plugin/consumer/settings.gradle.kts @@ -1,5 +1,5 @@ pluginManagement { repositories { - maven { setUrl("../plugin/build/repository") } + maven { url = uri("../plugin/build/repository") } } } diff --git a/samples/hello-android/settings.gradle.kts b/samples/hello-android/settings.gradle.kts index bb8ff5110..04ffe9a6e 100644 --- a/samples/hello-android/settings.gradle.kts +++ b/samples/hello-android/settings.gradle.kts @@ -1,7 +1,7 @@ pluginManagement { repositories { gradlePluginPortal() - maven { setUrl("https://jcenter.bintray.com/") } + maven { url = uri("https://jcenter.bintray.com/") } } resolutionStrategy { eachPlugin { diff --git a/samples/hello-js/settings.gradle.kts b/samples/hello-js/settings.gradle.kts index b22207054..e40f95550 100644 --- a/samples/hello-js/settings.gradle.kts +++ b/samples/hello-js/settings.gradle.kts @@ -3,7 +3,7 @@ pluginManagement { // Use the Gradle Plugin Portal as a regular maven repository // allowing the plugin resolution strategy below to route the // plugin request to artifact coordinates. - maven { setUrl("https://plugins.gradle.org/m2") } + maven { url = uri("https://plugins.gradle.org/m2") } } resolutionStrategy { eachPlugin { diff --git a/samples/kotlin-friendly-groovy-plugin/consumer/settings.gradle.kts b/samples/kotlin-friendly-groovy-plugin/consumer/settings.gradle.kts index 7933dd827..93fb708ef 100644 --- a/samples/kotlin-friendly-groovy-plugin/consumer/settings.gradle.kts +++ b/samples/kotlin-friendly-groovy-plugin/consumer/settings.gradle.kts @@ -1,5 +1,5 @@ pluginManagement { repositories { - maven { setUrl("../plugin/build/repository") } + maven { url = uri("../plugin/build/repository") } } } From 59ff2cfc817d47dfb9c764a66b2ee4c6f6c97362 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 27 Oct 2017 13:01:10 +0200 Subject: [PATCH 074/115] Refine integration test for org.gradle.kotlin.dsl.provider.ScriptApi --- .../kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt index e92bfa81c..ae3c8ca10 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt @@ -511,7 +511,7 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { require(logging is LoggingManager, { "logging" }) require(resources is ResourceHandler, { "resources" }) - require(relativePath("settings.gradle.kts") == "settings.gradle.kts", { "relativePath(path)" }) + require(relativePath(File("settings.gradle.kts").absolutePath) == "settings.gradle.kts", { "relativePath(path)" }) require(uri("settings.gradle.kts").toString().endsWith("settings.gradle.kts"), { "uri(path)" }) require(file("settings.gradle.kts").isFile, { "file(path)" }) require(files("settings.gradle.kts").files.isNotEmpty(), { "files(paths)" }) From 4df3ab43915cbd28127991c3634840e29f31ab81 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 27 Oct 2017 13:21:42 +0200 Subject: [PATCH 075/115] Refine integration test for org.gradle.kotlin.dsl.provider.ScriptApi --- .../kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt index ae3c8ca10..7f0e05281 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/GradleKotlinDslIntegrationTest.kt @@ -511,7 +511,7 @@ class GradleKotlinDslIntegrationTest : AbstractIntegrationTest() { require(logging is LoggingManager, { "logging" }) require(resources is ResourceHandler, { "resources" }) - require(relativePath(File("settings.gradle.kts").absolutePath) == "settings.gradle.kts", { "relativePath(path)" }) + require(relativePath("src/../settings.gradle.kts") == "settings.gradle.kts", { "relativePath(path)" }) require(uri("settings.gradle.kts").toString().endsWith("settings.gradle.kts"), { "uri(path)" }) require(file("settings.gradle.kts").isFile, { "file(path)" }) require(files("settings.gradle.kts").files.isNotEmpty(), { "files(paths)" }) From 372a81d1590bf486c4fa0891d78a312e40e9b559 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 27 Oct 2017 14:40:22 +0200 Subject: [PATCH 076/115] Suppress unused warning for ScriptApi --- .../src/main/kotlin/org/gradle/kotlin/dsl/provider/ScriptApi.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/ScriptApi.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/ScriptApi.kt index b1781dc53..e2634169d 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/ScriptApi.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/provider/ScriptApi.kt @@ -45,6 +45,7 @@ import java.net.URI * Members here must not use default parameters values. * Documentation should go to the actual implementations so that it shows up in IDEs properly. */ +@Suppress("unused") internal interface ScriptApi { From 37c28af671d0498c72c9e72d24227cddc7d3932e Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 27 Oct 2017 14:40:29 +0200 Subject: [PATCH 077/115] Refine ScriptApiTest --- .../kotlin/org/gradle/kotlin/dsl/provider/ScriptApiTest.kt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/provider/ScriptApiTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/provider/ScriptApiTest.kt index d20dea740..e9217479c 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/provider/ScriptApiTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/provider/ScriptApiTest.kt @@ -55,9 +55,7 @@ val KClass<*>.apiMembers: ScriptApiMembers private fun ScriptApiMembers.missingMembersFrom(scriptTemplate: KClass<*>): List> = candidateMembersOf(scriptTemplate).let { scriptTemplateMembers -> - filter { apiMember -> - !scriptTemplateMembers.containsMemberCompatibleWith(apiMember) - } + filterNot(scriptTemplateMembers::containsMemberCompatibleWith) } From 27903bddc0272f5abe8c8378e07c7c5b128c11d6 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 27 Oct 2017 14:47:10 +0200 Subject: [PATCH 078/115] Refine source-control sample Link to the source dependencies epic, until we have a more authoritative --- samples/README.md | 2 +- samples/source-control/README.md | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/samples/README.md b/samples/README.md index 9b8d3f039..62da00cd1 100644 --- a/samples/README.md +++ b/samples/README.md @@ -31,7 +31,7 @@ The Gradle projects in this directory demonstrate typical use cases with and fea - [`project-properties`](./project-properties): demonstrates project property access via [delegated properties](https://kotlinlang.org/docs/reference/delegated-properties.html) - [`project-with-buildSrc`](./project-with-buildSrc): demonstrates a single-project build with custom build logic in `buildSrc` - [`provider-properties`](./provider-properties): demonstrates usage of lazily evaluated properties to [map extension properties to task properties](https://docs.gradle.org/4.0-milestone-2/userguide/custom_plugins.html#sec:mapping_extension_properties_to_task_properties) - - [`source-control`](./source-control): demonstrates how to use external source dependencies + - [`source-control`](./source-control): demonstrates how to use external [source dependencies](https://github.com/gradle/gradle-native/issues/42) - [`task-dependencies`](./task-dependencies): demonstrates explicit configuration of task dependencies Set up dev environment diff --git a/samples/source-control/README.md b/samples/source-control/README.md index b3f6a8abf..6d6ccfc7d 100644 --- a/samples/source-control/README.md +++ b/samples/source-control/README.md @@ -1,7 +1,8 @@ source-control ============== -A project that depend on external sources: +A project that depends on external sources using the incubating support for +[source dependencies](https://github.com/gradle/gradle-native/issues/42): 1. [external/](./external) implements the main algorithm to compute the answer to the ultimate question of Life, the Universe and Everything 2. [sample/](./sample) implements the command line interface From 9e7dcb8a0dee786eebc27cb7270787aa125464d3 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 27 Oct 2017 15:04:11 +0200 Subject: [PATCH 079/115] Leverage ScriptApi in source-control sample --- samples/source-control/sample/settings.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/source-control/sample/settings.gradle.kts b/samples/source-control/sample/settings.gradle.kts index 61c9e3f63..f906dfa55 100644 --- a/samples/source-control/sample/settings.gradle.kts +++ b/samples/source-control/sample/settings.gradle.kts @@ -2,7 +2,7 @@ sourceControl { vcsMappings { val computeGit = vcs(GitVersionControlSpec::class.java) { // A real life example would use a remote git repository - setUrl(File(rootDir, "../external/build/git-repo").toURI()) + url = uri("../external/build/git-repo") } withModule("org.gradle.kotlin.dsl.samples.source-control:compute") { from(computeGit) From 703e46888e95b85173c956311731c44148fb31bf Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Fri, 27 Oct 2017 11:20:18 -0200 Subject: [PATCH 080/115] Add 0.12.3 release notes --- doc/release-notes/0.12.3.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 doc/release-notes/0.12.3.md diff --git a/doc/release-notes/0.12.3.md b/doc/release-notes/0.12.3.md new file mode 100644 index 000000000..2bc79c17d --- /dev/null +++ b/doc/release-notes/0.12.3.md @@ -0,0 +1,22 @@ +Gradle Kotlin DSL 0.12.3 Release Notes +============================ + +Gradle Kotlin DSL v0.12.3 is the final update to the [v0.12.0][v0.12.0] release fixing a breaking change to Kotlin build scripts using the `Property` API. + +v0.12.3 is already included in Gradle 4.3 RC4. + +To use it, upgrade your Gradle wrapper in the following fashion: + + $ cd $YOUR_PROJECT_ROOT + $ gradle wrapper --gradle-version 4.3-rc-4 --distribution-type all + +## Breaking changes + +Please check out the [v0.12.0][v0.12.0] release notes for details. + +Fixes since v0.12.2 +---------------------- + + * **Rename of org.gradle.api.provider.PropertyState to org.gradle.api.provider.Property caused a loss in DSL extension function** ([#574](https://github.com/gradle/kotlin-dsl/issues/574)). The extension members previously only available to `org.gradle.api.provider.PropertyState` are now also available to `org.gradle.api.provider.Property`. + +[v0.12.0]: https://github.com/gradle/kotlin-dsl/releases/tag/v0.12.0 From a45107b4be381691c592a37bd92602cc1ae0c3d2 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 27 Oct 2017 15:16:20 +0200 Subject: [PATCH 081/115] Update wrappers to latest snapshot distro --- gradle/wrapper/gradle-wrapper.properties | 2 +- samples/ant/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-cache/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-scan/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/code-quality/gradle/wrapper/gradle-wrapper.properties | 2 +- .../composite-builds/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/copy/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/domain-objects/gradle/wrapper/gradle-wrapper.properties | 2 +- .../extra-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-android/gradle/wrapper/gradle-wrapper.properties | 2 +- .../hello-coroutines/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-js/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-world/gradle/wrapper/gradle-wrapper.properties | 2 +- .../consumer/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-publish/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/model-rules/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/modularity/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../project-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../task-dependencies/gradle/wrapper/gradle-wrapper.properties | 2 +- 35 files changed, 35 insertions(+), 35 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/ant/gradle/wrapper/gradle-wrapper.properties b/samples/ant/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/ant/gradle/wrapper/gradle-wrapper.properties +++ b/samples/ant/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/build-cache/gradle/wrapper/gradle-wrapper.properties b/samples/build-cache/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/build-cache/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-cache/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties +++ b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties +++ b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/copy/gradle/wrapper/gradle-wrapper.properties b/samples/copy/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/copy/gradle/wrapper/gradle-wrapper.properties +++ b/samples/copy/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties +++ b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties +++ b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties +++ b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/modularity/gradle/wrapper/gradle-wrapper.properties b/samples/modularity/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/modularity/gradle/wrapper/gradle-wrapper.properties +++ b/samples/modularity/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties +++ b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip From ce2d2298736a63f6c898e7a041cc1a08568a247b Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 27 Oct 2017 15:45:24 +0200 Subject: [PATCH 082/115] Update source-control sample wrappers to latest snapshot distro --- .../external/gradle/wrapper/gradle-wrapper.properties | 2 +- .../sample/gradle/wrapper/gradle-wrapper.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties b/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties +++ b/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip diff --git a/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties index f11a81f7d..18310f3c3 100644 --- a/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties +++ b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171023071401+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip From 63e6e5de81c8d248e592a61eb0a8564a8aee617a Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 27 Oct 2017 16:54:21 +0200 Subject: [PATCH 083/115] Update wrappers to latest snapshot distro --- gradle/wrapper/gradle-wrapper.properties | 2 +- samples/ant/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-cache/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-scan/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/code-quality/gradle/wrapper/gradle-wrapper.properties | 2 +- .../composite-builds/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/copy/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/domain-objects/gradle/wrapper/gradle-wrapper.properties | 2 +- .../extra-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-android/gradle/wrapper/gradle-wrapper.properties | 2 +- .../hello-coroutines/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-js/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-world/gradle/wrapper/gradle-wrapper.properties | 2 +- .../consumer/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-publish/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/model-rules/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/modularity/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../project-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../external/gradle/wrapper/gradle-wrapper.properties | 2 +- .../sample/gradle/wrapper/gradle-wrapper.properties | 2 +- .../task-dependencies/gradle/wrapper/gradle-wrapper.properties | 2 +- 37 files changed, 37 insertions(+), 37 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/ant/gradle/wrapper/gradle-wrapper.properties b/samples/ant/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/ant/gradle/wrapper/gradle-wrapper.properties +++ b/samples/ant/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/build-cache/gradle/wrapper/gradle-wrapper.properties b/samples/build-cache/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/build-cache/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-cache/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties +++ b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties +++ b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/copy/gradle/wrapper/gradle-wrapper.properties b/samples/copy/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/copy/gradle/wrapper/gradle-wrapper.properties +++ b/samples/copy/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties +++ b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties +++ b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties +++ b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/modularity/gradle/wrapper/gradle-wrapper.properties b/samples/modularity/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/modularity/gradle/wrapper/gradle-wrapper.properties +++ b/samples/modularity/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties b/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties +++ b/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties +++ b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip diff --git a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties index 18310f3c3..a8dcf1269 100644 --- a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties +++ b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027131202+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip From adc87fae384166e37ac43e136924a18ddf9bee07 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 27 Oct 2017 19:38:58 +0200 Subject: [PATCH 084/115] Restore source navigation for Gradle sources Has been broken since #561 Coverage included --- .../kotlin/dsl/resolver/SourcePathProvider.kt | 4 ++-- .../KotlinBuildScriptModelIntegrationTest.kt | 17 +++++++++++++++++ .../dsl/resolver/SourcePathProviderTest.kt | 2 +- .../builders/KotlinBuildScriptModelBuilder.kt | 10 +++++----- 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/resolver/SourcePathProvider.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/resolver/SourcePathProvider.kt index 8e5e1c834..8348f3cdb 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/resolver/SourcePathProvider.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/resolver/SourcePathProvider.kt @@ -28,11 +28,11 @@ object SourcePathProvider { fun sourcePathFor( classPath: ClassPath, projectDir: File, - gradleHome: File?): ClassPath { + gradleHomeDir: File?): ClassPath { val gradleKotlinDslJar = classPath.filter { it.name.startsWith("gradle-kotlin-dsl-") } val projectBuildSrcRoots = buildSrcRootsOf(projectDir) - val gradleSourceRoots = gradleHome?.let { sourceRootsOf(it) } ?: emptyList() + val gradleSourceRoots = gradleHomeDir?.let { sourceRootsOf(it) } ?: emptyList() return gradleKotlinDslJar + projectBuildSrcRoots + gradleSourceRoots } diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt index b6fbd21d6..1d5469ae8 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt @@ -161,6 +161,14 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { hasItems("gradle-hello-world-plugin-0.2.jar")) } + @Test + fun `sourcePath includes Gradle sources`() { + + assertSourcePathIncludesGradleSourcesGiven( + rootProjectScript = "", + subProjectScript = "") + } + @Test fun `sourcePath includes kotlin-stdlib sources resolved against project`() { @@ -246,6 +254,15 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { assertExcludes(classPath, projectDependency) } + private + fun assertSourcePathIncludesGradleSourcesGiven(rootProjectScript: String, subProjectScript: String) { + + assertSourcePathGiven( + rootProjectScript, + subProjectScript, + hasItems("core-api")) + } + private fun assertSourcePathIncludesKotlinStdlibSourcesGiven(rootProjectScript: String, subProjectScript: String) { diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/resolver/SourcePathProviderTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/resolver/SourcePathProviderTest.kt index e6bc6111d..7c877e8d1 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/resolver/SourcePathProviderTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/resolver/SourcePathProviderTest.kt @@ -34,7 +34,7 @@ class SourcePathProviderTest : FolderBasedTest() { sourcePathFor( classPath = ClassPath.EMPTY, projectDir = folder("project"), - gradleHome = folder("gradle")).asFiles, + gradleHomeDir = folder("gradle")).asFiles, hasItems( folder("project/buildSrc/src/main/foo"), folder("project/buildSrc/src/main/bar"), diff --git a/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt b/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt index cf3661cb5..f34b62e78 100644 --- a/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt +++ b/tooling-builders/src/main/kotlin/org/gradle/kotlin/dsl/tooling/builders/KotlinBuildScriptModelBuilder.kt @@ -97,7 +97,7 @@ fun settingsScriptModelBuilder(settings: Settings) = settings, type = Settings::class, rootDir = settings.rootDir, - gradleUserHome = settings.gradle.gradleUserHomeDir, + gradleHomeDir = settings.gradle.gradleHomeDir, scriptClassPath = settings.scriptCompilationClassPath, sourceLookupScriptHandlers = listOf(settings.buildscript), implicitImports = settings.scriptImplicitImports) @@ -109,7 +109,7 @@ fun projectScriptModelBuilder(project: Project) = project, type = Project::class, rootDir = project.rootProject.rootDir, - gradleUserHome = project.gradle.gradleUserHomeDir, + gradleHomeDir = project.gradle.gradleHomeDir, scriptClassPath = project.scriptCompilationClassPath, accessorsClassPath = { classPath: ClassPath -> accessorsClassPathFor(project, classPath) }, sourceLookupScriptHandlers = project.hierarchy.map { it.buildscript }.toList(), @@ -122,7 +122,7 @@ fun defaultScriptModelBuilder(project: Project) = project, type = Project::class, rootDir = project.rootDir, - gradleUserHome = project.gradle.gradleUserHomeDir, + gradleHomeDir = project.gradle.gradleHomeDir, scriptClassPath = project.defaultScriptCompilationClassPath, sourceLookupScriptHandlers = listOf(project.buildscript), implicitImports = project.scriptImplicitImports) @@ -133,7 +133,7 @@ data class KotlinScriptTargetModelBuilder( val `object`: T, private val type: KClass, val rootDir: File, - val gradleUserHome: File?, + val gradleHomeDir: File?, val scriptClassPath: ClassPath, val accessorsClassPath: (ClassPath) -> AccessorsClassPath = { AccessorsClassPath.empty }, val sourceLookupScriptHandlers: List, @@ -150,7 +150,7 @@ data class KotlinScriptTargetModelBuilder( private fun gradleSource() = - SourcePathProvider.sourcePathFor(scriptClassPath, rootDir, gradleUserHome) + SourcePathProvider.sourcePathFor(scriptClassPath, rootDir, gradleHomeDir) } From e6d4c8a6689b28680e52523608abcf669f321a40 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Fri, 27 Oct 2017 16:26:42 -0200 Subject: [PATCH 085/115] Update wrappers to latest snapshot distro --- gradle/wrapper/gradle-wrapper.properties | 2 +- samples/ant/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-cache/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-scan/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/code-quality/gradle/wrapper/gradle-wrapper.properties | 2 +- .../composite-builds/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/copy/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/domain-objects/gradle/wrapper/gradle-wrapper.properties | 2 +- .../extra-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-android/gradle/wrapper/gradle-wrapper.properties | 2 +- .../hello-coroutines/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-js/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-world/gradle/wrapper/gradle-wrapper.properties | 2 +- .../consumer/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-publish/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/model-rules/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/modularity/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../project-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../external/gradle/wrapper/gradle-wrapper.properties | 2 +- .../sample/gradle/wrapper/gradle-wrapper.properties | 2 +- .../task-dependencies/gradle/wrapper/gradle-wrapper.properties | 2 +- 37 files changed, 37 insertions(+), 37 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/ant/gradle/wrapper/gradle-wrapper.properties b/samples/ant/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/ant/gradle/wrapper/gradle-wrapper.properties +++ b/samples/ant/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/build-cache/gradle/wrapper/gradle-wrapper.properties b/samples/build-cache/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/build-cache/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-cache/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties +++ b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties +++ b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/copy/gradle/wrapper/gradle-wrapper.properties b/samples/copy/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/copy/gradle/wrapper/gradle-wrapper.properties +++ b/samples/copy/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties +++ b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties +++ b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties +++ b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/modularity/gradle/wrapper/gradle-wrapper.properties b/samples/modularity/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/modularity/gradle/wrapper/gradle-wrapper.properties +++ b/samples/modularity/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties b/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties +++ b/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties +++ b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip diff --git a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties index a8dcf1269..7ae665d06 100644 --- a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties +++ b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027144328+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip From 19ecbd0e035deeacecf1ae75bc7f0362dc11548e Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Tue, 31 Oct 2017 09:44:31 +0100 Subject: [PATCH 086/115] Refine KotlinBuildScriptModelIntegrationTest Simplify test by leveraging script api in settings.gradle.kts Fix wrong build script path --- .../KotlinBuildScriptModelIntegrationTest.kt | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt index 1d5469ae8..1d515f079 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt @@ -224,20 +224,17 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { withBuildSrc() - val settingsDependency = withFile("dependencies/settings/settings-dep/1.0/settings-dep-1.0.jar", "") + val settingsDependency = withFile("settings-dependency.jar", "") val settings = withSettings(""" buildscript { - repositories { - maven { setUrl(File(rootDir, "dependencies").toURI()) } - } dependencies { - classpath("settings:settings-dep:1.0") + classpath(files("$settingsDependency")) } } """) val projectDependency = withFile("project-dependency.jar", "") - withFile("dependencies/build.gradle", """ + withFile("build.gradle", """ buildscript { dependencies { classpath(files("$projectDependency")) @@ -249,7 +246,6 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { assertContainsBuildSrc(classPath) assertContainsGradleKotlinDslJars(classPath) - assertIncludes(classPath, settingsDependency) assertExcludes(classPath, projectDependency) } From edeb7cc3afe820733ceaf0e02942c756e9bbf01e Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Thu, 2 Nov 2017 10:24:16 +0100 Subject: [PATCH 087/115] Fix KotlinBuildScriptModelIntegrationTest on Windows --- .../dsl/integration/KotlinBuildScriptModelIntegrationTest.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt index 1d515f079..e95cf3cd1 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/integration/KotlinBuildScriptModelIntegrationTest.kt @@ -228,7 +228,7 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { val settings = withSettings(""" buildscript { dependencies { - classpath(files("$settingsDependency")) + classpath(files("${normaliseFileSeparators(settingsDependency.path)}")) } } """) @@ -237,7 +237,7 @@ class KotlinBuildScriptModelIntegrationTest : AbstractIntegrationTest() { withFile("build.gradle", """ buildscript { dependencies { - classpath(files("$projectDependency")) + classpath(files("${normaliseFileSeparators(projectDependency.path)}")) } } """) From ec51d54ea46eeafca2c403fa2162c1630f767908 Mon Sep 17 00:00:00 2001 From: Aurimas Liutikas Date: Sat, 4 Nov 2017 10:13:12 -0700 Subject: [PATCH 088/115] Update to Android Gradle Plugin 3.0.0 and other newer libraries. --- samples/hello-android/build.gradle.kts | 13 +++++++------ samples/hello-android/settings.gradle.kts | 1 + 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/samples/hello-android/build.gradle.kts b/samples/hello-android/build.gradle.kts index 12ecd6c9b..b21fefbdf 100644 --- a/samples/hello-android/build.gradle.kts +++ b/samples/hello-android/build.gradle.kts @@ -1,15 +1,15 @@ plugins { - id("com.android.application") version "2.3.3" + id("com.android.application") version "3.0.0" kotlin("android") version "1.1.51" } android { - buildToolsVersion("25.0.0") - compileSdkVersion(23) + buildToolsVersion("27.0.0") + compileSdkVersion(27) defaultConfig { minSdkVersion(15) - targetSdkVersion(23) + targetSdkVersion(27) applicationId = "com.example.kotlingradle" versionCode = 1 @@ -25,11 +25,12 @@ android { } dependencies { - compile("com.android.support:appcompat-v7:23.4.0") - compile("com.android.support.constraint:constraint-layout:1.0.0-alpha8") + compile("com.android.support:appcompat-v7:27.0.0") + compile("com.android.support.constraint:constraint-layout:1.0.2") compile(kotlin("stdlib", "1.1.51")) } repositories { jcenter() + google() } diff --git a/samples/hello-android/settings.gradle.kts b/samples/hello-android/settings.gradle.kts index 04ffe9a6e..cd9ba94be 100644 --- a/samples/hello-android/settings.gradle.kts +++ b/samples/hello-android/settings.gradle.kts @@ -2,6 +2,7 @@ pluginManagement { repositories { gradlePluginPortal() maven { url = uri("https://jcenter.bintray.com/") } + maven { url = uri("https://maven.google.com/") } } resolutionStrategy { eachPlugin { From e1260be4047c441c8cadaaf5096d477b37f3dfaf Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Wed, 8 Nov 2017 09:58:47 +0100 Subject: [PATCH 089/115] Update Configuring-Plugins.md following up #586 See #576 --- doc/getting-started/Configuring-Plugins.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/getting-started/Configuring-Plugins.md b/doc/getting-started/Configuring-Plugins.md index 3cd8bc610..a3fa2a2b0 100644 --- a/doc/getting-started/Configuring-Plugins.md +++ b/doc/getting-started/Configuring-Plugins.md @@ -60,7 +60,7 @@ with the `plugins {}` block depending on how they have been published. If you're the Gradle built-in [`java-gradle-plugin`](https://docs.gradle.org/current/userguide/javaGradle_plugin.html) plugin that automates publication of supplementary data to make your plugins usable with the `plugins {}` block. -For example, the Android Gradle Plugin 2.x plugins are not published to the Gradle Plugin Portal and the metadata +For example, the Android Gradle Plugin plugins are not published to the Gradle Plugin Portal and the metadata required to resolve plugin identifiers to resolvable artifacts [is not published](https://issuetracker.google.com/issues/64551265). The following snippets will use the Android Gradle Plugin to demonstrate how to enable the use of the `plugins {}` block @@ -70,17 +70,17 @@ The goal here is to instruct your build how to map the `com.android.application` artifact. This is done in two steps. -First add a plugin repository in your `settings.gradle` file for the whole build: +First add a plugin repository in your `settings.gradle.kts` file for the whole build: ```groovy pluginManagement { repositories { gradlePluginPortal() - maven { url "https://jcenter.bintray.com/" } + maven { url = uri("https://maven.google.com") } } } ``` -Then, map the plugin `id` to the corresponding artifact coordinates, still in your `settings.gradle` file: +Then, map the plugin `id` to the corresponding artifact coordinates, still in your `settings.gradle.kts` file: ```groovy pluginManagement { @@ -100,12 +100,12 @@ plugin extension accessors, in your `build.gradle.kts` file: ```kotlin plugins { - id("com.android.application") version "2.3.3" + id("com.android.application") version "3.0.0" } android { - buildToolsVersion("25.0.0") - compileSdkVersion(23) + buildToolsVersion("27.0.0") + compileSdkVersion(27) } ``` From 47cdd3ea23cb44d4a7dd82ddbeecf267a59ed336 Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Wed, 8 Nov 2017 15:28:07 +0100 Subject: [PATCH 090/115] Update wrappers to latest snapshot distro --- gradle/wrapper/gradle-wrapper.properties | 2 +- samples/ant/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-cache/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-scan/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/code-quality/gradle/wrapper/gradle-wrapper.properties | 2 +- .../composite-builds/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/copy/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/domain-objects/gradle/wrapper/gradle-wrapper.properties | 2 +- .../extra-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-android/gradle/wrapper/gradle-wrapper.properties | 2 +- .../hello-coroutines/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-js/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-world/gradle/wrapper/gradle-wrapper.properties | 2 +- .../consumer/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-publish/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/model-rules/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/modularity/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../project-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../external/gradle/wrapper/gradle-wrapper.properties | 2 +- .../sample/gradle/wrapper/gradle-wrapper.properties | 2 +- .../task-dependencies/gradle/wrapper/gradle-wrapper.properties | 2 +- 37 files changed, 37 insertions(+), 37 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/ant/gradle/wrapper/gradle-wrapper.properties b/samples/ant/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/ant/gradle/wrapper/gradle-wrapper.properties +++ b/samples/ant/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/build-cache/gradle/wrapper/gradle-wrapper.properties b/samples/build-cache/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/build-cache/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-cache/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties +++ b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties +++ b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/copy/gradle/wrapper/gradle-wrapper.properties b/samples/copy/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/copy/gradle/wrapper/gradle-wrapper.properties +++ b/samples/copy/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties +++ b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties +++ b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties +++ b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/modularity/gradle/wrapper/gradle-wrapper.properties b/samples/modularity/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/modularity/gradle/wrapper/gradle-wrapper.properties +++ b/samples/modularity/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties b/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties +++ b/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties +++ b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip diff --git a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties index 7ae665d06..0d1692581 100644 --- a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties +++ b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171027181611+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip From 8a211d819660800103cc7c4e1a2388fa425d667b Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Wed, 8 Nov 2017 17:23:25 +0100 Subject: [PATCH 091/115] Leverage upstream changes to settings pluginManagement.repositories --- doc/getting-started/Configuring-Plugins.md | 12 +++++++----- .../gradle/kotlin/dsl/plugins/AbstractPluginTest.kt | 4 ++-- .../ProjectSchemaAccessorsIntegrationTest.kt | 2 +- samples/hello-android/settings.gradle.kts | 3 +-- samples/hello-js/settings.gradle.kts | 6 ------ 5 files changed, 11 insertions(+), 16 deletions(-) diff --git a/doc/getting-started/Configuring-Plugins.md b/doc/getting-started/Configuring-Plugins.md index a3fa2a2b0..7fadd87df 100644 --- a/doc/getting-started/Configuring-Plugins.md +++ b/doc/getting-started/Configuring-Plugins.md @@ -71,18 +71,18 @@ artifact. This is done in two steps. First add a plugin repository in your `settings.gradle.kts` file for the whole build: -```groovy +```kotlin pluginManagement { repositories { gradlePluginPortal() - maven { url = uri("https://maven.google.com") } + google() } } ``` Then, map the plugin `id` to the corresponding artifact coordinates, still in your `settings.gradle.kts` file: -```groovy +```kotlin pluginManagement { // ... resolutionStrategy { @@ -112,8 +112,10 @@ android { See the [Plugin Management](https://docs.gradle.org/current/userguide/plugins.html#sec:plugin_management) section of the Gradle documentation for more information. -However, it is not yet possible to use the `plugins {}` block to request -[plugins from composite builds](https://github.com/gradle/gradle/issues/2528) +The same can be applied to resolving plugins from composite builds. +Composite builds [do not expose plugin markers](https://github.com/gradle/gradle/issues/2528) yet. +This can be worked around by mapping the plugin `id` to the corresponding artifact coordinates using a plugin +resolution strategy, just like above. If you can't use the `plugins {}` block, you need to apply the plugin imperatively (using the `buildscript` block and `apply { from("") }`) and to know the type of the extension. diff --git a/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/AbstractPluginTest.kt b/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/AbstractPluginTest.kt index 29ff7aa02..8b941c424 100644 --- a/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/AbstractPluginTest.kt +++ b/plugins/src/test/kotlin/org/gradle/kotlin/dsl/plugins/AbstractPluginTest.kt @@ -18,8 +18,8 @@ open class AbstractPluginTest : AbstractIntegrationTest() { withSettings(""" pluginManagement { repositories { - maven { setUrl("$testRepository") } - maven { setUrl("https://jcenter.bintray.com/") } + maven { url = uri("$testRepository") } + jcenter() } resolutionStrategy { eachPlugin { diff --git a/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt b/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt index 17a1206ba..04fab36fb 100644 --- a/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt +++ b/provider/src/test/kotlin/org/gradle/kotlin/dsl/accessors/ProjectSchemaAccessorsIntegrationTest.kt @@ -252,7 +252,7 @@ class ProjectSchemaAccessorsIntegrationTest : AbstractIntegrationTest() { withFile("init.gradle", """ initscript { repositories { - maven { url "https://plugins.gradle.org/m2" } + gradlePluginPortal() } dependencies { classpath "com.gradle:build-scan-plugin:1.8" diff --git a/samples/hello-android/settings.gradle.kts b/samples/hello-android/settings.gradle.kts index cd9ba94be..7dc487022 100644 --- a/samples/hello-android/settings.gradle.kts +++ b/samples/hello-android/settings.gradle.kts @@ -1,8 +1,7 @@ pluginManagement { repositories { gradlePluginPortal() - maven { url = uri("https://jcenter.bintray.com/") } - maven { url = uri("https://maven.google.com/") } + google() } resolutionStrategy { eachPlugin { diff --git a/samples/hello-js/settings.gradle.kts b/samples/hello-js/settings.gradle.kts index e40f95550..84dda2788 100644 --- a/samples/hello-js/settings.gradle.kts +++ b/samples/hello-js/settings.gradle.kts @@ -1,10 +1,4 @@ pluginManagement { - repositories { - // Use the Gradle Plugin Portal as a regular maven repository - // allowing the plugin resolution strategy below to route the - // plugin request to artifact coordinates. - maven { url = uri("https://plugins.gradle.org/m2") } - } resolutionStrategy { eachPlugin { if (requested.id.id == "kotlin2js") { From 03d3e1bb33a242e4cbbede759606967ca1e6d17a Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Wed, 8 Nov 2017 15:43:40 -0200 Subject: [PATCH 092/115] Polish internal plugin identifiers - Get rid of the `Gsk` prefix - Map PascalCase type names to camelCase collection ids to kebab-case plugin ids --- buildSrc/build.gradle | 8 ++++---- .../kotlin/plugins/{GskModule.kt => KotlinDslModule.kt} | 2 +- .../{GskPublishedModule.kt => PublicKotlinDslModule.kt} | 4 ++-- provider/build.gradle.kts | 2 +- tooling-builders/build.gradle.kts | 2 +- tooling-models/build.gradle.kts | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) rename buildSrc/src/main/kotlin/plugins/{GskModule.kt => KotlinDslModule.kt} (97%) rename buildSrc/src/main/kotlin/plugins/{GskPublishedModule.kt => PublicKotlinDslModule.kt} (94%) diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index 3f4686136..74e8a279d 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -23,11 +23,11 @@ gradlePlugin { } kotlinDslModule { id = "kotlin-dsl-module" - implementationClass = "plugins.GskModule" + implementationClass = "plugins.KotlinDslModule" } - kotlinDslPublishedModule { - id = "kotlin-dsl-published-module" - implementationClass = "plugins.GskPublishedModule" + publicKotlinDslModule { + id = "public-kotlin-dsl-module" + implementationClass = "plugins.PublicKotlinDslModule" } } } diff --git a/buildSrc/src/main/kotlin/plugins/GskModule.kt b/buildSrc/src/main/kotlin/plugins/KotlinDslModule.kt similarity index 97% rename from buildSrc/src/main/kotlin/plugins/GskModule.kt rename to buildSrc/src/main/kotlin/plugins/KotlinDslModule.kt index df177afcc..41ec62a88 100644 --- a/buildSrc/src/main/kotlin/plugins/GskModule.kt +++ b/buildSrc/src/main/kotlin/plugins/KotlinDslModule.kt @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension * - be named after `base.archivesBaseName` * - include all sources */ -open class GskModule : Plugin { +open class KotlinDslModule : Plugin { override fun apply(project: Project) { diff --git a/buildSrc/src/main/kotlin/plugins/GskPublishedModule.kt b/buildSrc/src/main/kotlin/plugins/PublicKotlinDslModule.kt similarity index 94% rename from buildSrc/src/main/kotlin/plugins/GskPublishedModule.kt rename to buildSrc/src/main/kotlin/plugins/PublicKotlinDslModule.kt index d41a3a9b0..5c4581e5f 100644 --- a/buildSrc/src/main/kotlin/plugins/GskPublishedModule.kt +++ b/buildSrc/src/main/kotlin/plugins/PublicKotlinDslModule.kt @@ -19,13 +19,13 @@ import org.gradle.api.publish.maven.MavenPublication * - include all sources * - contain a classpath manifest */ -open class GskPublishedModule : Plugin { +open class PublicKotlinDslModule : Plugin { override fun apply(project: Project) { project.run { - plugins.apply(GskModule::class.java) + plugins.apply(KotlinDslModule::class.java) plugins.apply("maven-publish") plugins.apply("com.jfrog.artifactory") diff --git a/provider/build.gradle.kts b/provider/build.gradle.kts index 34f8f3f92..dc47fe89c 100644 --- a/provider/build.gradle.kts +++ b/provider/build.gradle.kts @@ -3,7 +3,7 @@ import build.* import codegen.GenerateKotlinDependencyExtensions plugins { - id("kotlin-dsl-published-module") + id("public-kotlin-dsl-module") } base { diff --git a/tooling-builders/build.gradle.kts b/tooling-builders/build.gradle.kts index 991493f44..8accfd4c6 100644 --- a/tooling-builders/build.gradle.kts +++ b/tooling-builders/build.gradle.kts @@ -1,7 +1,7 @@ import build.* plugins { - id("kotlin-dsl-published-module") + id("public-kotlin-dsl-module") } base { diff --git a/tooling-models/build.gradle.kts b/tooling-models/build.gradle.kts index 88b84ca3c..055ba4c4f 100644 --- a/tooling-models/build.gradle.kts +++ b/tooling-models/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - id("kotlin-dsl-published-module") + id("public-kotlin-dsl-module") } base { From 313c0d788ea0a3e7fcf59682bd13e835c3b76def Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Wed, 8 Nov 2017 16:39:25 -0200 Subject: [PATCH 093/115] Polish `EmbeddedKotlinProvider` - Simplify type name - Prefer expression body over block body - Compare against constant string first --- .../dsl/support/EmbeddedKotlinProvider.kt | 39 +++++++++---------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/EmbeddedKotlinProvider.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/EmbeddedKotlinProvider.kt index c37f6ccae..287957fbe 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/EmbeddedKotlinProvider.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/EmbeddedKotlinProvider.kt @@ -38,11 +38,11 @@ val embeddedRepositoryCacheKeyVersion = 1 private -data class EmbeddedKotlinModule( +data class EmbeddedModule( val group: String, val name: String, val version: String, - val dependencies: List = emptyList()) { + val dependencies: List = emptyList()) { val notation = "$group:$name:$version" val jarRepoPath = "${group.replace(".", "/")}/$name/$version/$name-$version.jar" @@ -50,13 +50,13 @@ data class EmbeddedKotlinModule( private -val embeddedKotlinModules: List by lazy { +val embeddedModules: List by lazy { - fun embeddedKotlin(name: String, dependencies: List = emptyList()) = - EmbeddedKotlinModule("org.jetbrains.kotlin", "kotlin-$name", embeddedKotlinVersion, dependencies) + fun embeddedKotlin(name: String, dependencies: List = emptyList()) = + EmbeddedModule("org.jetbrains.kotlin", "kotlin-$name", embeddedKotlinVersion, dependencies) // TODO:pm could be generated at build time - val annotations = EmbeddedKotlinModule("org.jetbrains", "annotations", "13.0") + val annotations = EmbeddedModule("org.jetbrains", "annotations", "13.0") val stdlib = embeddedKotlin("stdlib", listOf(annotations)) val stdlibJre7 = embeddedKotlin("stdlib-jre7", listOf(stdlib)) val stdlibJre8 = embeddedKotlin("stdlib-jre8", listOf(stdlibJre7)) @@ -106,17 +106,16 @@ class EmbeddedKotlinProvider constructor( kotlinModules.map { embeddedKotlinModuleFor(it) } private - fun transitiveClosureOf(modules: Collection): Set { - val closure = identitySetOf() - val q = ArrayDeque(modules) - while (q.isNotEmpty()) { - val module = q.removeFirst() - if (closure.add(module)) { - q.addAll(module.dependencies) + fun transitiveClosureOf(modules: Collection): Set = + identitySetOf().apply { + val q = ArrayDeque(modules) + while (q.isNotEmpty()) { + val module = q.removeFirst() + if (add(module)) { + q.addAll(module.dependencies) + } } } - return closure - } private fun identitySetOf(): MutableSet = @@ -140,13 +139,13 @@ class EmbeddedKotlinProvider constructor( private fun copyEmbeddedKotlinModulesTo(cache: PersistentCache) { - embeddedKotlinModules.forEach { module -> + embeddedModules.forEach { module -> fileFor(module).copyTo(File(repoDirFrom(cache), module.jarRepoPath)) } } private - fun fileFor(module: EmbeddedKotlinModule) = + fun fileFor(module: EmbeddedModule) = moduleRegistry.getExternalModule(module.name).classpath.asFiles.first() private @@ -158,7 +157,7 @@ class EmbeddedKotlinProvider constructor( File(cache.baseDir, "repo") private - fun clientModuleFor(dependencies: DependencyHandler, embeddedModule: EmbeddedKotlinModule): ClientModule = + fun clientModuleFor(dependencies: DependencyHandler, embeddedModule: EmbeddedModule): ClientModule = (dependencies.module(embeddedModule.notation) as ClientModule).apply { embeddedModule.dependencies.forEach { dependency -> addDependency(clientModuleFor(dependencies, dependency)) @@ -167,9 +166,9 @@ class EmbeddedKotlinProvider constructor( private fun embeddedKotlinModuleFor(kotlinModule: String) = - embeddedKotlinModules.first { it.name == "kotlin-$kotlinModule" && it.group == "org.jetbrains.kotlin" } + embeddedModules.first { it.group == "org.jetbrains.kotlin" && it.name == "kotlin-$kotlinModule" } private - fun Iterable.findWithSameGroupAndNameAs(requested: ModuleVersionSelector) = + fun Iterable.findWithSameGroupAndNameAs(requested: ModuleVersionSelector) = find { it.name == requested.name && it.group == requested.group } } From 40fbdd4c274b799bcead92cc3088142403589f5d Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 10 Nov 2017 15:30:46 +0100 Subject: [PATCH 094/115] Upgrade fixtures and sample tests dependencies --- samples-tests/build.gradle.kts | 2 +- test-fixtures/build.gradle.kts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/samples-tests/build.gradle.kts b/samples-tests/build.gradle.kts index 3f5a4cefd..b3c52cfe4 100644 --- a/samples-tests/build.gradle.kts +++ b/samples-tests/build.gradle.kts @@ -6,7 +6,7 @@ plugins { dependencies { compile(project(":test-fixtures")) - compile("org.xmlunit:xmlunit-matchers:2.4.0") + compile("org.xmlunit:xmlunit-matchers:2.5.1") } val customInstallation by rootProject.tasks diff --git a/test-fixtures/build.gradle.kts b/test-fixtures/build.gradle.kts index 34e6e3ec8..de1cb3e7c 100644 --- a/test-fixtures/build.gradle.kts +++ b/test-fixtures/build.gradle.kts @@ -10,7 +10,7 @@ dependencies { compile(gradleTestKit()) compile("junit:junit:4.12") - compile("com.nhaarman:mockito-kotlin:1.2.0") - compile("com.fasterxml.jackson.module:jackson-module-kotlin:2.7.5") - compile("org.ow2.asm:asm-all:5.1") + compile("com.nhaarman:mockito-kotlin:1.5.0") + compile("com.fasterxml.jackson.module:jackson-module-kotlin:2.9.2") + compile("org.ow2.asm:asm-all:5.2") } From 6d12902b5c4794c2a088c0e01eb706d451fbc86a Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Mon, 13 Nov 2017 14:12:25 -0200 Subject: [PATCH 095/115] :arrow_up: Kotlin 1.1.60 :tada: See #551 --- kotlin-version.txt | 2 +- samples/hello-android/build.gradle.kts | 4 ++-- samples/hello-coroutines/build.gradle.kts | 2 +- samples/hello-js/build.gradle.kts | 2 +- samples/hello-kotlin/build.gradle.kts | 2 +- samples/maven-publish/build.gradle.kts | 2 +- .../multi-kotlin-project-config-injection/build.gradle.kts | 2 +- samples/multi-kotlin-project-with-buildSrc/build.gradle.kts | 2 +- samples/multi-kotlin-project/build.gradle.kts | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/kotlin-version.txt b/kotlin-version.txt index 3baec7907..69b98bb97 100644 --- a/kotlin-version.txt +++ b/kotlin-version.txt @@ -1 +1 @@ -1.1.51 +1.1.60 diff --git a/samples/hello-android/build.gradle.kts b/samples/hello-android/build.gradle.kts index b21fefbdf..a9e54ecdc 100644 --- a/samples/hello-android/build.gradle.kts +++ b/samples/hello-android/build.gradle.kts @@ -1,6 +1,6 @@ plugins { id("com.android.application") version "3.0.0" - kotlin("android") version "1.1.51" + kotlin("android") version "1.1.60" } android { @@ -27,7 +27,7 @@ android { dependencies { compile("com.android.support:appcompat-v7:27.0.0") compile("com.android.support.constraint:constraint-layout:1.0.2") - compile(kotlin("stdlib", "1.1.51")) + compile(kotlin("stdlib", "1.1.60")) } repositories { diff --git a/samples/hello-coroutines/build.gradle.kts b/samples/hello-coroutines/build.gradle.kts index ff61207c4..63ebc9b25 100644 --- a/samples/hello-coroutines/build.gradle.kts +++ b/samples/hello-coroutines/build.gradle.kts @@ -2,7 +2,7 @@ import org.jetbrains.kotlin.gradle.dsl.Coroutines plugins { application - kotlin("jvm") version "1.1.51" + kotlin("jvm") version "1.1.60" } application { diff --git a/samples/hello-js/build.gradle.kts b/samples/hello-js/build.gradle.kts index 92270907f..71a802237 100644 --- a/samples/hello-js/build.gradle.kts +++ b/samples/hello-js/build.gradle.kts @@ -1,7 +1,7 @@ import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile plugins { - id("kotlin2js") version "1.1.51" + id("kotlin2js") version "1.1.60" } dependencies { diff --git a/samples/hello-kotlin/build.gradle.kts b/samples/hello-kotlin/build.gradle.kts index 3742c2779..1643fbfee 100644 --- a/samples/hello-kotlin/build.gradle.kts +++ b/samples/hello-kotlin/build.gradle.kts @@ -1,6 +1,6 @@ plugins { application - kotlin("jvm") version "1.1.51" + kotlin("jvm") version "1.1.60" } application { diff --git a/samples/maven-publish/build.gradle.kts b/samples/maven-publish/build.gradle.kts index 6b3ca5318..84382156d 100644 --- a/samples/maven-publish/build.gradle.kts +++ b/samples/maven-publish/build.gradle.kts @@ -1,7 +1,7 @@ import org.gradle.api.tasks.bundling.Jar plugins { - kotlin("jvm") version "1.1.51" + kotlin("jvm") version "1.1.60" `maven-publish` } diff --git a/samples/multi-kotlin-project-config-injection/build.gradle.kts b/samples/multi-kotlin-project-config-injection/build.gradle.kts index e71cd9aa8..be8b53ac8 100644 --- a/samples/multi-kotlin-project-config-injection/build.gradle.kts +++ b/samples/multi-kotlin-project-config-injection/build.gradle.kts @@ -2,7 +2,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { base - kotlin("jvm") version "1.1.51" apply false + kotlin("jvm") version "1.1.60" apply false } allprojects { diff --git a/samples/multi-kotlin-project-with-buildSrc/build.gradle.kts b/samples/multi-kotlin-project-with-buildSrc/build.gradle.kts index e45c33860..0e0ff2771 100644 --- a/samples/multi-kotlin-project-with-buildSrc/build.gradle.kts +++ b/samples/multi-kotlin-project-with-buildSrc/build.gradle.kts @@ -1,6 +1,6 @@ plugins { base - kotlin("jvm") version "1.1.51" apply false + kotlin("jvm") version "1.1.60" apply false } allprojects { diff --git a/samples/multi-kotlin-project/build.gradle.kts b/samples/multi-kotlin-project/build.gradle.kts index 7a7217c6f..1c1ec9e36 100644 --- a/samples/multi-kotlin-project/build.gradle.kts +++ b/samples/multi-kotlin-project/build.gradle.kts @@ -1,6 +1,6 @@ plugins { base - kotlin("jvm") version "1.1.51" apply false + kotlin("jvm") version "1.1.60" apply false } allprojects { From 12b57b6c076cf98f1c4c22bd071b6331c58938df Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Mon, 13 Nov 2017 14:43:14 -0200 Subject: [PATCH 096/115] Let Kotlin work out the current JRE classes by itself See #551 --- .../main/kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt index 8c6892485..c40ddc23d 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt @@ -187,7 +187,6 @@ private fun compilerConfigurationFor(messageCollector: MessageCollector, sourceFiles: Iterable): CompilerConfiguration = CompilerConfiguration().apply { addKotlinSourceRoots(sourceFiles.map { it.canonicalPath }) - addJvmClasspathRoots(PathUtil.getJdkClassesRootsFromCurrentJre()) /* * Without this the compiler won't work with JDK 9. * See the discussion here: From 95983ff75ac587e53716ceadce13f5ecb5f0b937 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Mon, 13 Nov 2017 14:54:09 -0200 Subject: [PATCH 097/115] Let the Kotlin compiler work out the JDK home on Java < 9 See #551 --- .../kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt index c40ddc23d..a7e0942e5 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt @@ -16,6 +16,8 @@ package org.gradle.kotlin.dsl.support +import org.gradle.api.JavaVersion + import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity @@ -192,7 +194,9 @@ fun compilerConfigurationFor(messageCollector: MessageCollector, sourceFiles: It * See the discussion here: * https://youtrack.jetbrains.com/issue/KT-20167 */ - put(JVMConfigurationKeys.JDK_HOME, File(System.getProperty("java.home"))) + if (JavaVersion.current().isJava9Compatible) { + put(JVMConfigurationKeys.JDK_HOME, File(System.getProperty("java.home"))) + } put(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, messageCollector) } From 9ca5ffdaac749b22b1d767594ad8d0b97234f1c8 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Mon, 13 Nov 2017 15:08:56 -0200 Subject: [PATCH 098/115] Temporarily disable tests requiring new `kotlin-dsl` version See #551 --- .../dsl/samples/MultiKotlinProjectWithBuildSrcSampleTest.kt | 3 ++- .../kotlin/org/gradle/kotlin/dsl/samples/SamplesSmokeTest.kt | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/MultiKotlinProjectWithBuildSrcSampleTest.kt b/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/MultiKotlinProjectWithBuildSrcSampleTest.kt index c065eddac..98c7008fa 100644 --- a/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/MultiKotlinProjectWithBuildSrcSampleTest.kt +++ b/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/MultiKotlinProjectWithBuildSrcSampleTest.kt @@ -2,8 +2,9 @@ package org.gradle.kotlin.dsl.samples import org.hamcrest.CoreMatchers.containsString import org.junit.Assert.assertThat +import org.junit.Ignore - +@Ignore("Requires published `kotlin-dsl` plugin depending on Kotlin 1.1.60") class MultiKotlinProjectWithBuildSrcSampleTest : AbstractSampleTest("multi-kotlin-project-with-buildSrc") { @org.junit.Test diff --git a/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/SamplesSmokeTest.kt b/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/SamplesSmokeTest.kt index 66be4a98b..3f0fa74fc 100644 --- a/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/SamplesSmokeTest.kt +++ b/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/SamplesSmokeTest.kt @@ -41,6 +41,10 @@ class SamplesSmokeTest( @Test fun `uses the right Kotlin Gradle Plugin version on `() { + assumeTrue( + "Requires published `kotlin-dsl` plugin depending on Kotlin 1.1.60", + sampleName !in setOf("model-rules", "multi-kotlin-project-with-buildSrc", "multi-project-with-buildSrc", "project-with-buildSrc")) + val projectPaths = listOf(":") + listSubProjectPaths().map { "$it:" } val projectBuilds = projectPaths.map { buildSpec("${it}buildEnvironment") } val buildsToCheck = From 5cacaeec3905477e3bc809bb922ecb707823798a Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Mon, 13 Nov 2017 16:03:39 -0200 Subject: [PATCH 099/115] Remove special Java 9 treatment --- .../org/gradle/kotlin/dsl/support/KotlinCompiler.kt | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt index a7e0942e5..9f0f45d61 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt @@ -16,8 +16,6 @@ package org.gradle.kotlin.dsl.support -import org.gradle.api.JavaVersion - import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity @@ -189,14 +187,6 @@ private fun compilerConfigurationFor(messageCollector: MessageCollector, sourceFiles: Iterable): CompilerConfiguration = CompilerConfiguration().apply { addKotlinSourceRoots(sourceFiles.map { it.canonicalPath }) - /* - * Without this the compiler won't work with JDK 9. - * See the discussion here: - * https://youtrack.jetbrains.com/issue/KT-20167 - */ - if (JavaVersion.current().isJava9Compatible) { - put(JVMConfigurationKeys.JDK_HOME, File(System.getProperty("java.home"))) - } put(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, messageCollector) } From 843c51ea4ca6345ceffbf39d36e76d62a75ad536 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Mon, 13 Nov 2017 16:45:22 -0200 Subject: [PATCH 100/115] Update wrappers to latest snapshot distro --- gradle/wrapper/gradle-wrapper.properties | 2 +- samples/ant/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-cache/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-scan/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/code-quality/gradle/wrapper/gradle-wrapper.properties | 2 +- .../composite-builds/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/copy/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/domain-objects/gradle/wrapper/gradle-wrapper.properties | 2 +- .../extra-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-android/gradle/wrapper/gradle-wrapper.properties | 2 +- .../hello-coroutines/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-js/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-world/gradle/wrapper/gradle-wrapper.properties | 2 +- .../consumer/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-publish/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/model-rules/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/modularity/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../project-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../external/gradle/wrapper/gradle-wrapper.properties | 2 +- .../sample/gradle/wrapper/gradle-wrapper.properties | 2 +- .../task-dependencies/gradle/wrapper/gradle-wrapper.properties | 2 +- 37 files changed, 37 insertions(+), 37 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/ant/gradle/wrapper/gradle-wrapper.properties b/samples/ant/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/ant/gradle/wrapper/gradle-wrapper.properties +++ b/samples/ant/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/build-cache/gradle/wrapper/gradle-wrapper.properties b/samples/build-cache/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/build-cache/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-cache/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties +++ b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties +++ b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/copy/gradle/wrapper/gradle-wrapper.properties b/samples/copy/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/copy/gradle/wrapper/gradle-wrapper.properties +++ b/samples/copy/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties +++ b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties +++ b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties +++ b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/modularity/gradle/wrapper/gradle-wrapper.properties b/samples/modularity/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/modularity/gradle/wrapper/gradle-wrapper.properties +++ b/samples/modularity/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties b/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties +++ b/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties +++ b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip diff --git a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties index 0d1692581..249ce83ec 100644 --- a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties +++ b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171108142237+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip From 2bba3fa6c325efa43505bd52fa49aa783bc33b3c Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Mon, 13 Nov 2017 17:47:59 -0200 Subject: [PATCH 101/115] Publish `0.13.0` version of the plugins --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index f776fba97..2e9042f9a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -30,7 +30,7 @@ allprojects { } val publishedPluginsVersion by extra { "0.12.0" } -val futurePluginsVersion = "0.12.1" +val futurePluginsVersion = "0.13.0" project(":plugins") { group = "org.gradle.kotlin" version = futurePluginsVersion From 2dbea0cc0292a565d5b9c9a1b72bd00aec098df3 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Mon, 13 Nov 2017 17:48:59 -0200 Subject: [PATCH 102/115] Bump plugins version --- build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 2e9042f9a..3079c9161 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -29,8 +29,8 @@ allprojects { version = "0.13.0-SNAPSHOT" } -val publishedPluginsVersion by extra { "0.12.0" } -val futurePluginsVersion = "0.13.0" +val publishedPluginsVersion by extra { "0.13.0" } +val futurePluginsVersion = "0.13.1" project(":plugins") { group = "org.gradle.kotlin" version = futurePluginsVersion From 1e0061da68c84a65a88565b421ee6a514f073685 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Mon, 13 Nov 2017 17:51:12 -0200 Subject: [PATCH 103/115] Re-enable sample tests --- .../dsl/samples/MultiKotlinProjectWithBuildSrcSampleTest.kt | 2 -- .../kotlin/org/gradle/kotlin/dsl/samples/SamplesSmokeTest.kt | 4 ---- 2 files changed, 6 deletions(-) diff --git a/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/MultiKotlinProjectWithBuildSrcSampleTest.kt b/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/MultiKotlinProjectWithBuildSrcSampleTest.kt index 98c7008fa..88014f2c8 100644 --- a/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/MultiKotlinProjectWithBuildSrcSampleTest.kt +++ b/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/MultiKotlinProjectWithBuildSrcSampleTest.kt @@ -2,9 +2,7 @@ package org.gradle.kotlin.dsl.samples import org.hamcrest.CoreMatchers.containsString import org.junit.Assert.assertThat -import org.junit.Ignore -@Ignore("Requires published `kotlin-dsl` plugin depending on Kotlin 1.1.60") class MultiKotlinProjectWithBuildSrcSampleTest : AbstractSampleTest("multi-kotlin-project-with-buildSrc") { @org.junit.Test diff --git a/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/SamplesSmokeTest.kt b/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/SamplesSmokeTest.kt index 3f0fa74fc..66be4a98b 100644 --- a/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/SamplesSmokeTest.kt +++ b/samples-tests/src/test/kotlin/org/gradle/kotlin/dsl/samples/SamplesSmokeTest.kt @@ -41,10 +41,6 @@ class SamplesSmokeTest( @Test fun `uses the right Kotlin Gradle Plugin version on `() { - assumeTrue( - "Requires published `kotlin-dsl` plugin depending on Kotlin 1.1.60", - sampleName !in setOf("model-rules", "multi-kotlin-project-with-buildSrc", "multi-project-with-buildSrc", "project-with-buildSrc")) - val projectPaths = listOf(":") + listSubProjectPaths().map { "$it:" } val projectBuilds = projectPaths.map { buildSpec("${it}buildEnvironment") } val buildsToCheck = From e9bc2b01b73ac2c618d78e5281e8864e1736f21e Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Tue, 14 Nov 2017 12:51:13 -0200 Subject: [PATCH 104/115] Update wrappers to latest snapshot distro --- gradle/wrapper/gradle-wrapper.properties | 2 +- samples/ant/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-cache/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-scan/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/code-quality/gradle/wrapper/gradle-wrapper.properties | 2 +- .../composite-builds/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/copy/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/domain-objects/gradle/wrapper/gradle-wrapper.properties | 2 +- .../extra-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-android/gradle/wrapper/gradle-wrapper.properties | 2 +- .../hello-coroutines/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-js/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-world/gradle/wrapper/gradle-wrapper.properties | 2 +- .../consumer/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-publish/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/model-rules/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/modularity/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../project-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../external/gradle/wrapper/gradle-wrapper.properties | 2 +- .../sample/gradle/wrapper/gradle-wrapper.properties | 2 +- .../task-dependencies/gradle/wrapper/gradle-wrapper.properties | 2 +- 37 files changed, 37 insertions(+), 37 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/ant/gradle/wrapper/gradle-wrapper.properties b/samples/ant/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/ant/gradle/wrapper/gradle-wrapper.properties +++ b/samples/ant/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/build-cache/gradle/wrapper/gradle-wrapper.properties b/samples/build-cache/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/build-cache/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-cache/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties +++ b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties +++ b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/copy/gradle/wrapper/gradle-wrapper.properties b/samples/copy/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/copy/gradle/wrapper/gradle-wrapper.properties +++ b/samples/copy/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties +++ b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties +++ b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties +++ b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/modularity/gradle/wrapper/gradle-wrapper.properties b/samples/modularity/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/modularity/gradle/wrapper/gradle-wrapper.properties +++ b/samples/modularity/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties b/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties +++ b/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties +++ b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip diff --git a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties index 249ce83ec..e4b048c32 100644 --- a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties +++ b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171113184035+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip From 51ae0f8a5bac40e2e00ebd7fdeb8fa690c954783 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Tue, 14 Nov 2017 13:16:40 -0200 Subject: [PATCH 105/115] Prepare 0.13.0 release --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 3079c9161..5e3a443ed 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -26,7 +26,7 @@ plugins { allprojects { group = "org.gradle" - version = "0.13.0-SNAPSHOT" + version = "0.13.0" } val publishedPluginsVersion by extra { "0.13.0" } From 356e88d0cddcdd84a0c7324a675732f1c6fee2c9 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Tue, 14 Nov 2017 13:22:38 -0200 Subject: [PATCH 106/115] Toward 0.14.0 --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 5e3a443ed..af2916f88 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -26,7 +26,7 @@ plugins { allprojects { group = "org.gradle" - version = "0.13.0" + version = "0.14.0-SNAPSHOT" } val publishedPluginsVersion by extra { "0.13.0" } From ea46b72d5adba570ca1ebb8140fefc8438226d8c Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Fri, 17 Nov 2017 13:13:32 -0200 Subject: [PATCH 107/115] Revert ":arrow_up: Kotlin 1.1.60 :tada:" This reverts commit 6d12902b5c4794c2a088c0e01eb706d451fbc86a. --- kotlin-version.txt | 2 +- samples/hello-android/build.gradle.kts | 4 ++-- samples/hello-coroutines/build.gradle.kts | 2 +- samples/hello-js/build.gradle.kts | 2 +- samples/hello-kotlin/build.gradle.kts | 2 +- samples/maven-publish/build.gradle.kts | 2 +- .../multi-kotlin-project-config-injection/build.gradle.kts | 2 +- samples/multi-kotlin-project-with-buildSrc/build.gradle.kts | 2 +- samples/multi-kotlin-project/build.gradle.kts | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/kotlin-version.txt b/kotlin-version.txt index 69b98bb97..3baec7907 100644 --- a/kotlin-version.txt +++ b/kotlin-version.txt @@ -1 +1 @@ -1.1.60 +1.1.51 diff --git a/samples/hello-android/build.gradle.kts b/samples/hello-android/build.gradle.kts index a9e54ecdc..b21fefbdf 100644 --- a/samples/hello-android/build.gradle.kts +++ b/samples/hello-android/build.gradle.kts @@ -1,6 +1,6 @@ plugins { id("com.android.application") version "3.0.0" - kotlin("android") version "1.1.60" + kotlin("android") version "1.1.51" } android { @@ -27,7 +27,7 @@ android { dependencies { compile("com.android.support:appcompat-v7:27.0.0") compile("com.android.support.constraint:constraint-layout:1.0.2") - compile(kotlin("stdlib", "1.1.60")) + compile(kotlin("stdlib", "1.1.51")) } repositories { diff --git a/samples/hello-coroutines/build.gradle.kts b/samples/hello-coroutines/build.gradle.kts index 63ebc9b25..ff61207c4 100644 --- a/samples/hello-coroutines/build.gradle.kts +++ b/samples/hello-coroutines/build.gradle.kts @@ -2,7 +2,7 @@ import org.jetbrains.kotlin.gradle.dsl.Coroutines plugins { application - kotlin("jvm") version "1.1.60" + kotlin("jvm") version "1.1.51" } application { diff --git a/samples/hello-js/build.gradle.kts b/samples/hello-js/build.gradle.kts index 71a802237..92270907f 100644 --- a/samples/hello-js/build.gradle.kts +++ b/samples/hello-js/build.gradle.kts @@ -1,7 +1,7 @@ import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile plugins { - id("kotlin2js") version "1.1.60" + id("kotlin2js") version "1.1.51" } dependencies { diff --git a/samples/hello-kotlin/build.gradle.kts b/samples/hello-kotlin/build.gradle.kts index 1643fbfee..3742c2779 100644 --- a/samples/hello-kotlin/build.gradle.kts +++ b/samples/hello-kotlin/build.gradle.kts @@ -1,6 +1,6 @@ plugins { application - kotlin("jvm") version "1.1.60" + kotlin("jvm") version "1.1.51" } application { diff --git a/samples/maven-publish/build.gradle.kts b/samples/maven-publish/build.gradle.kts index 84382156d..6b3ca5318 100644 --- a/samples/maven-publish/build.gradle.kts +++ b/samples/maven-publish/build.gradle.kts @@ -1,7 +1,7 @@ import org.gradle.api.tasks.bundling.Jar plugins { - kotlin("jvm") version "1.1.60" + kotlin("jvm") version "1.1.51" `maven-publish` } diff --git a/samples/multi-kotlin-project-config-injection/build.gradle.kts b/samples/multi-kotlin-project-config-injection/build.gradle.kts index be8b53ac8..e71cd9aa8 100644 --- a/samples/multi-kotlin-project-config-injection/build.gradle.kts +++ b/samples/multi-kotlin-project-config-injection/build.gradle.kts @@ -2,7 +2,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { base - kotlin("jvm") version "1.1.60" apply false + kotlin("jvm") version "1.1.51" apply false } allprojects { diff --git a/samples/multi-kotlin-project-with-buildSrc/build.gradle.kts b/samples/multi-kotlin-project-with-buildSrc/build.gradle.kts index 0e0ff2771..e45c33860 100644 --- a/samples/multi-kotlin-project-with-buildSrc/build.gradle.kts +++ b/samples/multi-kotlin-project-with-buildSrc/build.gradle.kts @@ -1,6 +1,6 @@ plugins { base - kotlin("jvm") version "1.1.60" apply false + kotlin("jvm") version "1.1.51" apply false } allprojects { diff --git a/samples/multi-kotlin-project/build.gradle.kts b/samples/multi-kotlin-project/build.gradle.kts index 1c1ec9e36..7a7217c6f 100644 --- a/samples/multi-kotlin-project/build.gradle.kts +++ b/samples/multi-kotlin-project/build.gradle.kts @@ -1,6 +1,6 @@ plugins { base - kotlin("jvm") version "1.1.60" apply false + kotlin("jvm") version "1.1.51" apply false } allprojects { From 6dbd98aed15d925a168130f75423fc1383cb5a09 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Fri, 17 Nov 2017 13:14:50 -0200 Subject: [PATCH 108/115] Revert "Bump plugins version" This reverts commit 2dbea0cc0292a565d5b9c9a1b72bd00aec098df3. --- build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index af2916f88..9afd12b11 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -29,8 +29,8 @@ allprojects { version = "0.14.0-SNAPSHOT" } -val publishedPluginsVersion by extra { "0.13.0" } -val futurePluginsVersion = "0.13.1" +val publishedPluginsVersion by extra { "0.12.0" } +val futurePluginsVersion = "0.13.0" project(":plugins") { group = "org.gradle.kotlin" version = futurePluginsVersion From 88fe1664f4dbea637dd4b8202e4c955e6da0ab99 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Fri, 17 Nov 2017 13:15:29 -0200 Subject: [PATCH 109/115] Bump future plugins version As to avoid any confusion on what the next version number should be. --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 9afd12b11..58bff8f01 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -30,7 +30,7 @@ allprojects { } val publishedPluginsVersion by extra { "0.12.0" } -val futurePluginsVersion = "0.13.0" +val futurePluginsVersion = "0.13.1" project(":plugins") { group = "org.gradle.kotlin" version = futurePluginsVersion From 628599a7160a695f834cbc5bb5abc327d8445c47 Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Fri, 17 Nov 2017 13:23:13 -0200 Subject: [PATCH 110/115] Revert "Let Kotlin work out the current JRE classes by itself" This reverts commit 12b57b6c076cf98f1c4c22bd071b6331c58938df. --- .../kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt b/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt index 9f0f45d61..8c6892485 100644 --- a/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt +++ b/provider/src/main/kotlin/org/gradle/kotlin/dsl/support/KotlinCompiler.kt @@ -187,6 +187,13 @@ private fun compilerConfigurationFor(messageCollector: MessageCollector, sourceFiles: Iterable): CompilerConfiguration = CompilerConfiguration().apply { addKotlinSourceRoots(sourceFiles.map { it.canonicalPath }) + addJvmClasspathRoots(PathUtil.getJdkClassesRootsFromCurrentJre()) + /* + * Without this the compiler won't work with JDK 9. + * See the discussion here: + * https://youtrack.jetbrains.com/issue/KT-20167 + */ + put(JVMConfigurationKeys.JDK_HOME, File(System.getProperty("java.home"))) put(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, messageCollector) } From b5727aabade7df025f7d0655dd4be0c1be1c6bae Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Fri, 17 Nov 2017 13:52:47 -0200 Subject: [PATCH 111/115] Toward 0.13.1 --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 58bff8f01..5ab982027 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -26,7 +26,7 @@ plugins { allprojects { group = "org.gradle" - version = "0.14.0-SNAPSHOT" + version = "0.13.1-SNAPSHOT" } val publishedPluginsVersion by extra { "0.12.0" } From 27f90432e8b575c2660f5f68433481e96bc94c6f Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 17 Nov 2017 17:34:37 +0100 Subject: [PATCH 112/115] Update wrappers to latest snapshot distro --- gradle/wrapper/gradle-wrapper.properties | 2 +- samples/ant/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-cache/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-scan/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/code-quality/gradle/wrapper/gradle-wrapper.properties | 2 +- .../composite-builds/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/copy/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/domain-objects/gradle/wrapper/gradle-wrapper.properties | 2 +- .../extra-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-android/gradle/wrapper/gradle-wrapper.properties | 2 +- .../hello-coroutines/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-js/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-world/gradle/wrapper/gradle-wrapper.properties | 2 +- .../consumer/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-publish/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/model-rules/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/modularity/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../project-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../external/gradle/wrapper/gradle-wrapper.properties | 2 +- .../sample/gradle/wrapper/gradle-wrapper.properties | 2 +- .../task-dependencies/gradle/wrapper/gradle-wrapper.properties | 2 +- 37 files changed, 37 insertions(+), 37 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/ant/gradle/wrapper/gradle-wrapper.properties b/samples/ant/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/ant/gradle/wrapper/gradle-wrapper.properties +++ b/samples/ant/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/build-cache/gradle/wrapper/gradle-wrapper.properties b/samples/build-cache/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/build-cache/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-cache/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties +++ b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties +++ b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/copy/gradle/wrapper/gradle-wrapper.properties b/samples/copy/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/copy/gradle/wrapper/gradle-wrapper.properties +++ b/samples/copy/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties +++ b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties +++ b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties +++ b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/modularity/gradle/wrapper/gradle-wrapper.properties b/samples/modularity/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/modularity/gradle/wrapper/gradle-wrapper.properties +++ b/samples/modularity/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties b/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties +++ b/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties +++ b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip diff --git a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties index e4b048c32..84e39965c 100644 --- a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties +++ b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171114142330+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip From 9a6eb7875c0dd980803f51e174bd9e4e4e15f92d Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 17 Nov 2017 17:54:44 +0100 Subject: [PATCH 113/115] Bump plugins version --- build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 5ab982027..2ea9ce5fd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -29,8 +29,8 @@ allprojects { version = "0.13.1-SNAPSHOT" } -val publishedPluginsVersion by extra { "0.12.0" } -val futurePluginsVersion = "0.13.1" +val publishedPluginsVersion by extra { "0.13.1" } +val futurePluginsVersion = "0.13.2" project(":plugins") { group = "org.gradle.kotlin" version = futurePluginsVersion From 75254bba2ac1f0a7e9b0ed33ee052741590386fd Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Fri, 17 Nov 2017 18:17:53 +0100 Subject: [PATCH 114/115] Update wrappers to latest snapshot distro --- gradle/wrapper/gradle-wrapper.properties | 2 +- samples/ant/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-cache/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/build-scan/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/code-quality/gradle/wrapper/gradle-wrapper.properties | 2 +- .../composite-builds/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/copy/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/domain-objects/gradle/wrapper/gradle-wrapper.properties | 2 +- .../extra-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-android/gradle/wrapper/gradle-wrapper.properties | 2 +- .../hello-coroutines/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-js/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/hello-world/gradle/wrapper/gradle-wrapper.properties | 2 +- .../consumer/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/maven-publish/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/model-rules/gradle/wrapper/gradle-wrapper.properties | 2 +- samples/modularity/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../project-properties/gradle/wrapper/gradle-wrapper.properties | 2 +- .../buildSrc/gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../external/gradle/wrapper/gradle-wrapper.properties | 2 +- .../sample/gradle/wrapper/gradle-wrapper.properties | 2 +- .../task-dependencies/gradle/wrapper/gradle-wrapper.properties | 2 +- 37 files changed, 37 insertions(+), 37 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/ant/gradle/wrapper/gradle-wrapper.properties b/samples/ant/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/ant/gradle/wrapper/gradle-wrapper.properties +++ b/samples/ant/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/build-cache/gradle/wrapper/gradle-wrapper.properties b/samples/build-cache/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/build-cache/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-cache/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/build-scan/gradle/wrapper/gradle-wrapper.properties +++ b/samples/build-scan/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/code-quality/gradle/wrapper/gradle-wrapper.properties +++ b/samples/code-quality/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties +++ b/samples/composite-builds/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/copy/gradle/wrapper/gradle-wrapper.properties b/samples/copy/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/copy/gradle/wrapper/gradle-wrapper.properties +++ b/samples/copy/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties +++ b/samples/domain-objects/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/extra-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/gradle-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties +++ b/samples/groovy-interop/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/hello-android/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-coroutines/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/hello-js/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-js/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-kotlin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/hello-world/gradle/wrapper/gradle-wrapper.properties +++ b/samples/hello-world/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/consumer/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/kotlin-friendly-groovy-plugin/plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-plugin/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties +++ b/samples/maven-publish/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/model-rules/gradle/wrapper/gradle-wrapper.properties +++ b/samples/model-rules/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/modularity/gradle/wrapper/gradle-wrapper.properties b/samples/modularity/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/modularity/gradle/wrapper/gradle-wrapper.properties +++ b/samples/modularity/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-config-injection/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-kotlin-project/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/multi-project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/project-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties +++ b/samples/project-with-buildSrc/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties +++ b/samples/provider-properties/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties b/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties +++ b/samples/source-control/external/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties +++ b/samples/source-control/sample/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip diff --git a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties index 84e39965c..1840c4a17 100644 --- a/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties +++ b/samples/task-dependencies/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117162802+0000-all.zip +distributionUrl=https\://repo.gradle.org/gradle/dist-snapshots/gradle-kotlin-dsl-4.4-20171117171149+0000-all.zip From 95d1fcb02655f5abb1e47fa23f5c76b948dc4dba Mon Sep 17 00:00:00 2001 From: "Rodrigo B. de Oliveira" Date: Fri, 17 Nov 2017 16:09:27 -0200 Subject: [PATCH 115/115] Prepare 0.13.1 release --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 2ea9ce5fd..cd9b029e3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -26,7 +26,7 @@ plugins { allprojects { group = "org.gradle" - version = "0.13.1-SNAPSHOT" + version = "0.13.1" } val publishedPluginsVersion by extra { "0.13.1" }