如何测试fastlane插件的fork

时间:2017-11-11 17:55:01

标签: plugins fastlane

我已经制作了一个fastlane插件的分支,并在本地克隆中进行了一些更改。如何测试更改?

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

$ bundle install
$ rake install

我有一个使用该插件的项目,并尝试从

更改插件文件
gem "fastlane-plugin-msbuild"

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

在项目目录中,我已经完成了

$ bundle install

并且本地文件系统的分叉插件可以正常使用。这也反映在Gemfile.lock

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

但是当我跑快跑时

$ bundle exec fastlane android beta

使用"使用过的插件"仍然陈述旧的版本号,我可以从执行中看到使用原始插件。

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

我在macOS Sierra(10.12.6)。

2 个答案:

答案 0 :(得分:3)

这基本上是正确的。几个笔记:

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

$的摘录中gem之前有Pluginfile。我认为这只是转录,并且您在$中没有使用Pluginfile。如果你是,你应该删除它。

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

是否有可能在其他地方声明插件gem,例如在Gemfile

您还可以尝试运行bundle update,这会将Gemfile.lock中的所有宝石更新为最新版本,具体取决于GemfilePluginfile中的要求。这也将从本地fork获取gem,但它也应该与bundle install一起使用。

您问题的简短回答是您正确行事。我不确定为什么它不起作用。

答案 1 :(得分:2)

借助Jimmy Dee的见解,我终于找到了问题:fastlane在〜/ .fastlane中安装了自己的宝石

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

我只是完全删除了〜/ .fastlane目录并且它有效。