我有一些包含这样的部分的composer.json文件:
"repositories": [
{
"type": "vcs",
"url": "http://svn.example.com/libs/",
"package-path": "Package1"
},
{
"type": "vcs",
"url": "http://svn.example.com/libs/",
"package-path": "Package2"
},
{
"type": "vcs",
"url": "http://svn.example.com/libs/",
"package-path": "Package3"
}
],
"require": {
"ident/Package1": "~2.0",
"ident/Package2": "~3.0",
"ident/Package3": "~1.0"
}
也就是说,各个软件包位于Subversion中../trunk目录下的子目录中,而不是使用标准./[trunk,tags,branches]排列的自己的项目目录。
有没有办法优化这个composer.json,以便在只有type
更改时不必重复VCS url
和package-path
值?假设我无法更改Subversion目录布局,但几乎任何其他内容都是可能的。
答案 0 :(得分:2)
我想不出一种优化方法。
优化的真正潜力是完全不同的水平:添加私有存储库的方式要求您始终将它们中的每一个添加到根composer.json
文件中,即使这些包不是直接包含在那里也是如此。
这是很多维护工作。如果您可以使用Satis创建本地软件包存储库并且只在任何地方添加此单个信息,那会更好。使用Satis,您只需添加一次私有存储库 - 然后重复URL是否真的无关紧要。添加新软件包只能在Satis配置中完成一次,然后随处可用。