我定義了一個讀取屬性文件並更新某個字段的任務。我只想在執行'release'時運行,而不是在'build'期間運行。如何在構建期間排除Gradle任務或方法
我用這gradle這個釋放插件版本:https://github.com/researchgate/gradle-release
這個插件將更新gradle.properties文件到下一個版本的版本,每個版本。我需要保留當前的版本號,因此我寫了這個方法。
但是,無論何時執行構建,都會執行此任務。我試圖將其更改爲方法,並在'uploadArchives'內調用該方法,我認爲這隻在「發佈」期間運行。但沒有結果。它繼續在每個構建上執行!
如何從'build'中排除它並僅在發佈的情況下調用它?
這裏是任務和一些代碼片段:
task restoreCurrentVersion {
try {
String key = 'currentVersion'
File propertiesFile = project(':commons').file("gradle.properties")
String currentVersion = project(':commons').version
this.ant.replaceregexp(file: propertiesFile, byline: true) {
regexp(pattern: "^(\\s*)$key(\\s*)=(\\s*).+")
substitution(expression: "\\1$key\\2=\\3$currentVersion")
}
} catch (BuildException be) {
throw new GradleException('Unable to write version property.', be)
}
}
uploadArchives {
repositories.mavenDeployer {
repository(url: 'file://Users/my.home/.m2/repository/')
}
// restoreCurrentVersion() //Uncommenting this makes the method (when converted the above task to a method) to execute always
}
createReleaseTag.dependsOn uploadArchives
ext.'release.useAutomaticVersion' = "true"