Maven 如何将gradle中的groovy任务转换为gradle Kotlin DSL以生成pom.xml?

Maven 如何将gradle中的groovy任务转换为gradle Kotlin DSL以生成pom.xml?,maven,gradle,kotlin,pom.xml,gradle-kotlin-dsl,Maven,Gradle,Kotlin,Pom.xml,Gradle Kotlin Dsl,以下gradle脚本的build.gradle.kts版本是什么 apply plugin: 'maven' apply plugin: 'java' sourceCompatibility = 7 targetCompatibility = 7 dependencies { compile 'com.google.guava:guava:13.0.1' compile 'joda-time:joda-time:2.1'

以下gradle脚本的build.gradle.kts版本是什么

apply plugin: 'maven'
apply plugin: 'java'

sourceCompatibility = 7
targetCompatibility = 7

dependencies {
    compile            'com.google.guava:guava:13.0.1'
    compile            'joda-time:joda-time:2.1'

    testCompile        'junit:junit:4.11'
    testCompile        'org.mockito:mockito-core:1.9.5'
}

task writeNewPom << {
    pom {
        project {
            groupId 'org.example'
            artifactId 'test'
            version '1.0.0'

            inceptionYear '2008'
            licenses {
                license {
                    name 'The Apache Software License, Version 2.0'
                    url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                    distribution 'repo'
                }
            }
        }
    }.writeTo("$buildDir/newpom.xml")
}
apply插件:“maven”
应用插件:“java”
sourceCompatibility=7
targetCompatibility=7
依赖关系{
编译'com.google.guava:guava:13.0.1'
编译“joda时间:joda时间:2.1”
testCompile'junit:junit:4.11'
testCompile'org.mockito:mockito核心:1.9.5'
}

task writeNewPom我认为这与
build.gradle.kts
文件相同:

plugins {
    java
    maven
}

java {
    sourceCompatibility = JavaVersion.VERSION_1_7
    targetCompatibility = JavaVersion.VERSION_1_7
}

repositories {
    jcenter()
}

dependencies {
    compile("com.google.guava:guava:13.0.1")
    compile("joda-time:joda-time:2.1")

    testCompile("junit:junit:4.11")
    testCompile("org.mockito:mockito-core:1.9.5")
}

tasks {
    "writeNewPom" {
        doLast {
            project.the<MavenPluginConvention>().pom {
                project {
                    groupId = "org.example"
                    artifactId = "test"
                    version = "1.0.0"
                    withGroovyBuilder {
                        "inceptionYear"("2008")
                        "licenses" {
                            "license" {
                                "name"("The Apache Software License, Version 2.0")
                                "url"("http://www.apache.org/licenses/LICENSE-2.0.txt")
                                "distribution"("repo")
                            }
                        }
                    }
                }
            }.writeTo("$buildDir/newPom.xml")
        }
    }
}
插件{
JAVA
专家
}
爪哇{
sourceCompatibility=JavaVersion.VERSION\u 1\u 7
targetCompatibility=JavaVersion.VERSION\u 1\u 7
}
存储库{
jcenter()
}
依赖关系{
编译(“com.google.guava:guava:13.0.1”)
编译(“joda时间:joda时间:2.1”)
testCompile(“junit:junit:4.11”)
testCompile(“org.mockito:mockito核心:1.9.5”)
}
任务{
“writeNewPom”{
多拉斯特{
project.the().pom{
计划{
groupId=“org.example”
artifactId=“测试”
version=“1.0.0”
使用GroovyBuilder{
“接收耳”(“2008年”)
“许可证”{
“许可证”{
“名称”(“Apache软件许可证,版本2.0”)
“url”(“http://www.apache.org/licenses/LICENSE-2.0.txt")
“分配”(“回购”)
}
}
}
}
}.writeTo($buildDir/newPom.xml)
}
}
}

您必须使用
with groovybuilder
方法将非类型属性添加到模型中

谢谢@tim_yates,非常有帮助!我相信如果没有我们的开源社区,我们会落后几个世纪。