• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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