2017-11-11 179 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構建。真高興你做到了。 –