Cómo convertir gradle ant java task a kotlin

Tengo una tarea de hormiga gradle que inicia una base de datos H2. El script de compilación se ve así:

apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
    runtime 'com.h2database:h2:1.3.168'
}

task startH2Db {
    group = 'database'
    description='Starts the H2 TCP database server on port 9092 and web admin on port 8082'
    doLast{
        ant.java( fork:true, spawn:true, classname:'org.h2.tools.Server', dir:projectDir){
            arg(value: "-tcp")
            arg(value: "-web")
            arg(value: "-tcpPort")
            arg(value: "9092")
            arg(value: "-webPort")
            arg(value: "8082")
            arg(value: "-webAllowOthers")
            classpath {
                pathelement(path:"${sourceSets.main.runtimeClasspath.asPath}")
            }
        }
    }
}

Dado que Gradle ahora es compatible con Kotlin, decidí intentar convertir esto build.gradleen un build.gradle.ktsarchivo.

Estoy luchando por encontrar documentación sobre cómo hacer esto en Kotlin. He encontrado ejemplos de otras tareas de hormigas, pero nada con argumentos como los anteriores. He llegado tan lejos como esto:

plugins {
    java
}

repositories {
    mavenCentral()
}

dependencies {
    runtime ("com.h2database:h2:1.3.168")
}

tasks {
    register("startH2Database") {
        group = "database"
        description = "Starts the H2 TCP database server on port 9092 and web admin on port 8082"
        doLast {
            ant.withGroovyBuilder {
            "java"("fork" to true, "spawn" to true, "classname" to "org.h2.tools.Server", "dir" to projectDir)
            }
        }
    }
}

¿Cómo configuro los args y el classpath? ¿Existe alguna documentación adicional aparte de la que se enumera aquí: https://docs.gradle.org/current/userguide/ant.html ?

Respuesta 1

Estoy tratando de referirme a las imágenes dentro de un complemento de eclipse (por ejemplo, para iconos) de la siguiente manera (de un tutorial en el sitio web de preguntas frecuentes de eclipse): Bundle bundle = Platform.getBundle (PLUGIN_ID); Ruta de ruta = ...

Estoy tratando de escribir un programa simple para trazar un gráfico lineal usando javafx. Tengo el siguiente código: public class Plot extiende la aplicación {public void start (Stage stage) {} public static ...

Quiero poder establecer los parámetros KEEPALIVE del socket TCP (TCP_KEEPIDLE, TCP_KEEPINTVL y TCP_KEEPCNT) pero parece que no están disponibles en la clase Socket. Basado en la documentación de ...

Necesito desarrollar una API Rest de cliente en Java, que use una biblioteca con http asíncrono. Más concretamente, puedo realizar operaciones de Rest CRUD, que devuelven un Futuro de la Respuesta http. Mi pregunta es, ...