From 2400aa55d07ebdd4c8d79352c0dc9e5bfaa1090f Mon Sep 17 00:00:00 2001 From: Tad Fisher Date: Wed, 16 Oct 2019 14:51:54 -0700 Subject: [PATCH] Remove gradle-wrapper arg It is the default behavior to use the project's Gradle wrapper if available. --- app/build.gradle.kts | 7 ++++++ .../org/nixos/gradle2nix/GradleRunner.kt | 4 +--- .../main/kotlin/org/nixos/gradle2nix/Main.kt | 11 +++------- .../org/nixos/gradle2nix/WrapperTest.kt | 22 +++++++++++++++++++ 4 files changed, 33 insertions(+), 11 deletions(-) create mode 100644 plugin/src/compatTest/kotlin/org/nixos/gradle2nix/WrapperTest.kt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 641f1b4..a77f165 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -35,6 +35,13 @@ application { } tasks { + (run) { + dependsOn(installDist) + doFirst { + jvmArgs = listOf("-Dorg.nixos.gradle2nix.share=${installDist.get().destinationDir.resolve("share")}") + } + } + startScripts { doLast { unixScript.writeText(unixScript.readText().replace("@APP_HOME@", "\$APP_HOME")) diff --git a/app/src/main/kotlin/org/nixos/gradle2nix/GradleRunner.kt b/app/src/main/kotlin/org/nixos/gradle2nix/GradleRunner.kt index bb46b6b..ad22547 100644 --- a/app/src/main/kotlin/org/nixos/gradle2nix/GradleRunner.kt +++ b/app/src/main/kotlin/org/nixos/gradle2nix/GradleRunner.kt @@ -6,9 +6,7 @@ import org.gradle.tooling.ProjectConnection fun connect(config: Config): ProjectConnection = GradleConnector.newConnector() .apply { - if (config.wrapper) { - useBuildDistribution() - } else if (config.gradleVersion != null) { + if (config.gradleVersion != null) { useGradleVersion(config.gradleVersion) } } diff --git a/app/src/main/kotlin/org/nixos/gradle2nix/Main.kt b/app/src/main/kotlin/org/nixos/gradle2nix/Main.kt index 6055fa0..a703371 100644 --- a/app/src/main/kotlin/org/nixos/gradle2nix/Main.kt +++ b/app/src/main/kotlin/org/nixos/gradle2nix/Main.kt @@ -19,7 +19,6 @@ import java.io.File val shareDir: String = System.getProperty("org.nixos.gradle2nix.share") data class Config( - val wrapper: Boolean, val gradleVersion: String?, val configurations: List, val projectDir: File, @@ -33,10 +32,6 @@ data class Config( class Main : CliktCommand( name = "gradle2nix" ) { - private val wrapper: Boolean by option("--gradle-wrapper", "-w", - help = "Use the project's gradle wrapper for building") - .flag() - private val gradleVersion: String? by option("--gradle-version", "-g", metavar = "VERSION", help = "Use a specific Gradle version") @@ -87,7 +82,7 @@ class Main : CliktCommand( } override fun run() { - val config = Config(wrapper, gradleVersion, configurations, projectDir, includes, buildSrc, quiet) + val config = Config(gradleVersion, configurations, projectDir, includes, buildSrc, quiet) val (log, _, _) = Logger(verbose = !config.quiet) val paths = resolveProjects(config).map { p -> @@ -95,9 +90,9 @@ class Main : CliktCommand( } val models = connect(config).use { connection -> - paths.associate { project -> + paths.associateWith { project -> log("Resolving project model: ${project.takeIf { it.isNotEmpty() } ?: "root project"}...") - project to connection.getBuildModel(config, project) + connection.getBuildModel(config, project) } } diff --git a/plugin/src/compatTest/kotlin/org/nixos/gradle2nix/WrapperTest.kt b/plugin/src/compatTest/kotlin/org/nixos/gradle2nix/WrapperTest.kt new file mode 100644 index 0000000..08689d2 --- /dev/null +++ b/plugin/src/compatTest/kotlin/org/nixos/gradle2nix/WrapperTest.kt @@ -0,0 +1,22 @@ +package org.nixos.gradle2nix + +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.io.TempDir +import java.io.File +import kotlin.test.assertEquals + +class WrapperTest { + @TempDir + lateinit var root: File + + @Test + fun `resolves gradle version from wrapper configuration`() { + val model = root.buildKotlin(""" + tasks.wrapper { + gradleVersion = "5.5.1" + } + """.trimIndent()) + + assertEquals(model.gradle.version, "5.5.1") + } +} \ No newline at end of file