gpt4 book ai didi

svn - Composer : Multiple packages in SVN repository

转载 作者:行者123 更新时间:2023-12-04 21:22:15 26 4
gpt4 key购买 nike

我正在开发一个包含多个模块(如模块 A 和模块 B)的项目(我们称之为应用程序 A)。这些模块在该项目中使用,但我也希望将这些模块公开给其他项目(例如,应用程序 B 可以使用模块 A)。主项目应用程序 A 位于具有以下(简化)目录结构的 SVN 存储库中:

trunk/
module/
moduleA/
src/
composer.json -> Composer file for module A
moduleB/
src/
composer.json -> Composer file for module B
composer.json -> Composer file for Application A

我正在使用 composer 来管理依赖项。我想使用 Satis 创建一个私有(private)存储库,其中包含我的模块包(模块 A、模块 B 等)。我将我的 SVN 存储库作为存储库添加到我的 Satis 配置文件中:

"repositories": [
{
"type": "vcs",
"url": "svn://xxx/ApplicationA/"
}
]

但这不会像我想要的那样生成 packages.jsonpackages.json 文件中唯一的包是应用程序 A,但我希望所有模块包都在这个文件中,所以我希望 Composer/Satis 扫描所有 composer.json 文件(也在子文件夹中)。

我可以为每个包添加一个特定的存储库,但我不想要那样,因为在那种情况下我需要为每个新模块编辑我的 Satis 配置。

我尝试了很多东西,比如设置 trunk-pathbranches-pathtags-pathpackage-path 在我的 Satis 配置文件中,但我可以让它工作。

简而言之:我正在尝试让 Composer/Satis 在 1 个 SVN 存储库中处理多个包。有谁知道如何实现这一目标?或者也许有更好的方法来解决我的“问题”?

提前致谢!

最佳答案

我认为 satis 不支持这个 - 我绕过它的方法是使用 rake 添加构建步骤, 虽然你可以使用 phing甚至是一个 shell 脚本,它循环遍历我们 svn 存储库中的所有路径并从中生成一个 config.json。这确实意味着您每次添加 svn 存储库时都必须重新运行构建步骤,但无论如何您都需要将 satis 创建作为 cronjob/post commit Hook 运行。

如果无法构建脚本,您可能需要考虑获取 packagist安装,这需要您手动添加包,但不需要为每个存储库生成 config.json 条目。

关于svn - Composer : Multiple packages in SVN repository,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16691273/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com