带wsdl2java的Gradle Kotlin DSL

带wsdl2java的Gradle Kotlin DSL,gradle,wsdl2java,gradle-kotlin-dsl,Gradle,Wsdl2java,Gradle Kotlin Dsl,从Groovy迁移到Kotlin,在wsdl2java生成中遇到了一个简单的问题 问题很简单,有没有人有好的例子。谷歌在Kotlin DSL方面不是很有帮助,也不擅长语法 也使用OpenJDK11 plugins { id("no.nils.wsdl2java") version "0.10" } wsdl2java { enabled = true wsdlsToGenerate = [ [ "-xjc", "-p", "bla.bla.gen

从Groovy迁移到Kotlin,在wsdl2java生成中遇到了一个简单的问题

问题很简单,有没有人有好的例子。谷歌在Kotlin DSL方面不是很有帮助,也不擅长语法

也使用OpenJDK11


plugins {
  id("no.nils.wsdl2java") version "0.10"
}


wsdl2java {
  enabled = true
  wsdlsToGenerate = [
    [
      "-xjc",
      "-p", "bla.bla.generated",
      "-wsdlLocation", "classpath:wsdl/v1.wsdl",
      "-autoNameResolution", "$projectDir/src/main/resources/wsdl/v1.wsdl"
    ],
    [
      "-xjc",
      "-p", "bla.bla.generated",
      "-wsdlLocation", "classpath:wsdl/v2.wsdl",
      "-autoNameResolution", "$projectDir/src/main/resources/wsdl/v2.wsdl"
    ]]
  generatedWsdlDir = file("$projectDir/src/main/java")
  wsdlDir = file("$projectDir/src/main/resources/wsdl")
}

dependencies {

  implementation(project(":common"))
  implementation(project(":etcd"))

  implementation("org.springframework.boot:spring-boot-starter-actuator")
  implementation("org.springframework.boot:spring-boot-starter-data-jpa")
  implementation("org.springframework.boot:spring-boot-starter-hateoas")
  implementation("org.springframework.boot:spring-boot-starter-quartz")
  implementation("org.springframework.boot:spring-boot-starter-security")
  implementation("org.springframework.boot:spring-boot-starter-validation")
  implementation("org.springframework.boot:spring-boot-starter-web")
  implementation("org.springframework.boot:spring-boot-starter-web-services")

  api("no.nils:wsdl2java")

  compileOnly("org.projectlombok:lombok")
  testImplementation("org.springframework.boot:spring-boot-starter-test")
  testImplementation("org.springframework.security:spring-security-test")
}

tasks.jar {
  archiveFileName.set("ext.jar")
}




我让wsdl2java通过以下方式进行了反复试验:

plugins {
    id("no.nils.wsdl2java") version "0.10"
}

wsdl2javaExt {
    cxfVersion = "3.3.0"
    deleteGeneratedSourcesOnClean = true
}

tasks.withType<no.nils.wsdl2java.Wsdl2JavaTask> {
    // The use of ArrayList(listOf) is necessary as the Wsdl2JavaTask seems to make inline changes to its arguments
    wsdlsToGenerate = listOf(
            ArrayList(listOf("-p", "dk.grydholt.integration.sacho",
                    "-autoNameResolution", "-xjc-npa",
                    "-wsdlLocation", "classpath:wsdl/sacho/EduModelService.wsdl",
                    "$projectDir/src/main/resources/wsdl/sacho/EduModelService.wsdl")))

    generatedWsdlDir = file("$projectDir/src/generated/java")
    wsdlDir = file("$projectDir/src/main/resources/wsdl/sacho")
}

sourceSets {
    create("generated") {
        java.srcDirs(listOf("src/generated/java"))
    }
}
插件{
id(“no.nils.wsdl2java”)版本“0.10”
}
wsdl2javaExt{
cxfVersion=“3.3.0”
deleteGeneratedSourcesOnClean=true
}
tasks.withType{
//使用ArrayList(listOf)是必要的,因为Wsdl2JavaTask似乎要对其参数进行内联更改
wsdlsToGenerate=listOf(
ArrayList(列表“-p”,“dk.grydholt.integration.sacho”,
“-autoNameResolution”、“-xjc npa”,
“-wsdlLocation”,“类路径:wsdl/sacho/EduModelService.wsdl”,
“$projectDir/src/main/resources/wsdl/sacho/EduModelService.wsdl”))
generatedWsdlDir=文件($projectDir/src/generated/java)
wsdlDir=file($projectDir/src/main/resources/wsdl/sacho)
}
源集{
创建(“生成”){
srcDirs(listOf(“src/generated/java”))
}
}
请注意ArrayList的用法。我花了一些时间进行调试,因为如果执行listOf(listOf(“…”)操作,会出现奇怪的类型错误