代码之家  ›  专栏  ›  技术社区  ›  bua

别名依赖项

  •  0
  • bua  · 技术社区  · 16 年前

    Alias('build', [ Program(), Install()...])
    Alias('test', [Program(), Install(), RunTest()]
    Alias('dist', [Install()])
    

    最后呢

    Alias('all', [ Alias('build'), Alias('test'), Alias('dist')])
    


    如何将Alias('dist')依赖于Alias('all')中的Alias('test')?

    更新:

    我自己解决的。

    build = Alias('build', [ Program(), Install()...])
    test = Alias('test', [Program(), Install(), RunTest()]
    dist = Alias('dist', [Install()])
    
    Depends(test, build)
    Depends(dist, test)
    
    Default('dist')
    
    1 回复  |  直到 16 年前
        1
  •  0
  •   Uli Köhler    12 年前

    我倾向于为所有内容(带有依赖项)创建命名目标,然后将要发布给运行scon的人的目标别名。

    prog = env.Program(..., libs)
    install = env.Install(..., prog)
    test = env.RunTest(..., libs)
    
    Alias('build', prog)
    Alias('test', test)
    Alias('dist', [ test, install, bump_version ])
    

    我不知道有什么理由选择一种方法而不是另一种。在我看来,更自然的做法是在内部设置依赖项,然后使用Alias发布需要用户可运行的目标。