Hello. I have an issue from migration from groovy ...
# android
a
Hello. I have an issue from migration from groovy to kts for my build.gradle. I dont understand how to use a plugin in my `build.gradle.kts`file.
build.gradle.kts
which works:
Copy code
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'com.sap.odata.android'

buildscript {
    repositories rootProject.ext.repos
    dependencies {
        classpath group: 'com.sap.cloud.android', name:'odata-android-gradle-plugin', version:sdkVersion
    }
}

odata {
    verbose true
    services {
        //connection id: ms_a_visual_transport
    ztransport_vis_srv_entities {
        schemaFile file("src/main/res/raw/ms_a_visual_transport.xml")
        packageName "com.sap.cloud.android.odata.ztransport_vis_srv_entities"
        serviceClass "ZTRANSPORT_VIS_SRV_Entities"
    }
   }
}
.......
`build.gradle.kts`which gives: `161 Unresolved reference: odata
Copy code
plugins {
    id("com.android.application")
    kotlin("android")
    kotlin("android.extensions")
    kotlin("kapt")
}

buildscript {
    dependencies {
        classpath("com.sap.cloud.android:odata-android-gradle-plugin:5.0.1")
    }
}

apply(plugin = "com.sap.odata.android")

odata {
    verbose =  true
    services {
        ztransport_vis_srv_entities {
            schemaFile = file ("src/main/res/raw/ms_a_visual_transport.xml")
            packageName = "com.sap.cloud.android.odata.ztransport_vis_srv_entities"
            serviceClass = "ZTRANSPORT_VIS_SRV_Entities"
        }
    }
}
I have tried to configure it different ways like this for example, but I dont understand how to get it right.
Copy code
tasks.named<com.sap.odata.android.gradle.ODataGenerationTask>("odata"){
   verbose = true
   serviceDescriptors = mapOf(
       "ztransport_vis_srv_entities" to com.sap.odata.android.gradle.ServiceDescriptor("ztransport_vis_srv_entities").apply {
            schemaFile = file("src/main/res/raw/ms_a_visual_transport.xml")
            packageName = "com.sap.cloud.android.odata.ztransport_vis_srv_entities"
            serviceClass = "ZTRANSPORT_VIS_SRV_Entities"
        }
   )
Please help me how to configure a plugin task in build.gradle.kts
If I only apply the plugin without using it it will fail with:
No services configured for odata plugin!
I think I solved it by doing this:
Copy code
pluginManager.withPlugin("com.sap.odata.android"){
    configure<com.sap.odata.android.gradle.ODataPluginExtension>{
        verbose = true
        services.register("ztransport_vis_srv_entities"){
                    schemaFile = file("src/main/res/raw/ms_a_visual_transport.xml")
                    packageName = "com.sap.cloud.android.odata.ztransport_vis_srv_entities"
                    serviceClass = "ZTRANSPORT_VIS_SRV_Entities"

        }
    }
}