转换为gradle kotlin dsl Jfrog.Artifactory配置
我正在尝试从groovy迁移到gradle kotlin dsl,但我是新手,所以我不知道如何配置Jfrog Artifactory。请帮助我将该部分代码转换为gradle kotlin dsl:转换为gradle kotlin dsl Jfrog.Artifactory配置,gradle,kotlin,artifactory,gradle-kotlin-dsl,Gradle,Kotlin,Artifactory,Gradle Kotlin Dsl,我正在尝试从groovy迁移到gradle kotlin dsl,但我是新手,所以我不知道如何配置Jfrog Artifactory。请帮助我将该部分代码转换为gradle kotlin dsl: task sourceJar(type: Jar) { from sourceSets.main.allJava } artifactory { contextUrl = "http://10.0.0.49:8081/artifactory" publish {
task sourceJar(type: Jar) {
from sourceSets.main.allJava
}
artifactory {
contextUrl = "http://10.0.0.49:8081/artifactory"
publish {
repository {
repoKey = 'gradle-dev-local'
username = artifactory_username
password = artifactory_password
}
defaults {
publications('mavenJava')
publishArtifacts = true
publishPom = true
}
}
}
publishing {
publications {
mavenJava(MavenPublication) {
groupId = "ua.tiras.oloader"
artifactId = 'core'
version = "1.0.62"
artifact("$buildDir/libs/${project.getName()}.jar")
artifact sourceJar {
classifier "sources"
}
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')
configurations.api.allDependencies.each { dependency ->
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', dependency.group)
dependencyNode.appendNode('artifactId', dependency.name)
dependencyNode.appendNode('version', dependency.version)
}
}
}
}
}
我是这样解决的:
val sourcesJar by tasks.creating(Jar::class) {
dependsOn(JavaPlugin.CLASSES_TASK_NAME)
classifier = "sources"
from(sourceSets["main"].allSource)
}
publishing {
publications {
create<MavenPublication>("mavenJava") {
groupId = "ua.tiras"
artifactId = "aloader-core"
version = "0.0.4"
artifact(sourcesJar)
artifact("$buildDir/libs/${project.name}.jar")
pom {
withXml {
asNode().appendNode("dependencies").let {
for (dependency in configurations["api"].dependencies) {
it.appendNode("dependency").apply {
appendNode("groupId", dependency.group)
appendNode("artifactId", dependency.name)
appendNode("version", dependency.version)
}
}
}
}
}
}
}
}
artifactory {
setContextUrl("http://dev.tirascloud.com:8081/artifactory")
publish(delegateClosureOf<PublisherConfig> {
repository(delegateClosureOf<GroovyObject> {
setProperty("repoKey", "gradle-dev-local")
setProperty("username", project.findProperty("artifactory_username") ?: "nouser")
setProperty("password", project.findProperty("artifactory_password") ?: "nopass")
})
defaults(delegateClosureOf<GroovyObject> {
invokeMethod("publications", "mavenJava")
setProperty("publishPom", true)
setProperty("publishArtifacts", true)
})
})
resolve(delegateClosureOf<ResolverConfig> {
setProperty("repoKey", "repo")
})
val sourcesJar by tasks.creating(Jar::class){
dependsOn(JavaPlugin.CLASSES\u TASK\u NAME)
分类器=“源”
from(sourceset[“main”].allSource)
}
出版{
出版物{
创建(“mavenJava”){
groupId=“ua.tiras”
artifactId=“aloader核心”
version=“0.0.4”
工件(sourcesJar)
工件(“$buildDir/libs/${project.name}.jar”)
聚甲醛{
withXml{
asNode().appendNode(“依赖项”).let{
对于(配置[“api”]中的依赖项。依赖项){
appendNode(“依赖项”).apply{
appendNode(“groupId”,dependency.group)
appendNode(“artifactId”,dependency.name)
appendNode(“版本”,dependency.version)
}
}
}
}
}
}
}
}
人工制品{
setContextUrl(“http://dev.tirascloud.com:8081/artifactory")
发布(授权)关闭{
存储库(delegateClosureOf){
setProperty(“repoKey”、“梯度开发本地”)
setProperty(“用户名”,project.findProperty(“artifactory_用户名”)?:“nouser”)
setProperty(“密码”,project.findProperty(“artifactory_password”)?:“nopass”)
})
默认值(委托关闭){
invokeMethod(“出版物”、“mavenJava”)
setProperty(“publishPom”,真)
setProperty(“publishArtifacts”,true)
})
})
解决{
setProperty(“repoKey”、“repo”)
})
是不是只有我在建议中没有看到“jfrog”。@eelghEEz Artifactory由jfrog制作。它不仅仅指OJO(oss.jfrog.org),它本身就是jfrog的Artifactory产品的一个实例。Artifactory插件适用于任何Artifactory实例。