向 Octobercms Market 提交一个插件,其中包含作曲家要求;必须包括供应商地图吗?



作为开发人员,我想向OC Market提交一个插件。我的插件在 composer.json 中定义了作曲家要求。

在开发机器上一切正常,依赖项包含在项目根目录中执行的作曲家更新中。因此,所有依赖项都在主根供应商映射中。

我已经从帐户/插件/创建页面中向OC市场提交了我的插件。该插件被上传为没有(!(供应商地图的ZIP文件。依赖项仅在 composer.json 文件中定义,但实际上并未包含在 ZIP 文件中。

当我现在在全新 OC 安装中安装我的插件时,插件文件夹中包含一个"供应商"映射。像这样:"插件/作者/foo/vendor"。该插件是从 CMS 中安装的(网址:后端/系统/更新/安装(,也可以作为对 cli 的第二次测试,$ artisan plugin:install author.foo.两次安装都正确。

  1. 这个供应商地图是如何进入插件所在的文件夹的?
  2. 在提交到OC Market时,在ZIP文件中添加或不添加供应商地图是否是一种好的做法?

octobercms.com 市场构建过程将插件的依赖项拉入插件自己的目录下的供应商目录中,然后从生成的包中删除 composer.lock 和 composer.json。这是为了支持不使用作曲家的用户,同时也支持同时使用市场插件和基于作曲家的插件的用户。

如果我们在构建过程中将 composer.json 留在插件中,然后用户从该市场插件上的项目根目录运行composer update,突然间他们会重复依赖项,从而导致很多问题。

所有这些都表明:在向市场提交插件时不要包含您的供应商目录,市场会处理这个问题。不过,请包含您的 composer.json 文件。

关于RainLab.GoogleAnalytics,市场上的构建似乎被破坏了,这意味着它需要在市场上重建。这可以通过将更新推送到 Github 存储库来触发,不幸的是,由于某种原因,我的 Github 帐户的存储库严重损坏,我什至无法对问题发表评论。因此,我无法触发插件的重建。但是,如果你在Slack或IRC上提醒我与@spunky(十月的创造者(讨论它,那么我可以这样做,也许他可以触发重建。

十月在插件安装或php artisan october:up时获取作曲家的缺点

例如在我的插件中:

{
"name" : "Tschallacka/dynamic-pages-plugin",
"type" : "october-plugin",
"description" : "DynamicPages plugin for October CMS",
"homepage" : "",
"keywords" : [
"october",
"octobercms",
"pages",
"exit"
],
"authors" : [{
"name" : "Tschallacka",
"email" : "tsch@",
"role" : "Developer"
}
],
"require" : {
"php" : ">=7.0",
"composer/installers" : "~1.0",
"webpatser/laravel-uuid" : "^2.0",
"paragonie/random_compat" : "^2.0"
},
"minimum-stability" : "dev"
}

如果我提供它没有供应商文件夹,那么当我通过 10 月后端october:up或安装它时,供应商文件夹(驻留在这里plugins/author/myplugin/vendor(将填充所需的文件,所以我最终在我的供应商目录中使用作曲家、webpatser 和 paragonie 文件夹。

最新更新