Задача Gradle generateGrammarSource не работает - PullRequest
0 голосов
/ 31 января 2019

Я хочу сгенерировать лексер antlr4, используя задачу gradle generateGrammarSource.
Путь к файлу 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

Как это исправить?

1 Ответ

0 голосов
/ 31 января 2019

вам нужно создать каталог src/main/antlr и добавить туда файлы грамматики Kotlin .скорее всего, my/package/ является причиной, по которой он не может найти файлы грамматики;в то время как это отвечает намеками для добавления сгенерированных источников в набор источников.см. Плагин ANTLR .

...