1 import org.gradle.api.* 2 import org.gradle.api.tasks.* 3 4 /** 5 * Adds 'module_name.version' file to the project's JAR META-INF 6 * for the better toolability. See #2941 7 */ 8 object VersionFile { registerVersionFileTasknull9 fun registerVersionFileTask(project: Project): TaskProvider<Task> { 10 val versionFile = project.layout.buildDirectory.file("${project.name.replace('-', '_')}.version") 11 val version = project.version.toString() 12 return project.tasks.register("versionFileTask") { 13 outputs.file(versionFile) 14 doLast { 15 versionFile.get().asFile.writeText(version) 16 } 17 } 18 } 19 fromVersionFilenull20 fun fromVersionFile(target: AbstractCopyTask, versionFileTask: TaskProvider<Task>) { 21 target.from(versionFileTask) { 22 into("META-INF") 23 } 24 } 25 } 26