2010-08-26 56 views
0

我有一些複雜的別名前。別名依賴關係

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

最後

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

問:
如何別名在別名( '測試')取決於別名( 'DIST')( '全部')? 我試過取決於()的變體,但它似乎我做錯了什麼。

歡呼 P.

UPDATE:

我已經通過我自己管理的這一點。

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

Depends(test, build) 
Depends(dist, test) 

Default('dist') 

回答

0

我往往使命名目標的一切(與依賴關係),然後別名,我想要發佈到誰運行SCons的目標。

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來發布需要用戶可運行的目標。