我在PHP中创建了一个个人轻量级框架,它符合我对框架的需求。 我正在使用不同的第三方库,如SwiftMailer,Twig,Assetic,Facebook PHP api,......
如何从第三方图书馆管理这些源代码? 你是否将它作为一个子模块添加到你的项目中,只需拉动以获得最新版本? 或者您只是将代码复制到项目目录中并自行进行更新?
大多数代码存储库的结构如下:
所以在我的框架目录中,它看起来像这样,我们供应商将其作为远程项目的子模块:
这是要走的路吗?或者您如何建议这样做? 在capistrano部署期间,将从远程服务器中提取所有子模块存储库。
编辑:我必须说我在其他项目中使用框架作为子模块。所以框架是项目中的子模块,框架本身也有子模块。
谢谢!
答案 0 :(得分:1)
我通常使用vendor
文件夹,无论是顶级文件夹还是src
或lib
保存子模块,并在拉动时使用--recurse-submodules
选项, --recursive
git submodule update
和git submodule status
。我认为 capistrano可以很好地处理这个用例,但我对它的熟悉程度还不够。
答案 1 :(得分:0)
我管理每个项目。 每个项目文件夹都可以包含正确构建的所有文件 - 因此所有引用的文件都包含在“refs”目录中。在这种情况下构建简单:获取最新版本的“src,refs& build”目录,运行构建脚本。输出位于“bin”目录中。
“refs”文件夹正在消耗磁盘大小,但它比使用更正版本(和分支)管理跨项目引用要简单得多。