在TFS构建完成时触发Enterprise Architect中源代码的导入

时间:2016-04-18 12:43:30

标签: c# tfs enterprise-architect tfs2015

目前,我通过Enterprise Architect中模型的上下文菜单Code Engineering > Import Source Directory手动导入我的代码库。

现在,我希望自动执行此操作,并使我们的Team Foundation Server 2015在构建过程成功后立即执行此导入操作。

这可能吗?我怎样才能做到这一点?

编辑:我们的代码库是用C#编写的,我们在子目录上递归导入,我们不想要每个包的逻辑图,我们想在EA中看到私有成员,我们希望每个命名空间都有包,我们选择了用于同步现有类,我们希望在代码中找不到要删除的类。

1 个答案:

答案 0 :(得分:1)

大问题,几乎太大了。但是,是的,这是可能的,这里有一些整体指针。 EA或TFS中没有任何东西可以为您提供开箱即用的功能,所以我可以给出总体指示。

您可以编写一个在TFS上下文中执行的触发器,并使用EA API连接到相应的EA存储库并在那里执行必要的导入。

或者您可以编写EA加载项(在EA的上下文中执行),该加载项订阅某些TFS事件并执行导入。

EA的API有相当好的文档记录,但EA失败的原因是它没有良好的服务器端自动化 - 它基本上假设每个会话总是有一个用户。所以我建议将您的解决方案集成到TFS而不是EA。

您需要设置EA项目,并在其中创建一个包以保存导入的代码。

通过创建EA.Repository对象并调用Repository.OpenFile()来连接到EA项目。

然后,您拨打Repository.GetProjectInterface()以获取EA.Project对象,并在其上调用Project.ImportDirectory()