Quiero que mis proyectos de nivel superior Rakefile construyan cosas usando rakefiles más profundos en el árbol; es decir, el archivo de seguimiento de nivel superior dice cómo construir el proyecto (panorama general) y los de nivel inferior crean un módulo específico (imagen local).¿Cómo el rastrillo recursivo? - o alternativas adecuadas
Por supuesto, hay un conjunto compartido de configuraciones para los detalles minuciosos de hacerlo cada vez que puede compartirse entre tareas: por lo tanto, se trata principalmente de mantener las descripciones de lo que se necesita construir, tan cerca de las fuentes que se construyen. P.ej. /Source/Module/code.foo y cie deben construirse usando las instrucciones en/Source/Module/Rakefile; y/Rakefile comprende las dependencias entre módulos.
No me importa si utiliza múltiples procesos de rake (ala recursive make), o simplemente crea entornos de compilación separados. De cualquier manera, debe ser autocontenible para ser procesado por una cola: para que los módulos no dependientes puedan construirse simultáneamente.
El problema es, ¿cómo diablos haces realmente algo así con Rake? No he podido encontrar nada significativo en Internet, ni en la documentación. Intenté crear un nuevo objeto Rake :: Application y configurarlo, pero cualquiera que sea el methods que intente invocar, solo se lanzarán excepciones o errores "No sé cómo compilar tareas ': default'". (Sí, todos los rakefiles tienen un: predeterminado). Obviamente, uno podría simplemente ejecutar 'rake' en un subdirectorio para una tarea: modulename, pero eso eliminaría las opciones dadas al nivel superior; p.ej. pensar en $ (MAKE) y $ (MAKEFLAGS).
¿Alguien tiene una pista sobre cómo hacer algo como un rastrillo recursive
?
La desventaja de -f rastrillo es que no establece el directorio de trabajo a la ubicación de la Rakefile invocado. –