Я пытаюсь создать статическую библиотеку, имя которой я получаю только после обработки некоторых файлов. У меня есть что-то вроде этого:
task :lib,:config do |t,args|
# ... do some processing here, get a string representing the
# fullpath of the lib. Imaging libname contains a.lib
file libname => object_files
end
Но, разумеется, поскольку я не знаю имени зависимости при запуске задачи, код, который должен собрать a.lib, не будет выполнен. Я пытался сделать так:
task :lib,:config do |t,args|
# ... do some processing here, get a string representing the
# fullpath of the lib. Imaging libname contains a.lib
file libname => object_files
task :lib => [libname]
end
Чтобы добавить это как зависимость, но это не работает. У меня сейчас так, и работает:
task :lib,:config do |t,args|
# ... do some processing here, get a string representing the
# fullpath of the lib. Imaging libname contains a.lib
file libname => object_files
Rake.application[libname].invoke
end
но я чувствую, что это слишком уродливо. Есть ли лучший способ объявить эту зависимость?