在团队中处理项目并且项目依赖于不同的模型和库时,在Simulink项目中管理依赖项的最佳实践是什么?
并行示例是使用Gradle构建应用程序并声明项目的依赖项(包括所需的版本号)。成绩将解析并下载构建项目所需的版本。
e.g。以下声明对library
版本2.1和版本1.0版本some-library
的依赖性,以便下载可用的最新版本1.x(1.0,1.1,1.2 ......)使用
dependencies {
compile("com.example:library:2.1")
compile("com.example:some-library:1.+")
}
documentation for Simulink(以及here covering manifests)似乎在讨论具有版本号的项目中的模型。它似乎没有提到导入项目的库。仅在单个项目中使用的模型都可以包含在整个项目中,但是如果(例如)在适用的单独项目或库(或项目中定义的库)中定义的通用S函数会发生什么?跨多个项目?此要求的目的是帮助支持由持续集成服务器(如Jenkins)触发的自动构建过程。
我对使用Github Flow git分支策略轻松支持依赖项管理和自动依赖项解析的工作流感兴趣。
答案 0 :(得分:0)
我花了很多时间在这个问题上。最后我没有在网上找到合适的解决方案,但我想分享我们现在使用的工作流程,这些工作流程满足了我们的需求。
简而言之:我们使用git submodules创建了自己的依赖关系管理。
假设:实际上,它更像是持久依赖项的版本管理,而不是提供动态添加新包或删除旧包或库的可能性。这也有效,但需要在主git存储库中添加或删除git子模块。
目标:
我们如何做(示例):
<强>优点:强>
我认为只要存储库不会变得太大,这种方法就会起作用,因为您不仅仅获取所需的版本,而且还获取整个版本历史记录。