我有一个svn *存储库,其中包含库(例如src \ LibA,src \ LibB等)的集合(“ MyCommonLib”)。
我想将每个Lib *发布为单独的作曲家程序包。我在每个Lib *中都包含了composer.json,并且可以将composer指向每个trunk \ src \ Lib *,并且似乎并不介意....直到涉及到版本。
标记结构是针对整个集合tags\1.0\composer.json
进行版本控制的,对于集合(MCL)而言,这本身就很好。但是,对于Lib *来说,这不合适,因为MCL \ composer.json!= MCL \ src \ LibA \ composer.json。
理想我“简单地”想要在LibA \ composer.json中指定其“标记版本”是从指定路径中提取的。即tags\[version]\src\LibA\composer.json
而不是沼泽标准tags\[version]\composer.json
反正有这样做吗?
*虽然SVN始终存在于图片中,但我有能力设置git镜像(如果有帮助的话)。
PS这可能闻起来像Using Composer when multiple components are in the same vcs repo,但它的A)持续了6个年,而B)我特别询问的是标签\版本模式发现已解决了其基本软件包发现问题自我。
答案 0 :(得分:1)
您可以使用package-path
设置来指定存储库中软件包的路径:
"repositories": [
{
"type": "vcs",
"url": "https://svn.example.org/",
"package-path": "src/LibA/"
}
]
Composer应该使用https://svn.example.org/trunk/src/LibA/composer.json
,https://svn.example.org/branches/[branch name]/src/LibA/composer.json
和https://svn.example.org/tags/[version]/src/LibA/composer.json
作为此程序包的路径。