Composer包,指定包根

时间:2014-06-26 16:02:48

标签: php directory composer-php

也许我只是错过了一些基本的东西(希望),但我无法理解这一点。

我有一对PHP项目,每个项目都初始化为git repo / Composer包; foobar/package-a取决于foobar/package-b

PackageA的结构如下:

PackageB
 +- src
 |   +- PackageB
 |       +- Namespace1
 |       |   +- <files>
 |       +- Namespace2
 |       |   +- <files>
 |       +- Namespace3
 |           +- <files>
 +- docs
 +- other
 +- things

PackageA的结构类似:

 PackageA
  +- src
  |   +- PackageA
  |       +- <files>
  +- vendor
      +- <files>

无论如何,我只是使用本地git存储库,将package-b定位为来自package-a的依赖项。

# PackageA's composer.json
"require": {
    "foobar/package-b": "dev-master"
},
"repositories": [
    {
        "type": "vcs",
        "url": "path/to/foobar/PackageB"
    }
]

但是,从package-b方面来看,我只希望公开/src/PackageB下的所有内容,不包括/docs/other,{{1} }。

我很惊讶地发现,Composer架构中没有/things密钥,表明我希望依赖项目只能从某个目录中提取:

package-root

有没有办法使用Composer向消费者表明文件位于包的根目录以外的某个位置?

目前,我最终使用# hypothetical in PackageB's composer.json "package-root": "/src/PackageB" PackageB根(/src/docs等)中的所有结尾} vendor目录。


附录

  • 我现在知道exclude密钥了,虽然我希望实际重新启动软件包而不是忽略其他目录。此外,我不确定这是否适用于此。

0 个答案:

没有答案