Rebrand to unmeta-gradle-plugin

This commit is contained in:
You Qi
2023-04-27 16:39:44 +08:00
parent 884242f8cd
commit 5dcfc59b37
13 changed files with 146 additions and 114 deletions

View File

@@ -0,0 +1,42 @@
package com.axzae.unmeta
import org.gradle.api.DefaultTask
import org.gradle.api.file.RegularFileProperty
import org.gradle.api.plugins.BasePlugin
import org.gradle.api.provider.Property
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.Optional
import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.TaskAction
import org.gradle.api.tasks.options.Option
abstract class UnmetaTask : DefaultTask() {
init {
description = "Drop Kotlin @DebugMetadata from java classes"
group = BasePlugin.BUILD_GROUP
}
@get:Input
@get:Option(option = "message", description = "A message to be printed in the output file")
abstract val message: Property<String>
@get:Input
@get:Option(option = "tag", description = "A Tag to be used for debug and in the output file")
@get:Optional
abstract val tag: Property<String>
@get:OutputFile
abstract val outputFile: RegularFileProperty
@TaskAction
fun unmetaAction() {
val prettyTag = tag.orNull?.let { "[$it]" } ?: ""
logger.lifecycle("$prettyTag message is: ${message.orNull}")
logger.lifecycle("$prettyTag tag is: ${tag.orNull}")
logger.lifecycle("$prettyTag outputFile is: ${outputFile.orNull}")
outputFile.get().asFile.writeText("$prettyTag ${message.get()}")
}
}