Я использую gradle release plugin для подталкивания артефактов к искусству. Я хочу выполнить следующие задачи перед публикацией - сборка, сборкаgradle не выполняет сборку во время задачи выпуска
В документации говорится, что задача сборки выполняется во время задачи выпуска.
1) Я хочу включить app.war и файл assets.zip (настроенный ниже) для публикации. как бы я это сделал?
2) текущая сборка терпит неудачу, когда я делать ./gradlew clean release
с ошибкой
Cannot cast object 'task ':assemble'' with class 'org.gradle.api.DefaultTask_Decorated' to class 'groovy.lang.Closure'
, что является неправильным с с конфигурацией - release.dependsOn assemble
?
3) Если я прокомментирую эту строку и выполнил, я вижу, что выполненная задача освобождения вызывает запрос на ввод номера версии. когда я выхожу из процесса (ctrl + C), я не вижу созданный каталог сборки. после выполнения сборки. то я ожидаю увидеть каталог сборки. почему я этого не вижу?
Вот build.gradle
buildscript {
repositories {
jcenter()
mavenLocal()
maven {
url "http://internal-repo"
}
}
dependencies {
classpath 'org.gradle.api.plugins:gradle-tomcat-plugin:1.2.3'
classpath "org.jfrog.buildinfo:build-info-extractor-gradle:+"
classpath 'net.researchgate:gradle-release:2.+'
}
}
allprojects {
apply plugin: "com.jfrog.artifactory"
apply plugin: 'net.researchgate.release'
}
repositories {
mavenLocal()
mavenCentral()
maven { url "http://internal-external-repo" }
}
apply plugin: "java"
apply plugin: "maven"
apply plugin: "war"
apply plugin: 'tomcat'
apply plugin: "eclipse"
apply plugin: "idea"
apply plugin: "jacoco"
group 'com.mycompany.services'
sourceCompatibility = '1.7'
targetCompatibility = '1.7'
war {
archiveName = "app.war"
}
task wrapper(type: Wrapper) {
gradleVersion = '2.11'
}
task copyJars(dependsOn: classes, type: Jar) {
//
}
assemble.dependsOn copyJars
task copyAssets(type: Copy) {
//
}
compileJava.dependsOn copyAssets
task makeZips(type: Zip) {
baseName = 'dependencies'
version = null
from('lib/') {
//
}
doLast {
copy {
from "$buildDir/distributions/dependencies.zip"
into "$project.rootProject.rootDir/apps/"
}
}
}
assemble.dependsOn(makeZips)
task archiveZip (type: Zip, dependsOn: makeZip) {
from "$project.rootProject.rootDir/apps/dependencies.zip"
}
artifacts {
archives archiveZip
}
release {
git {
versionPropertyFile = 'version.txt'
}
}
afterReleaseBuild.dependsOn artifactoryPublish
release.dependsOn build
release.dependsOn assemble
dependencies {
//
}
artifactory {
contextUrl = "http:/my-interal-repo"
publish {
repository {
repoKey = 'local'
maven = true
username = "foo"
password = "bar"
}
defaults {
publishConfigs ('archives')
}
}
resolve {
repository {
repoKey = 'release'
maven = true
username = 'foo'
password = 'bar'
}
}
}
когда я бегу
Не могли бы вы попытаться распечатать как сборку, так и сборку объектов задачи и сравнение их имен классов? Также попробуйте и посмотрите, что произойдет, если вы используете «release.dependsOn build, собираете» вместо двух соответствующих строк. –
Я удалил release.dependsOn build и имел только release.dependsOn собрать. Я получаю такую же ошибку –