2017-06-17 68 views
0

我想將基於vertx的項目移動到https://github.com/sczyh30/vertx-blueprint-microservice.git模板。藍圖項目使用註釋@vertxGen等在編譯期間生成代碼。kapt插件不能用gradle-script-kotlin

我正在使用gradle-script-kotlin來構建項目。我需要使用kapt插件根據註釋生成代碼(通過vertx ... codegen)。不幸的是,我無法正確配置kapt插件。它給予以下錯誤:

寬:[kapt]來源沒有指定輸出目錄,跳過註釋處理

我會很高興,如果有人能解決我的gradle這個build文件。以下是與kapt相關的片段

import org.jetbrains.kotlin.gradle.plugin.* // kaptExtension 
... 
apply { 
    plugin("kotlin-kapt") 
} 
... 

fun Project.kapt(setup: KaptExtension.() -> Unit) = the<KaptExtension>().setup() 

kapt { 
     generateStubs = true 

     javacOptions(closureOf<KaptJavacOptionsDelegate> { 
       option("-proc:only") 
       option("-processor", "io.vertx.codegen.CodeGenProcessor") // vertx processor here 
       option("-AoutputDirectory", "${projectDir}/src/main") 
       option("-Acodegen.output", "${projectDir}/src/main") 
     }) 

     // specify output of generated code 
     arguments(closureOf<KaptAnnotationProcessorOptions> { 
       arg("destinationDir", "${buildDir}/generated/source/kapt/main") 
     }) 
} 
... 
java { 
... 
     sourceSets.getByName("main").java.srcDirs("${project.buildDir}/generated/source/kapt/main") 
} 

讓我知道任何其他信息/查詢。提前致謝。

回答

0

我不得不下添加到build.gradle.kts

dependencies { 
.... 
     kapt("io.vertx:vertx-codegen:$vertx_version:processor") 
... 
} 

仍然不知道爲什麼,雖然。張貼在這裏讓別人知道。

+0

Kotlin文檔說你必須在你的依賴項中使用'kapt'配置 https://kotlinlang.org/docs/reference/kapt.html – Ulises