articleoryPublish配置中的带有发布的魔术部分

问题描述 投票:0回答:1

我在build.gradle配置中遇到了一些魔术行为。我正在尝试为带有子项目的项目启用artifactoryPublish。我有以下结构根--subproj1--subproj2--common

等级版本6.0.1

案例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时,成功发布它,但不发布任何内容

案例2

当我将发布部分从文件移动到顶层时,>]

subprojects {
    apply from: "$rootDir/gradle/artifactory.gradle"
    publishing {
        publications {
            mavenJava(MavenPublication) {
                from components.java
            }
        }
    }
}

一切正常,建立成功并发布。

问题

这2种配置有什么区别,为什么在1种情况下不起作用?如果我将所有与发布相关的部分都放在一个地方而不是在其他地方,我认为这样看起来会更准确,但是由于某种原因我不能。

我在build.gradle配置中遇到了一些魔术行为。我正在尝试为带有子项目的项目启用artifactoryPublish。我有以下结构根--subproj1 --subproj2 --common ...

java gradle artifactory publishing maven-publish
1个回答
0
投票
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
© www.soinside.com 2019 - 2024. All rights reserved.