Stu*_*man 7 artifactory gradle maven maven-metadata
我已经用 groovy 编写了一个 Gradle 插件并使用 Gradle 来构建它。我有一个本地网络 Artifactory 服务器,我使用 Gradle Artifactory 插件和 Gradle 中的 maven-publish 插件发布结果。我有另一个依赖此插件的 Gradle 构建脚本作为依赖项。如果我列出特定版本的依赖项,我就可以让这一切正常工作。我曾尝试使用 maven 版本范围(例如“[1.0,2.0)”),但这失败了,说它找不到 maven-metadata.xml。我检查了 Artifactory,果然,它不在那里。我需要做什么来制作它,最好是在插件的构建过程中?
这是我的自定义 gradle 插件的 build.gradle 文件:
buildscript {
repositories {
maven {
url "${artifactory_contextUrl}/plugins-release"
credentials {
username = "${artifactory_user}"
password = "${artifactory_password}"
}
}
}
dependencies {
classpath group: 'org.apache.directory.studio', name: 'org.apache.commons.io', version: '2.4'
classpath group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '2.0.9'
}
}
plugins {
id 'com.jfrog.artifactory' version '3.0.1'
}
apply plugin: 'groovy'
apply plugin: 'maven-publish'
artifactory {
contextUrl = "${artifactory_contextUrl}"
publish {
repository {
repoKey = 'plugins-snapshot-local'
username = "${artifactory_user}"
password = "${artifactory_password}"
maven = true
}
defaults {
publications ('mavenJava')
}
}
resolve {
repository {
repoKey = 'libs-release'
username = "${artifactory_user}"
password = "${artifactory_password}"
maven = true
}
}
}
dependencies {
compile gradleApi()
compile localGroovy()
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
Run Code Online (Sandbox Code Playgroud)
我搜索了 Gradle、Artifactory 和 Maven 文档以了解 maven-metadata.xml 以及如何生成和部署。它是什么是有道理的,我可能可以手动构建一个,但我找不到任何具体解释如何使用 maven-publish 插件或 artifactory-gradle-plugin 在 Gradle 中自动生成它的内容。我不想手动更新文件,因为这会破坏自动化工作,而且我不想切换到 mvn,因为我已经在 Gradle 上投入了很多。
AgroupId
必须添加到该publications
部分。一旦实施,一个maven-metadata.xml
文件被发布到工件存储库。
publishing {
publications {
mavenJava(MavenPublication) {
groupId = 'com.group'
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5862 次 |
最近记录: |