2017-06-17 110 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