Псевдонимы - PullRequest
       6

Псевдонимы

0 голосов
/ 26 августа 2010

У меня есть несколько сложных псевдонимов, например.

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

и, наконец,

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

Вопрос:
Как зависит Alias ​​('dist') от Alias ​​('test') в Alias ​​('all') Я пробовал варианты Depends (), но, похоже, я сделал что-то не так.

веселит 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')

1 Ответ

0 голосов
/ 26 августа 2010

Я склонен делать именованные цели для всего (с зависимостями), а затем псевдонимы - цели, которые я хочу опубликовать для тех, кто запускает 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 ])

Я не знаю, есть ли причина отдавать предпочтение одному методу над другим. Мне кажется более естественным установить внутренние зависимости, а затем использовать псевдоним для публикации целей, которые должны выполняться пользователем.

...