From f838717805a89eb525f78e5cab43033b85212a0d Mon Sep 17 00:00:00 2001 From: Owain van Brakel Date: Thu, 31 Oct 2019 19:07:01 +0100 Subject: [PATCH] fernflowerplugin: Add annotations (#1854) --- buildSrc/build.gradle.kts | 2 -- buildSrc/src/main/kotlin/FernflowerTask.kt | 35 ++++++++++++++----- .../gradle-plugins/fernflower.properties | 1 - 3 files changed, 26 insertions(+), 12 deletions(-) delete mode 100644 buildSrc/src/main/resources/META-INF/gradle-plugins/fernflower.properties diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index e07fbc3103..96df5cfa5f 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -25,7 +25,6 @@ plugins { `kotlin-dsl` - groovy } repositories { @@ -35,7 +34,6 @@ repositories { dependencies { implementation(gradleApi()) - implementation(localGroovy()) implementation(group = "net.runelite", name = "fernflower", version = "07082019") } diff --git a/buildSrc/src/main/kotlin/FernflowerTask.kt b/buildSrc/src/main/kotlin/FernflowerTask.kt index 3dbb2ba995..b178b89789 100644 --- a/buildSrc/src/main/kotlin/FernflowerTask.kt +++ b/buildSrc/src/main/kotlin/FernflowerTask.kt @@ -1,26 +1,43 @@ import org.gradle.api.DefaultTask +import org.gradle.api.tasks.CacheableTask +import org.gradle.api.tasks.Input +import org.gradle.api.tasks.InputFile +import org.gradle.api.tasks.Optional +import org.gradle.api.tasks.OutputDirectory +import org.gradle.api.tasks.PathSensitive +import org.gradle.api.tasks.PathSensitivity import org.gradle.api.tasks.TaskAction import org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -import java.io.File +@CacheableTask open class FernflowerTask: DefaultTask() { + @Input + @Optional var extraArgs: List? = null + + @Input + @Optional var inputJar: String? = null + + @Input + @Optional var outputDir: String? = null - fun getInputJar(): File { - return project.file(inputJar ?: project.buildDir.toString() + "/libs/" + project.name + '-' + project.version + ".jar") - } + @InputFile + @PathSensitive(PathSensitivity.ABSOLUTE) + var getInputJar = project.file(inputJar ?: project.buildDir.toString() + "/libs/" + project.name + '-' + + project.version + ".jar") + + @OutputDirectory + @PathSensitive(PathSensitivity.ABSOLUTE) + var getOutputDir = project.file(outputDir ?: project.buildDir.toString() + "/decompiled-sources") - fun getOutputDir(): File { - return project.file(outputDir ?: project.buildDir.toString() + "/decompiled-sources") - } @TaskAction fun decompile() { - getOutputDir().mkdirs() - val args = mutableListOf(getInputJar().toString(), getOutputDir().toString()) + getOutputDir.mkdirs() + val args = mutableListOf(getInputJar.toString(), getOutputDir.toString()) if (extraArgs != null) { args.addAll(extraArgs!!) } diff --git a/buildSrc/src/main/resources/META-INF/gradle-plugins/fernflower.properties b/buildSrc/src/main/resources/META-INF/gradle-plugins/fernflower.properties deleted file mode 100644 index 6b2628a4c7..0000000000 --- a/buildSrc/src/main/resources/META-INF/gradle-plugins/fernflower.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=kt \ No newline at end of file