Я запускаю рабочий процесс Mwe2 программно, и мне нужно добавить referencedResource для Terminals.xtext в файл GenerateYourDsl.mwe2, чтобы успешно запустить этот рабочий процесс. Упомянутый файл GenerateYourDsl.mwe2 генерируется Xtext при создании нового проекта - я не изменял его.
Можно ли каким-то образом извлечь объект из этого рабочего процесса, получить к нему доступ в Java и добавить этот один атрибут к атрибуту языка атрибута компонента рабочего процесса?
Вот рабочий процесс:
Workflow {
component = XtextGenerator {
configuration = {
project = StandardProjectConfig {
baseName = "org.example.yourdsl"
rootPath = rootPath
eclipsePlugin = {
enabled = true
}
createEclipseMetaData = true
}
code = {
encoding = "UTF-8"
lineDelimiter = "\n"
fileHeader = "/*\n * generated by Xtext \${version}\n */"
}
}
language = StandardLanguage {
name = "org.example.yourdsl.YourDsl"
fileExtensions = "yourdsl"
//following line needs to be added - in original generated workflow it is not
referencedResource = "platform:/resource/org.eclipse.xtext/org/eclipse/xtext/common/Terminals.xtext"
serializer = {
generateStub = false
}
validator = {
// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
// Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
generateDeprecationValidation = true
}
}
}
}
Я генерирую проекты программно (используя CliProjectsCreator
и WizardConfiguration
) и мне нужно запустить рабочий процесс при создании проектов, чтобы сгенерировать файлы src, src-gen и т. Д. Но так как я пытаюсь запустить это программно (не в Eclipse) и терминалы используются в моей грамматике, я получаю эту ошибку:
XtextLinkingDiagnostic: null:1 Couldn't resolve reference to Grammar 'org.eclipse.xtext.common.Terminals'.
TransformationDiagnostic: null:36 Cannot create datatype WS. If this is supposed to return EString, make sure you have imported 'http://www.eclipse.org/emf/2002/Ecore' (ErrorCode: NoSuchTypeAvailable)
TransformationDiagnostic: null:39 Cannot create datatype NAME_TERMINAL. If this is supposed to return EString, make sure you have imported 'http://www.eclipse.org/emf/2002/Ecore' (ErrorCode: NoSuchTypeAvailable)
TransformationDiagnostic: null:42 Cannot create datatype VALUE_TERMINAL. If this is supposed to return EString, make sure you have imported 'http://www.eclipse.org/emf/2002/Ecore' (ErrorCode: NoSuchTypeAvailable)