在Bitbucket上分发php库的正确方法

在Bitbucket上分发php库的正确方法,php,composer-php,bitbucket,Php,Composer Php,Bitbucket,关于库的分发,我对使用Composer和Bitbucket的正确方法有点困惑,可能是因为我对Composer和Bitbucket都是新手 我的问题是:我在Bitbucket上有两个存储库,第一个是简单实用程序库(utility),第二个是主项目(MainProject)。两者都有一个分支,即主分支 我想在MainProject中使用实用程序,所以我编写了两个composer.json Mainproject composer.json: { "require": { "ve

关于库的分发,我对使用Composer和Bitbucket的正确方法有点困惑,可能是因为我对Composer和Bitbucket都是新手

我的问题是:我在Bitbucket上有两个存储库,第一个是简单实用程序库(utility),第二个是主项目(MainProject)。两者都有一个分支,即主分支

我想在MainProject中使用实用程序,所以我编写了两个composer.json

Mainproject composer.json:

{
    "require": {
       "vendor/utility": "*"
     },
    "repositories": [
        {
            "type": "vcs",
            "url":  "https://MyUsername@bitbucket.org/MyUsername/utility.git"
        }
    ]
}
{
    "name": "vendor/utility",
    "autoload": {
        "psr-4": {
            "Vendor\\": "src/"
        }
    }
}
实用程序composer.json:

{
    "require": {
       "vendor/utility": "*"
     },
    "repositories": [
        {
            "type": "vcs",
            "url":  "https://MyUsername@bitbucket.org/MyUsername/utility.git"
        }
    ]
}
{
    "name": "vendor/utility",
    "autoload": {
        "psr-4": {
            "Vendor\\": "src/"
        }
    }
}
这个配置工作得很好,我的意思是,如果我在MainProject上启动“composer安装”,该实用程序就被正确克隆了。但是在MainProject的vendor目录中,我得到了所有的实用程序文件,包括test目录和无用的文件,比如phpunit.xml

我已经尝试使用这里提供的解决方案:,我通过Sourcetree创建了存档,但是之后呢?我应该如何使用这个档案?我怀疑我错过了一些基本知识

如果我想通过composer将实用程序作为一个包分发给其他应用程序,但没有它的测试和其他文件,那么哪种方法是正确的? 我应该使用.gittribute还是有一种简单的方法来创建dist版本?我不知道如何处理Bitbucket,可能是因为我是个新手


有什么帮助吗?

我知道情况看起来有点不令人满意,但Reddit的“我的产品不需要你的测试”只是故事的一个方面。另一方面是“我需要您在部署前检查中进行测试,以验证您的代码是否与我的代码一样有效”

所以有两个相互冲突的愿望:要么没有测试,要么有测试

作曲家不会为你解决这个问题。如果您不喜欢通过该过程获得的文件,您可以编写一个脚本,在启动项目之前删除这些文件


目前还没有通过Composer计划的自动帮助,因为对于那些希望在
Composer安装后删除较少文件的人来说,要比通过相反的方法删除文件更容易。

Hi Swen,谢谢你的回答。实际上,我已经编写了一个脚本来清理包,但我的问题是另一个。实用程序是我的一个包,我想在我的很多项目中使用它,我的问题是我不想复制我自己的测试。但我还是想利用composer和bitbucket。如果不通过composer和私有存储库进行测试就无法拥有包,那么我想知道是否有可能创建一个归档(通过git/.gittributes)并正常分发它。我已经可以创建存档了,但是我无法分发它。