Я определил задачу, которая читает файл свойства и обновляет определенное поле. Я хочу, чтобы это запускалось только при выполнении 'release', а не во время 'build'.Как исключить задачу или метод градации во время сборки
Я использую этот Gradle-релиз плагин для выпуска: https://github.com/researchgate/gradle-release
Этот плагин обновляет версию в файле gradle.properties до следующей версии, на каждом выпуске. Мне также нужно сохранить текущий номер версии, и поэтому я написал этот метод.
Однако эта задача выполняется, когда я делаю сборку. Я попытался изменить его на метод и вызвать метод в 'uploadArchives', который, как я полагаю, запускается только во время 'release'. Но результата нет. Он продолжает выполнять каждую сборку!
Как я могу исключить его из '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"