我做了一个分叉的fastlane插件,并在当地的克隆人做了一些改变。如何测试更改?
在插件dir中,我所做的更改
$ bundle install
$ rake install我有一个使用插件的项目,并尝试将Pluginfile从
gem "fastlane-plugin-msbuild"至
gem "fastlane-plugin-msbuild", path: "../../github/fastlane-plugin-msbuild"在这个项目dir中,我做了一个
$ bundle install本地文件系统中的分叉插件也可以很好地提取出来。这也反映在Gemfile.lock中。
在分叉插件中,我更新了版本号,以便能够跟踪它。
但当我跑完快车道的时候
$ bundle exec fastlane android beta带有“二手插件”的部分仍然声明了旧的版本号,我可以从执行中看到原来的插件被使用了。
我做错了什么?在本地测试fastlane插件的正常方式是什么?
我在macOS塞拉利昂(10.12.6)。
发布于 2017-11-11 21:21:44
这基本上是正确的。几个注意事项:
rake install在$GEM_HOME下安装修改插件的本地副本。您应该能够以这种方式使用您修改过的插件,而无需对项目中的Pluginfile进行任何更改。但是,每次进行更改时,您都必须使用rake install。修改Pluginfile,因为您已经忽略了来自$GEM_HOME的任何内容,所以rake install是不必要的。
在您的$的摘录中,在gem之前有一个Pluginfile。我想这只是抄写,而且在Pluginfile中不使用Pluginfile。如果你是,你应该移除它。
假设这一切都是正确的,您应该从本地分叉中获取已卸载的gem。
您是否可能在其他地方(例如在Gemfile中)声明了插件宝石
您还可以尝试运行bundle update,这将根据Gemfile和Pluginfile中的要求将Gemfile.lock中的所有gems更新为最新版本。这也将从本地分叉获取gem,但它也应该与bundle install一起工作。
对你的问题的简短回答是你做得对。我不知道为什么不起作用。
发布于 2017-11-11 22:32:40
借助Jimmy的洞察力,我终于找到了这个问题: fastlane有自己的一套宝石安装在~/. from中。
这似乎是默认的地方,fastlane想要把它的东西时,使用安装。我可能已经安装了多个fastlane。我认为我使用的是/usr/local,当我安装af rake时,这是bundle所在的位置,也是我的插件所在的位置。
我只是完全删除了~/.快车道目录,它就起作用了。
https://stackoverflow.com/questions/47241062
复制相似问题