问题标签 [acceleo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
62 浏览

acceleo - 为 Acceleo 中的多值属性生成代码

如何为多值属性生成代码?在我的元模型中,我有一个名为 A 的类,其名为 B 的属性是多值的。属性B的类型是C类。在建模中,我为属性B设置了两个值,例如C1和C2。现在,如何为 C1 和 C2 生成代码?(例如访问 C1 和 C2 的名称)

0 投票
2 回答
168 浏览

set - Acceleo 中的集合定义错误

我对 Set 或变量的定义有疑问。

在以下代码中:


显示错误“。预期而不是{”。(第6行)如果我写“[for(e:Element | h.entity){a->包括(e);}]”错误“变量a->包括(e);无效”将显示。我想定义一个集合(“a”为 Set(AgentClass)),其中“a”包括代理,我不想打印一些东西。但我想将代理存储在一个集合中。谁能帮我?谢谢

0 投票
2 回答
542 浏览

eclipse - Acceleo M2T - 将时间戳写入生成的文件

我通过使用定义到 *.mtl 文件中的不同 Acceleo 模板来生成一些文件。

在这些文件的顶部,我需要编写如下内容:

每次生成文件时如何动态生成此时间戳?

谢谢!

编辑:我解决了这个问题,如下所述。

module声明之后,添加query声明:

然后,创建一个名为的类GenerationSupport并添加一个名为的方法getCurrentTime()

0 投票
1 回答
155 浏览

eclipse - NPE 运行 Acceleo 生成器

我有一个 Acceleo 项目(一堆 *.mtl 文件和一个可以使用这些模板生成输出的 Java 类)。只要我从 Eclipse 内部运行该项目,它就可以正常工作,但是当我使用 Maven 编译 *.emtl 文件时,我会在里面得到一个 NullPointerException AcceleoService#doGenerate()

有问题的代码如下所示:

所以getType()返回null。由于这在 Eclipse 中有效,但在使用 Maven 构建时无效,我对生成*.emtl的文件进行了比较,发现*.emtl有效的文件位于顶部

而那个不工作的有

由于 NPE 是由getType()返回触发的null,这看起来是一个可能的原因,但这是我设法做到的。

关于这里可能有什么问题的任何想法?

0 投票
1 回答
165 浏览

java - Nothing is generated and no error although model and module are loaded

I tried to use Acceleo to translate a model to a text in an Eclipse plugin. The model is fine and the loaded Acceleo module looks fine as well. Still, acceleo does not generate anything.

Here is my code:

The IAcceleoTextGenerationListener prints that listensToGenerationEnd() is called and nothing else. The loaded module looks fine in debug. It has the generateElement-template. The generate.mtl looks like this:

My problem is that nothing is generated, i.e. result is an empty map. Also "Generation: false" is printed to console. Especially no error is printed.

Anyone have any idea on what is going wrong? I had it working once but I can't get it to work any more.

0 投票
0 回答
193 浏览

maven - Acceleo 生成器在处理来自 Papyrus 的子模型单元时找不到应用的原型

我在独立模式下使用 Acceleo 从 UML 模型(用 Papyrus 编辑)生成源代码。

我遵循了本教程https://wiki.eclipse.org/Acceleo/Maven(使用相同的版本)。

我创建了自己的 uml 配置文件,并在某些元素(类、包……)上应用了一些刻板印象,一切都很好……

但是,当我使用 Papyrus 中的“子模型单元”功能“拆分”uml 文件时,Acceleo 无法从“子模型”文件中检索元素上应用的原型(它仍然可以在“根”文件中找到它们)。

当我重新整合所有拆分的文件时,一切都再次像魅力一样工作。

我不知道出了什么问题,有什么想法吗?

更新:我在这里提供了一个最小的示例(但遵循全局结构):http: //www.wikiupload.com/D0NI4YR6T9KNCC7。只需运行

在根“示例”目录上。结果在“example/result/target/result”目录中

0 投票
1 回答
233 浏览

maven - 使用 Maven 构建的基于 Acceleo 的生成器在 Obeo Designer 6.2 上不起作用

我有一个基于 Acceleo 的生成器,可以从 UML 类生成文本文件。我想在 Obeo Designer 上运行它。我在 Obeo Designer 6.2 中创建了它。当我从 Obeo 本地构建和调试我的应用程序时,一切正常。

但是,如果我使用 Maven 构建我的应用程序,然后将其作为插件安装在 Obeo Designer 上,那么,每当我尝试使用基于 Acceleo 的生成器生成文本文件时,都会出现以下异常:

我认为,我的问题与此类似:https ://bugs.eclipse.org/bugs/show_bug.cgi?id= 421341 在 Maven 构建期间生成的 .emtl 文件包含“%”,在执行我的生成器并给出异常。在本地构建(没有 Maven)期间生成的 .emtl 文件没有任何“%”并且工作正常。

据我了解,问题在于我尝试使用 EMF 2.8 执行生成器,而用于 Maven 构建的 EMF 版本(可能)是 2.9。我无法在 Obeo Designer 上升级 EMF 的版本。

我的问题是:我怎样才能避免这个问题?我怎么能明确地说,在 Acceleo 生成器的 Maven 构建期间应该使用哪个版本的 EMF?还是取决于Acceleo的版本?

对于我的生成器的 Maven 构建,我按照此处的说明进行操作: https ://wiki.eclipse.org/Acceleo/Maven

提前致谢

此致

0 投票
1 回答
97 浏览

java - 在 Acceleo 引擎中禁用异常处理

在 Acceleo 中,当我编辑和保存时,例如generate.mtl,Acceleo 会自动生成Generate.java类。从这个 java 类中,我可以doGenerate从外部类调用方法来生成基于模型的东西。

但是,如果在执行过程中出现一些异常,这个异常将由 Acceleo 引擎处理。我想告诉 Acceleo 引擎不要处理异常,从而意识到发生了错误。这怎么可能?

0 投票
0 回答
163 浏览

maven - 使用 Maven 从 Windows 命令行运行 Acceleo

我们正在使用 Eclipse Indigo、Acceleo 3.1.3、Maven 3.0.3。

我们在 Eclipse 中成功运行了一个大型 Acceleo 代码生成项目。我们现在需要通过 Maven 项目的命令行运行同一个项目,以便代码生成步骤可以通过作业无人值守地运行。

任何人都可以分享如何配置这个保持查看我们拥有的版本的步骤吗?如果有人有样品,那就太好了。

我们已经尝试了网络上的可用信息,但这些步骤适用于不同的版本,对我们不起作用。 http://www.obeonetwork.com/page/building-an-acceleo-generatorhttp://www.obeonetwork.com/page/integrating-acceleo-in-an和其他网站。

谢谢你的帮助。

0 投票
1 回答
140 浏览

acceleo - 闭包在 acceleo 中是如何工作的?

我有一个子元素名称为 nextElement 的元素

当我请求 a->closure(a.nextElement) 时,我希望得到一个带有 b、c 和 d 的集合,但我只得到 b。我不理解或做错了什么?