Gui*_*ume 7 bamboo artifactory
我正在使用Bamboo 6.0.3 build 60004,我为Bamboo安装2.1.0了官方Artifactory插件的版本.
该build.gradle项目的外观如下:
apply plugin: 'maven-publish'
apply plugin: 'com.jfrog.artifactory'
...
task androidJavadocs(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
classifier = 'javadoc'
from androidJavadocs.destinationDir
}
task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.srcDirs
}
artifacts {
archives androidSourcesJar
archives androidJavadocsJar
}
afterEvaluate {
androidJavadocs.classpath += files(android.libraryVariants.collect { variant ->
variant.javaCompile.classpath.files
})
}
publishing {
publications {
android.buildTypes.all { variant ->
"${variant.name}Aar"(MavenPublication) {
// set values from Android manifest file
groupId group
version version
if (variant.name == "release") {
artifactId project.getName()
}
else {
artifactId "${project.getName()}-${variant.name}"
}
artifact "$buildDir/outputs/aar/${project.getName()}-${variant.name}-${version}.aar"
artifact androidJavadocsJar
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')
// List all compile dependencies and write to POM
configurations.compile.getAllDependencies().each { Dependency dep ->
if (dep.group == null || dep.version == null || dep.name == null || dep.name == "unspecified")
return // ignore invalid dependencies
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', dep.group)
dependencyNode.appendNode('artifactId', dep.name)
dependencyNode.appendNode('version', dep.version)
if (!dep.transitive) {
// If this dependency is transitive, we should force exclude all its dependencies them from the POM
def exclusionNode = dependencyNode.appendNode('exclusions').appendNode('exclusion')
exclusionNode.appendNode('groupId', '*')
exclusionNode.appendNode('artifactId', '*')
} else if (!dep.properties.excludeRules.empty) {
// Otherwise add specified exclude rules
def exclusionNode = dependencyNode.appendNode('exclusions').appendNode('exclusion')
dep.properties.excludeRules.each { ExcludeRule rule ->
exclusionNode.appendNode('groupId', rule.group ?: '*')
exclusionNode.appendNode('artifactId', rule.module ?: '*')
}
}
}
}
}
}
}
}
def libraryGroupId = group
def libraryVersion = version
artifactory {
contextUrl = '<artifactory_url>'
publish {
repository {
repoKey = '<repoKey>'
username = artifactory_username
password = artifactory_password
}
defaults {
android.buildTypes.all { variant ->
publications("${variant.name}Aar")
publishArtifacts = true
}
properties = ['qa.level': 'basic', 'dev.team': 'core']
publishPom = true
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我gradle build assembleRelease artifactoryPublish在笔记本电脑上运行命令时,它会在Artifactory repo aar和pom文件中上传.
我尝试Artifactory Deployment在部署项目中使用该任务,该任务在构建任务之后运行gradle build assembleRelease(所以相同但没有发布到工件),但是它只发布aar文件,并且工件中的目录结构看起来不一样(它不会通过子文件夹细分包名称).如何与Bamboo实现相同的目标?
根据Bamboo Artifacotry 插件官方页面,目前还没有适用于 Bamboo 6.0 的插件(但适用于 Bamboo 5.15)。但是,如果您使用 gradle 任务来发布,则不会使用 Bamboo 插件。
| 归档时间: |
|
| 查看次数: |
1091 次 |
| 最近记录: |