I am trying to convert groovy tasks from a previou...
# gradle
j
I am trying to convert groovy tasks from a previous project to my new project that now is a
.kts
gradle file and I dont know how to convert them properly here are my two tasks
Copy code
task androidJavadocs(type: Javadoc) {
    failOnError = false
    source = android.sourceSets.main.java.srcDirs
    ext.androidJar = "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
    classpath += files(ext.androidJar)
    exclude '**/R.html', '**/R.*.html', '**/index.html'
}

task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
    classifier = 'javadoc'
    from androidJavadocs.destinationDir
}
Can anyone help me out with this?
v
With what exactly do you struggle, 🥄s are out
j
I dont understand what to do with the
type
in the tasks for the most part
I started doing
Copy code
val androidJavadocs by registering(Javadoc::class){
    failOnError = false
    source = android.sourceSets.main.java.srcDirs
    ext.androidJar = "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
    classpath += files(ext.androidJar)
    exclude("**/R.html", "**/R.*.html", "**/index.html")
}
but there are many errors such as it does not know
android.sourceSets.main.java.srcDirs
or
ext.androidJar
v
Boolean property naming conventions in Kotlin are different from Groovy. The property is called
isFailOnError
in Kotlin, so
isFailOnError = false
. The syntax for using
ext
is also different in Kotlin DSL, but my first question is, why you actually set that as extra property. Using
ext
is almost always a dirty hack that can be solved better, either by a proper typed extension or a local variable.