如何使用gradle for android构建我的xtext语言

时间:2016-12-20 14:41:50

标签: intellij-idea android-gradle xtext xtext-gradle-plugin

我在xtext中编写了一个测试DSL并生成了一个IntelliJ插件。 我有一个小型的Android测试项目,在Android Studio中,我的DSL编辑器显示出来,并按预期生成输出文件。

现在我尝试配置gradle以生成文件,但是这会失败并显示错误。

我找到了xtext-builder Android集成部分。这似乎过时了(例如它指的是org.xtext.android,它不存在 - 也就是那里的链接被破坏了)。

无论如何,在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
    }
}

当我在应用模块 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 个答案:

答案 0 :(得分:0)

这是oauth/authorize中的bug (#73)。它已在xtext-gradle-plugin中修复。