我在build.gradle配置中遇到了一些魔术行为。我正在尝试为带有子项目的项目启用artifactoryPublish。我有以下结构根--subproj1--subproj2--common
等级版本6.0.1
在根目录下,我具有以下部分的构建gradle文件
subprojects {
apply from: "$rootDir/gradle/artifactory.gradle"
}
in artifactory.gradle
apply plugin: 'com.jfrog.artifactory'
apply plugin: 'maven-publish'
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
artifactory {
contextUrl = artifactoryUrl
publish {
repository {
repoKey = 'mvn-snapshot-local'
password = artifactoryPassword
username = artifactoryUser
}
defaults {
publications('mavenJava')
publishArtifacts = true
publishPom = true
}
}
}
当我运行artifactory时,成功发布它,但不发布任何内容
当我将发布部分从文件移动到顶层时,>]
subprojects { apply from: "$rootDir/gradle/artifactory.gradle" publishing { publications { mavenJava(MavenPublication) { from components.java } } } }
一切正常,建立成功并发布。
这2种配置有什么区别,为什么在1种情况下不起作用?如果我将所有与发布相关的部分都放在一个地方而不是在其他地方,我认为这样看起来会更准确,但是由于某种原因我不能。
我在build.gradle配置中遇到了一些魔术行为。我正在尝试为带有子项目的项目启用artifactoryPublish。我有以下结构根--subproj1 --subproj2 --common ...
seems like the problem was i missed plugin configuration
pluginManagement {
gradle.ext.artifactoryPassword = artifactory_password ?: "nokey"
gradle.ext.artifactoryUser = artifactory_user ?: "nokey"
repositories {
mavenLocal()
maven {
url "${artifactoryUrl}/mvn-gradle-plugins"
credentials {
username = gradle.ext.artifactoryUser
password = gradle.ext.artifactoryPassword
}
}
maven {
url "${artifactoryUrl}/mvn-libs-release"
credentials {
username = gradle.ext.artifactoryUser
password = gradle.ext.artifactoryPassword
}
}
}
}
repositories were configured in repositories section
repositories {
if(version.toString().endsWith('SNAPSHOT')) {
maven {
url "$artifactoryUrl/mvn-libs-snapshot"
credentials {
username artifactoryUser
password artifactoryPassword
}
}
}
maven {
url "$artifactoryUrl/mvn-libs-release"
credentials {
username artifactoryUser
password artifactoryPassword
}
}
maven {
credentials {
password = artifactoryPassword
username = artifactoryUser
}
url "$artifactoryUrl/mvn-external"
}
mavenLocal()
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
but it hasn't worked until i added plugin managment section and updated versions of artifactory and recon plugins