2017-11-11 131 views
1

我做了一个fastlane插件的分支,并对本地克隆做了一些改动。我如何测试更改?如何测试fastlane插件的分支

在插件目录与我改变我做

$ bundle install 
$ rake install 

我有一个使用插件,并试图将Pluginfile从

gem "fastlane-plugin-msbuild" 

改变

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

在项目目录我然后做了

$ bundle install 

和从本地文件系统分叉插件拾起罚款。这也反映在Gemfile.lock中

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

但是当我运行FASTLANE

$ bundle exec fastlane android beta 

与“二手插件”部分静止状态的旧版本号,我可以从执行看到,原来的插件使用。

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

我在macOS Sierra(10.12.6)上。

回答

2

这基本上是正确的。几个注意事项:

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

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

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

是否有可能你也有其他地方声明的插件宝石,例如在你的Gemfile

您也可以尝试运行bundle update,这将更新您的Gemfile.lock到最新版本的所有宝石,取决于你的GemfilePluginfile的要求。这也将从本地分叉获得宝石,但它也应该与bundle install一起使用。

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

+0

是的,您提到的$符号是我的错字,现在被删除。谢谢你的解释,这有助于我的理解。我曾希望我做错了什么。 –

1

与吉米·迪伊我终于找到了问题的见解的帮助:FASTLANE有它自己的一套安装在宝石的〜/ .fastlane

这似乎是默认地方FASTLANE希望把它的东西使用安装程序时。我可能已经安装了多个fastlane。我认为我使用的那个是在/ usr/local中,那是捆绑的地方,当我安装rake install时,我的插件去了哪里。

我只是完全删除〜/ .fastlane目录,它的工作。

+1

我怀疑你已经从Homebrew或类似的东西安装了Fastlane,而不是RubyGems。就我所知,这个构建基本上不能用于插件。你的Gemfile中是否有gem“fastlane”?我认为这应该优先考虑,但是它有可能无论如何都会采用Homebrew构建。真高兴你做到了。 –