PHondogo
11/19/2023, 10:45 PMlouiscad
11/20/2023, 7:01 AMPHondogo
11/20/2023, 9:13 AMlouiscad
11/20/2023, 9:13 AMPHondogo
11/20/2023, 9:14 AMlouiscad
11/20/2023, 9:15 AMPHondogo
11/20/2023, 9:17 AMlouiscad
11/20/2023, 9:18 AMPHondogo
11/20/2023, 9:20 AMlouiscad
11/20/2023, 9:21 AMPHondogo
11/20/2023, 9:24 AMlouiscad
11/20/2023, 9:24 AMPHondogo
11/20/2023, 9:25 AMPHondogo
11/20/2023, 9:25 AMPHondogo
11/20/2023, 9:25 AMPHondogo
11/20/2023, 9:26 AMPHondogo
11/20/2023, 9:26 AMlouiscad
11/20/2023, 9:26 AMhfhbd
11/20/2023, 2:01 PMPHondogo
11/20/2023, 2:17 PMhfhbd
11/20/2023, 2:18 PMPHondogo
11/20/2023, 2:19 PMhfhbd
11/20/2023, 2:20 PMPHondogo
11/20/2023, 2:25 PMlouiscad
11/20/2023, 2:26 PMconfigure { }
block) FYIPHondogo
11/20/2023, 2:29 PMhfhbd
11/20/2023, 2:29 PMimport org.gradle.api.*
import org.gradle.api.file.*
import org.gradle.api.tasks.*
import org.gradle.api.tasks.PathSensitivity.*
import org.gradle.process.*
import org.gradle.workers.*
import javax.inject.*
@CacheableTask
abstract class GenJavaFromWSDLTask : DefaultTask() {
@get:InputFiles
@get:PathSensitive(RELATIVE)
@get:SkipWhenEmpty
@get:IgnoreEmptyDirectories
abstract val wsdlFiles: ConfigurableFileCollection
@get:InputFile
@get:PathSensitive(RELATIVE)
abstract val wsdlCustom: RegularFileProperty
@get:OutputDirectory
abstract val generatedJavaFolder: DirectoryProperty
@get:Inject
abstract val workerExecutor: WorkerExecutor
@get:Classpath
abstract val classpath: ConfigurableFileCollection
init {
generatedJavaFolder.convention(project.layout.buildDirectory.dir("generated/wsdl/"))
}
@TaskAction
fun generate() {
val workQueue = workerExecutor.noIsolation()
for (wsdlFile in wsdlFiles) {
workQueue.submit(WsdlGeneration::class.java) {
this.classpath.from(this@GenJavaFromWSDLTask.classpath)
this.wsdlFile.set(wsdlFile)
this.wsdlCustom.set(this@GenJavaFromWSDLTask.wsdlCustom)
this.generatedJavaFolder.set(this@GenJavaFromWSDLTask.generatedJavaFolder)
}
}
}
}
interface WsdlParameters : WorkParameters {
val classpath: ConfigurableFileCollection
val wsdlFile: RegularFileProperty
val wsdlCustom: RegularFileProperty
val generatedJavaFolder: DirectoryProperty
}
abstract class WsdlGeneration : WorkAction<WsdlParameters> {
@get:Inject
abstract val execOperations: ExecOperations
override fun execute() {
execOperations.javaexec {
classpath(parameters.classpath)
jvmArgs("-Duser.language=en-US")
mainClass.set("org.apache.cxf.tools.wsdlto.WSDLToJava")
argumentProviders.add {
listOf(
"-b",
parameters.wsdlCustom.asFile.get().absolutePath,
"-d",
parameters.generatedJavaFolder.asFile.get().absolutePath,
"-suppress-generated-date",
"-bareMethods",
parameters.wsdlFile.asFile.get().absolutePath,
)
}
}
}
}
hfhbd
11/20/2023, 2:29 PM@get:Inject abstract val execOperations: ExecOperations
PHondogo
11/20/2023, 2:31 PMPHondogo
11/20/2023, 8:25 PM