使用maven作为MPS baseLanguage模型的依赖项管理器?
有没有可能不将所有运行时JAR导入MPS,而直接使用外部依赖关系管理工具(如maven)并让它自动解析并将所有需要的库上载到MPS中?您可能应该使用: 构建语言是一种可扩展的构建自动化DSL,用于以声明方式定义构建。生成到Ant中,它利用Ant的执行能力,同时保持源代码干净,没有混乱和不相关的细节。它被组织成一堆MPS语言,底部是ANT,它允许构建过程的每个部分在不同的抽象级别上表达。如果您遵循语言约定,构建复杂工件(如MPS插件)只需一行代码即可完成,但与此同时,没有什么可以阻止您深入并定制文件管理或清单属性等细节 简短回答:没有 详细回答:理论上,您可以使用maven或gradle获取依赖项和可传递依赖项。例如,您可以使用maven的任务将人工制品复制到某些位置。在格拉德尔,这是公平的。然后在解决方案的“运行时”选项卡中选择该文件夹。此时您会感到失望,因为它没有添加文件夹,而是将该文件夹中的所有jar作为libs添加。没有办法告诉MPS使用某个位置的所有jar,它只引用单个jar文件 我能想到的理论上如何工作的唯一方法是使用gradle,并且在获取依赖项之后,还可以通过编程方式更改.msd文件。将罐子与已提取的罐子同步。但我不知道如何与maven合作。但是对于groovy来说,这应该不是什么大问题使用maven作为MPS baseLanguage模型的依赖项管理器?,maven,dependency-management,mps,Maven,Dependency Management,Mps,有没有可能不将所有运行时JAR导入MPS,而直接使用外部依赖关系管理工具(如maven)并让它自动解析并将所有需要的库上载到MPS中?您可能应该使用: 构建语言是一种可扩展的构建自动化DSL,用于以声明方式定义构建。生成到Ant中,它利用Ant的执行能力,同时保持源代码干净,没有混乱和不相关的细节。它被组织成一堆MPS语言,底部是ANT,它允许构建过程的每个部分在不同的抽象级别上表达。如果您遵循语言约定,构建复杂工件(如MPS插件)只需一行代码即可完成,但与此同时,没有什么可以阻止您深入并定制文
如果您选择尝试gradle方式,我们将非常高兴看到拉取请求将此功能添加到我们的应用程序中。;) 我有点厌倦了添加运行时依赖项,并发现我弄乱了它们的版本。我已经使用maven shade插件构建了一个胖jar。我还排除了项目工件,以便在两个单独的jar中具有可传递依赖项和工件。