在 TFS 构建完成时触发 Enterprise Architect 中源代码的导入
Trigger import of source code in Enterprise Architect on TFS build completion
目前,我通过 Enterprise Architect 中模型的上下文菜单 Code Engineering > Import Source Directory
手动导入我的代码库。
现在我想自动执行此操作并让我们的 Team Foundation Server 2015 在构建过程成功后立即执行此导入操作。
这可能吗?我怎样才能做到这一点?
编辑:我们的代码库是用 C# 编写的,我们在子目录上递归导入,我们不希望每个包都有逻辑图,我们希望在 EA 中看到私有成员,我们希望每个命名空间都有包,我们选择了现有 类 的同步,我们希望在要删除的代码中找不到 类。
大问题,几乎太大了。但是,是的,这是可能的,这里有一些总体建议。 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()
.
目前,我通过 Enterprise Architect 中模型的上下文菜单 Code Engineering > Import Source Directory
手动导入我的代码库。
现在我想自动执行此操作并让我们的 Team Foundation Server 2015 在构建过程成功后立即执行此导入操作。
这可能吗?我怎样才能做到这一点?
编辑:我们的代码库是用 C# 编写的,我们在子目录上递归导入,我们不希望每个包都有逻辑图,我们希望在 EA 中看到私有成员,我们希望每个命名空间都有包,我们选择了现有 类 的同步,我们希望在要删除的代码中找不到 类。
大问题,几乎太大了。但是,是的,这是可能的,这里有一些总体建议。 EA 或 TFS 中没有任何东西可以为您开箱即用,所以我只能提供总体指导。
您可以编写一个在 TFS 上下文中执行的触发器,然后使用 EA API,连接到适当的 EA 存储库并在那里执行必要的导入。
或者您可以编写一个 EA 插件(在 EA 的上下文中执行),它订阅一些 TFS 事件并执行导入。
EA 的 API 有很好的文档记录,但 EA 失败的地方在于它没有良好的服务器端自动化——它基本上假设每个会话总是有一个用户。所以我建议将您的解决方案集成到 TFS 而不是 EA。
您需要设置一个 EA 项目,并在其中创建一个包来保存导入的代码。
您通过创建 EA.Repository
对象并调用 Repository.OpenFile()
.
然后你调用Repository.GetProjectInterface()
获得一个EA.Project
对象,你调用Project.ImportDirectory()
.