使用gradle定义生成器代码位置以生成xtext和xtend
我正在尝试使用xText和xtendbuildingwithgradle创建第一个项目 我按照xText文档中的指导创建了语法,还创建了xtend生成器 在eclipse中,代码按预期生成src gen文件夹 当我创建gradle脚本时,也遵循了生成代码的步骤,而不是在“src gen”文件夹中生成代码,它在“build”文件夹中生成代码 有没有办法在gradle中将此文件夹从build更改为src gen?我尝试了很多东西,但总是出错 等级脚本的完整代码:使用gradle定义生成器代码位置以生成xtext和xtend,gradle,xtext,xtend,Gradle,Xtext,Xtend,我正在尝试使用xText和xtendbuildingwithgradle创建第一个项目 我按照xText文档中的指导创建了语法,还创建了xtend生成器 在eclipse中,代码按预期生成src gen文件夹 当我创建gradle脚本时,也遵循了生成代码的步骤,而不是在“src gen”文件夹中生成代码,它在“build”文件夹中生成代码 有没有办法在gradle中将此文件夹从build更改为src gen?我尝试了很多东西,但总是出错 等级脚本的完整代码: apply plugin: 'org
apply plugin: 'org.xtext.builder'
dependencies {
xtextLanguages 'com.example.mylang:mylang:1.0.0-SNAPSHOT'
}
xtext {
languages {
mylang{
setup = 'com.example.MyLangStandaloneSetup'
generator.outlet.producesJava = true
}
}
sourceSets {
main {
srcDir 'src/main/xtext'
xtendOutputDir 'src-gen'
}
}
}
您可以在源集中配置它
sourceSets {
main.xtendOutputDir = 'xtend-gen'
}
e、 g
或用于xtxt builder插件
buildscript {
repositories {
mavenLocal()
jcenter()
}
dependencies {
classpath 'org.xtext:xtext-gradle-plugin:1.0.21'
}
}
plugins {
id "org.xtext.builder" version "1.0.21"
}
repositories {
mavenLocal()
jcenter()
}
dependencies {
xtextLanguages 'org.xtext.example.mydslfoo:org.xtext.example.mydslfoo:1.0.0-SNAPSHOT'
}
xtext {
version '2.13.0'
languages {
mydslfoo {
setup = 'org.xtext.example.mydslfoo.MyDslFooStandaloneSetup'
generator {
outlets {
HEROES {
}
}
}
}
}
sourceSets {
main {
srcDir 'src'
output {
dir(xtext.languages.mydslfoo.generator.outlet, 'src-gen')
}
}
}
}
这是我的选择之一,但我有一个错误:评估脚本时出现问题。>在类型为org.xtext.gradle.tasks.internal.DefaultXtextSourceDirectorySet的[src/main/xtext]上找不到参数[src gen]的方法xtendOutputDir()。完整的gradle文件是什么样子的。您是否应用了pluginI更新了原始消息以包含gradle文件的全部内容。在父项目中,我将依赖项添加到语法jar中,并将其发布到本地常春藤存储库中。因此,问题是关于xtext而不是xtend?对我来说,很难知道边界线,因为语法是用xtext编写的,但生成器是用xtend编写的。目前我不能做的是,当我用Gradle编译时,生成的源代码是在build文件夹中创建的,而不是在src-gen中创建的。
buildscript {
repositories {
mavenLocal()
jcenter()
}
dependencies {
classpath 'org.xtext:xtext-gradle-plugin:1.0.21'
}
}
plugins {
id "org.xtext.builder" version "1.0.21"
}
repositories {
mavenLocal()
jcenter()
}
dependencies {
xtextLanguages 'org.xtext.example.mydslfoo:org.xtext.example.mydslfoo:1.0.0-SNAPSHOT'
}
xtext {
version '2.13.0'
languages {
mydslfoo {
setup = 'org.xtext.example.mydslfoo.MyDslFooStandaloneSetup'
generator {
outlets {
HEROES {
}
}
}
}
}
sourceSets {
main {
srcDir 'src'
output {
dir(xtext.languages.mydslfoo.generator.outlet, 'src-gen')
}
}
}
}