在che中增加EMF支持 - Day1:运行che和引入现有的emf项目

在这一系列博客中,我们将分析有关扩展Eclipse Che的经历,并且描述我们如何在Eclipse Che中创建基础的EMF支持。在上一篇文章中,我们已经描述了我们的大致的目标和使用样例。

在这篇文章中,我们会描述使用Che的第一步。在这扩展之前,我们需要运行它来看看它里面已经有了什么。然后,我们找一个最简单的途径来获取一个已存在的模型项目,将其加入Che的workspace里。这个模型项目还没有被che创建,但已经被Eclipse Modeling Tools IDE创建。通过引入这个项目,我们可以看这里已有哪些特性,我们需要去扩展什么。

作为一个模板项目,我们将使用已有的Make it happen模型。这个样例是很多Eclipse IDE所有的。可以通过New->Example->"Make it happen:Example Model"创建。我们之后在che里进行的工作:创建一个没有已生成代码的”Make it happen”模型,makeithappen_blank

作为准备,我们下载并执行了Che。因此,我们现在使用的是发布的未拓展的版本。

当启动che并在浏览器中打开,你首先看到的会是Dashboard。你可以创建Workspaces,但不是项目。Che为每个工作空间启动一个独立的runtime。每个可以被定义为一个单独的Docker容器和一组相关的容器。默认情况是,一个工作空间一个容器,源代码和相关的运行时状态(JDK和其他工具包)都被密封在容器中,因此可以很容易的直接共享。正如你在dashboard里面看到的,stacks里有很多事先定义好的workspace。其中,stack里的java样例就可以作为我们任务的基础。

《在che中增加EMF支持 - Day1:运行che和引入现有的emf项目》

在我们选择了workspace之后,Che会为我们启动它。技术上,一个docker容器启动了,某种意义上很像一个服务器端的虚拟机。在这里面,我们可以进行我们的开发。

在我们启动了workspace之后,浏览器中IDE将会与这个展示的workspace相连接(暂时是空的)。

让我们来为我们的崭新的workspace进入一个已有的模型项目吧!点击Workspace->Import Project,默认是引入git项目。我们引入https://github.com/eclipsesou… 的项目,并点击import

《在che中增加EMF支持 - Day1:运行che和引入现有的emf项目》

现在我们有一个完整的模板项目在我们的workspace里,我们可以看一下这些文件。因为我们还没有拓展custom editor,所以所有的文件都是以纯白的文本格式显示。

修改纯文本格式的XML文件显然很费劲,这一点我们会在之后的工作中解决。另一件有意思的事情是,就这样这个项目就已经被加入这个workspace里面了,我们可以在下面的命令行对这些文件进行操作,所以我们通过

vi /projects/makeithappen/org.eclipse.emf.ecp.makeithappen.model/model/task.ecore

来修改文件。这就意味着,任何基于命令行的工具都可以直接访问我们的项目文件。这是一个很有意思的机制,我们将在之后运用到这点。

现在,我们已经有的是一个简单的方法去创建一个模板文件来测试。然后我们开始思考接下来的在che中的EMF支持。很明显下面就是创建一个custom的模型项目和为Ecore的custom的编辑器。但是,在接下来的一部分,我们将首先实现代码生成,这主要是为了减少风险。我们相信,在Che的IDE中创建我们自己的UI插件是可能的。

但是,为了代码生成,我们想要使用已有的EMF提供的生成器。那么是否存在一个简单的方法将Eclipse的特性集成到che里呢?请期待之后的内容。

    原文作者:SimGuo
    原文地址: https://segmentfault.com/a/1190000018885645
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞