如何使用 gradle 为 android 构建我的 xtext 语言
How to build my xtext language with gradle for android
我用 xtext 编写了一个测试 DSL 并生成了一个 IntelliJ 插件。
我有一个小的 Android-test 项目,在 Android Studio 中出现了我的 DSL 编辑器,并且还按预期生成了输出文件。
现在我尝试配置 gradle 以生成文件,但是失败并出现错误。
我找到了 xtext-builder 的 Android 集成 部分。这似乎已过时(例如,它指的是 org.xtext.android
,它不存在 - link 也已损坏)。
无论如何,在 xtext-gradle-plugin github repo 中有一个 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
}
}
当我在我的 app 模块 的 build.gradle
文件中激活 org.xtext.android.builder
插件时:
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;'...
我猜是版本不匹配或者不是最新的。
有什么想法吗?
这是 bug (#73) in the xtext-gradle-plugin. It was fixed in Version 1.0.16。
我用 xtext 编写了一个测试 DSL 并生成了一个 IntelliJ 插件。 我有一个小的 Android-test 项目,在 Android Studio 中出现了我的 DSL 编辑器,并且还按预期生成了输出文件。
现在我尝试配置 gradle 以生成文件,但是失败并出现错误。
我找到了 xtext-builder 的 Android 集成 部分。这似乎已过时(例如,它指的是 org.xtext.android
,它不存在 - link 也已损坏)。
无论如何,在 xtext-gradle-plugin github repo 中有一个 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
}
}
当我在我的 app 模块 的 build.gradle
文件中激活 org.xtext.android.builder
插件时:
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;'...
我猜是版本不匹配或者不是最新的。
有什么想法吗?
这是 bug (#73) in the xtext-gradle-plugin. It was fixed in Version 1.0.16。