Как построить мой язык Xtext с Gradle для Android
Я написал test-DSL в xtext и сгенерировал плагин IntelliJ. У меня есть небольшой Android-тестовый проект, и в Android Studio появляется мой DSL-редактор, который также генерирует выходные файлы, как и ожидалось.
Теперь я пытаюсь настроить gradle для генерации файлов, но это приводит к ошибке.
Я нашел раздел интеграции Android для xtext-builder. Это кажется устаревшим (например, это относится к org.xtext.android
, чего не существует - ссылка там тоже битая).
Во всяком случае, в репозитории xtext-gradle-plugin github есть org.xtext.android.builder
Плагин: я думаю, это правильный.
Мой проект build.gradle
файл выглядит так (только соответствующие части):
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/" // needed for org.xtext:xtext-android-gradle-plugin
}
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
classpath "org.xtext:xtext-android-gradle-plugin:1.0.14"
}
}
allprojects {
repositories {
jcenter()
mavenLocal() // This is required so that the mydsl language is found
}
}
когда я активирую org.xtext.android.builder
плагин в build.gradle
файл в моем модуле приложения:
apply plugin: 'com.android.application'
apply plugin: "org.xtext.android.builder" // causes the Error!
Я получаю эту ошибку:
Error:Unable to find method 'com.android.build.gradle.api.BaseVariant.getJavaCompiler()Lorg/gradle/api/tasks/compile/AbstractCompile;'...
Я предполагаю, что есть какое-то несоответствие версии или что-то не соответствует действительности.
Есть идеи?
1 ответ
Это была ошибка (#73) в https://github.com/xtext/xtext-gradle-plugin. Это было исправлено в версии 1.0.16.