我有一些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"
}
也就是说,各个包位于..下的子目录中/trunk目录中的Subversion,而不是自己的标准项目目录/[树干、标签、树枝]排列。
有没有一种方法可以优化这个composer.json,以便在只有package-path
更改时不必重复VCS type
和url
值?假设我不能更改Subversion目录布局,但其他任何事情都是可能的。
我想不出优化它的方法。
优化的真正潜力是在一个完全不同的层面上:添加私有存储库的方式要求您始终将它们中的每一个添加到根composer.json
文件中,即使包没有直接包含在那里。
这是大量的维护工作。例如,如果你可以使用Satis创建一个本地包存储库,并且只在任何地方添加这一信息,那就更好了。使用Satis,你只会添加一次你的私人存储库,然后你是否重复一个URL就无关紧要了。在Satis配置中,添加新软件包只需完成一次,然后就可以在任何地方使用。