Gradle generateGrammarSource任务不是';行不通

Gradle generateGrammarSource任务不是';行不通,gradle,antlr4,Gradle,Antlr4,我想使用gradlegenerateGrammarSourcetask生成antlr4 lexer。 g4文件的路径是src/main/antlr4/my/package/mygrammar.g4 我尝试使用我发现的一些示例,因此build.gradle具有以下代码: buildscript { ext.kotlin_version = '1.3.20' repositories { mavenCentral() } dependencies {

我想使用gradle
generateGrammarSource
task生成antlr4 lexer。
g4文件的路径是
src/main/antlr4/my/package/mygrammar.g4

我尝试使用我发现的一些示例,因此
build.gradle
具有以下代码:

buildscript {
    ext.kotlin_version = '1.3.20'

    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

group 'my.package'
version '1.0-SNAPSHOT'

apply plugin: 'kotlin'
apply plugin: 'antlr'

repositories {
    mavenCentral()
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
    compile group: 'org.antlr', name: 'antlr4', version: '4.7.2'
    testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
}

generateGrammarSource {
    arguments += ['-package', 'my.package']
}

compileKotlin {
    kotlinOptions.jvmTarget = "1.8"
}

compileTestKotlin {
    kotlinOptions.jvmTarget = "1.8"
}
执行
generateGrammarSource
任务不会生成任何内容,并给出以下输出:

:generateGrammarSource NO-SOURCE

BUILD SUCCESSFUL in 0s

如何修复它?

您需要创建目录
src/main/antlr
,并在其中添加语法文件。最有可能的原因是
my/package/
无法找到语法文件;这将提示将生成的源添加到源集中。请参阅。

关于目录,您是对的,但是这些Kotlin语法文件是关于什么的?我不想解析Kotlin…@Okumo只是因为依赖性而认为这是一个
Kotlin
项目。这是一个Kotlin项目,但不是每个Kotlin项目都需要解析Kotlin。