如何测试 fastlane 插件的 fork

How to test fork of fastlane plugin

我做了一个fastlane插件的fork,并在本地克隆中做了一些修改。我如何测试更改?

在插件目录中我已经完成了更改

$ bundle install
$ rake install

我有一个使用该插件的项目并尝试更改插件文件

gem "fastlane-plugin-msbuild"

gem "fastlane-plugin-msbuild", path: "../../github/fastlane-plugin-msbuild"

在项目目录中我做了一个

$ bundle install

并且从本地文件系统中提取的分叉插件很好。这也反映在 Gemfile.lock

在分叉的插件中,我更新了版本号以便能够跟踪它。

但是当我运行快车道

$ bundle exec fastlane android beta

带"Used plugins"的部分还是旧版本号,执行时可以看出使用的是原来的插件。

我做错了什么?在本地测试 fastlane 插件的常规方法是什么?

我正在使用 macOS Sierra (10.12.6)。

这基本上是正确的。一些注意事项:

rake install$GEM_HOME 下安装修改插件的本地副本。您应该能够以这种方式使用修改后的插件,而无需对项目中的 Pluginfile 进行任何更改。但是每次进行更改时都必须 rake install。按原样修改 Pluginfile 会忽略 $GEM_HOME 中的任何内容,因此不需要 rake install

在您 Pluginfile 的摘录中,您在 gem 之前有一个 $。我假设这只是转录,并且您没有在 Pluginfile 中使用 $。如果是,则应将其删除。

假设这一切都是正确的,你应该从本地分支中获取卸载的gem。

是否可以在其他地方声明插件 gem,例如在你的 Gemfile?

您也可以尝试 运行 bundle update,这会将您 Gemfile.lock 中的所有 gem 更新为最新版本,具体取决于您 GemfilePluginfile。这也将从本地分支中获取 gem,但它也应该与 bundle install.

一起使用

对您的问题的简短回答是您做对了。我不确定为什么它不起作用。

在 Jimmy Dee 的帮助下,我终于找到了问题所在:fastlane 在 ~/.fastlane 中安装了自己的一组 gem

这似乎是 fastlane 在使用安装程序时想要放置它的东西的默认位置。我可能安装了多个 fastlane。我认为我使用的那个是在 /usr/local 中,那是 bundle 所在的位置,也是我安装 af rake install 时我的插件所在的位置。

我只是完全删除了 ~/.fastlane 目录并且它起作用了。