fastlane的自包含版本是否支持dev构建?

时间:2017-05-23 16:54:19

标签: plugins fastlane

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

我有两个特殊情况会让事情变得不方便:

  1. 我正在为客户构建一个新的插件。我希望移动开发人员在发布之前在内部对其进行审核。
  2. 用户报告已发布插件的错误。我希望他们从主分支尝试开发版本以获取更多信息。
  3. 在这两种情况下,我认为有必要使用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)
    ?  
    

    这适用于fastlane宝石,例如与RVM:

    gem install fastlane
    fastlane add_plugin my_new_action
    

    Homebrew中的自包含二进制文件也会提示您输入Git URL或本地路径,但我始终在OS X Sierra上的json gem中从本机扩展中获取构建失败。这可能是由于插件依赖性,但我不确定。对于上面的用例,这仍然有点尴尬,我很惊讶这种自包含版本失败了,我希望它比使用Ruby更强大。至少这消除了对bundle install和bundle exec的需求。

1 个答案:

答案 0 :(得分:0)

这里的答案基本上是Fastlane的自包含版本并不适用于插件。特别是,当fastlane add_pluginfastlane install_plugins运行bundle install时,它会尝试安装json gem,它是fastlane gem的依赖项,具有本机依赖项,​​并且找不到{{1}大概是因为<stdio.h>在自包含的包中被筛选出来,以便将它与系统Ruby隔离开来。在此之后,您可以自己运行/usr/includebundle install,但通常需要Gemfile才能使用Fastlane插件。一旦你有了Gemfile,CLI甚至会告诉你运行bundle exec

使用bundle exec gem时,fastlane通常会有效,但您将再次使用Gemfile并希望之后运行fastlane add_plugin

您只需修改插件文件即可使用路径或git repo并重新运行bundle exec fastlane。目前还没有更容易的方法。