fastlane 的独立版本是否支持开发构建?

Does the self-contained version of fastlane support dev builds?

当使用从Homebrew 安装的fastlane 版本时,我不知道如何使用插件的开发版本。我看到 fastlane add_plugin 仍然生成一个插件文件。如果我尝试使用 :path 参数添加 gem "fastlane-plugin-xxx", git: "https://github.com/yyy/xxx" 或类似的东西,它总是会尝试从 RubyGems.

安装版本

我有两个具体情况,这让事情变得不方便:

  1. 我正在为客户构建一个新插件。我希望移动开发人员在发布之前对其进行内部审查。
  2. 用户报告了已发布插件的错误。我希望他们从 master 分支尝试开发版本以获得更多信息。

在这两种情况下,我认为有必要使用Ruby和Bundler。并非每个人都有丰富的 Ruby 经验,因此让某人成立可能是一个障碍。

2017-07-06 编辑:

部分答案是显而易见的。当你运行fastlane add_plugin时,如果找不到gem:

会提示你
[jdee@Jimmy-Dees-MacBookPro TestApp]$ fastlane add_plugin my_new_action
[10:46:28]: Seems like the plugin is not available on RubyGems, what do you want to do?
1. Git URL
2. Local Path
3. RubyGems.org ('fastlane-plugin-my_new_action' seems to not be available there)
?  

这适用于快速通道 gem,例如使用 RVM:

gem install fastlane
fastlane add_plugin my_new_action

来自 Homebrew 的独立二进制文件还提示您输入 Git URL 或本地路径,但我一直在 json gem 在 OS X Sierra 上。这可能是由于插件依赖性,但我不确定。这对于上面的用例来说仍然有点尴尬,我很惊讶这在自包含版本中失败了,我希望它比使用 Ruby 更健壮。至少这消除了对 bundle install 和 bundle exec 的需要。

这里的答案基本上是自包含版本的 Fastlane 不能真正使用插件。特别是,当 fastlane add_pluginfastlane install_plugins 运行s bundle install 时,它会尝试安装 json gem,这是 fastlane gem,它有原生依赖,它找不到<stdio.h>,大概是因为/usr/include为了与系统Ruby隔离,在自包含包中被屏蔽掉了。在此之后,您可以 运行 bundle installbundle exec 自己,但通常需要 Gemfile 才能使用 Fastlane 插件。一旦你有了 Gemfile,CLI 甚至会告诉你 运行 bundle exec

当使用 fastlane gem 时,fastlane add_plugin 通常可以工作,但是您将再次拥有一个 Gemfile 并且之后想要 运行 bundle exec fastlane

您可以修改您的插件文件以使用路径或 git 存储库和 re运行 bundle install。目前没有更简单的方法来执行此操作。