【问题标题】:How to call another FAKE build script from within a build script?如何从构建脚本中调用另一个 FAKE 构建脚本?
【发布时间】:2015-11-24 12:11:49
【问题描述】:

我在同一个根目录下有一个 repos 集合。每个 repo 都包含一个 build.fsx 用于编译和测试等。

我想在根目录中创建一个 FAKE build.fsx,它可以触发兄弟 repo 目录中的 build.fsx 脚本。

我不担心循环,但如何最好地从原始 build.fsx 中调用另一个 build.fsx?

我确信 Shell.Exec("./packages/tools/FAKE.exe", "./otherdir/build.fsx") 会起作用,但 FAKE 中是否有更无缝的方法?

【问题讨论】:

    标签: f# f#-fake


    【解决方案1】:

    我不认为这是内置于 FAKE 中的,因此如果您希望独立于主脚本使用“兄弟”构建脚本,那么您的 Shell.Exec 方法可能是一个非常好的方法(我会使用)。那就是……

    该方法的一个细微变化是加载同级 .fsx 文件,然后在“父”构建脚本中编写它们的构建目标:

    #load "Sibling.fsx" 
    
    "LocalTarget" 
        ==> "SiblingTarget"
    

    如果目标名称冲突,您会得到错误,并且可能会造成混淆,因此命名约定会很聪明(例如“Build_Sibling_1”、“Clean_Sibling_2”等)。

    【讨论】:

      猜你喜欢
      • 2015-01-27
      • 2014-08-01
      • 2016-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-09
      • 1970-01-01
      相关资源
      最近更新 更多