Я хочу, чтобы мои проекты верхнего уровня Rakefile строили вещи, используя rakefiles глубже в дереве; то есть rakefile верхнего уровня говорит о том, как построить проект (общая картина), а нижний уровень - о создании определенного модуля (локальная картинка).
Существует, конечно, общий набор конфигурации для мельчайших деталей выполнения этого, когда он может быть разделен между задачами: так что в основном речь идет о хранении описаний того, что нужно построить, как можно ближе к строящимся источникам. Например. /Source/Module/code.foo и cie должны быть собраны с использованием инструкций в / Source / Module / Rakefile; и / Rakefile понимает зависимости между модулями.
Мне все равно, использует ли он несколько процессов rake (ala recursive make) или просто создает отдельные среды сборки. В любом случае он должен быть достаточно самодостаточным для обработки в очереди: чтобы независимые модули могли создаваться одновременно.
Проблема в том, как, черт возьми, ты делаешь что-то подобное с Рейком !? Я не смог найти ничего значимого ни в Интернете, ни в документации. Я попытался создать новый объект Rake :: Application и настроить его, но, какие бы методы я ни пытался вызывать, генерируются только исключения или ошибки «Не знаю, как создать задачу»: по умолчанию ». (Да, все rakefiles имеют: default). Очевидно, что можно просто выполнить 'rake' в подкаталоге для задачи: modulename, но это нарушит параметры, заданные для верхнего уровня; например подумайте о $ (MAKE) и $ (MAKEFLAGS).
Кто-нибудь знает, как правильно делать что-то вроде recursive
рейка?