diff --git a/fladle-plugin/src/main/java/com/osacky/flank/gradle/FladlePluginDelegate.kt b/fladle-plugin/src/main/java/com/osacky/flank/gradle/FladlePluginDelegate.kt index ea878e0f..aa6dccd8 100644 --- a/fladle-plugin/src/main/java/com/osacky/flank/gradle/FladlePluginDelegate.kt +++ b/fladle-plugin/src/main/java/com/osacky/flank/gradle/FladlePluginDelegate.kt @@ -23,10 +23,12 @@ class FladlePluginDelegate { val extension = target.extensions.create("fladle", target.objects) target.tasks.register("flankAuth", FlankJavaExec::class.java) { + val fladleConfig = target.configurations.getByName(FLADLE_CONFIG) + val fladleDir = target.layout.buildDirectory.dir("fladle") doFirst { - target.layout.fladleDir.get().asFile.mkdirs() + fladleDir.get().asFile.mkdirs() } - classpath = project.fladleConfig + classpath = fladleConfig args = listOf("auth", "login") } diff --git a/fladle-plugin/src/main/java/com/osacky/flank/gradle/FlankJavaExec.kt b/fladle-plugin/src/main/java/com/osacky/flank/gradle/FlankJavaExec.kt index f10ef850..5148f1aa 100644 --- a/fladle-plugin/src/main/java/com/osacky/flank/gradle/FlankJavaExec.kt +++ b/fladle-plugin/src/main/java/com/osacky/flank/gradle/FlankJavaExec.kt @@ -10,12 +10,12 @@ import javax.inject.Inject ) open class FlankJavaExec @Inject - constructor(projectLayout: ProjectLayout) : JavaExec() { + constructor(private val projectLayout: ProjectLayout) : JavaExec() { init { group = FladlePluginDelegate.TASK_GROUP mainClass.set("ftl.Main") workingDir(projectLayout.fladleDir) } - fun setUpWorkingDir(configName: String) = workingDir(project.layout.buildDirectory.dir("fladle/$configName")) + fun setUpWorkingDir(configName: String) = workingDir(projectLayout.buildDirectory.dir("fladle/$configName")) } diff --git a/fladle-plugin/src/test/java/com/osacky/flank/gradle/integration/ConfigurationCacheTest.kt b/fladle-plugin/src/test/java/com/osacky/flank/gradle/integration/ConfigurationCacheTest.kt index 2f9b5582..67ffb66c 100644 --- a/fladle-plugin/src/test/java/com/osacky/flank/gradle/integration/ConfigurationCacheTest.kt +++ b/fladle-plugin/src/test/java/com/osacky/flank/gradle/integration/ConfigurationCacheTest.kt @@ -90,6 +90,30 @@ class ConfigurationCacheTest { assertThat(secondResult.output).contains("Reusing configuration cache.") } + @Test + fun flankAuth() { + writeBuildGradle( + """|plugins { + | id "com.osacky.fladle" + |} + | + |repositories { + | mavenCentral() + |} + | + """.trimMargin(), + ) + val result = configCachingRunner("flankAuth").buildAndFail() + + assertThat(result.output).contains("Address already in use") + assertThat(result.output).contains("Configuration cache entry stored.") + + val secondResult = configCachingRunner("flankAuth").buildAndFail() + + assertThat(secondResult.output).contains("Address already in use") + assertThat(secondResult.output).contains("Reusing configuration cache.") + } + @Test fun runFlank() { writeBuildGradle(