내 프로젝트 최상위 레벨의 Rakefile이 나무에서 더 깊은 rakefiles를 사용하여 물건을 만들길 원합니다; 즉, 최상위 레벨의 레이크 파일은 프로젝트 (큰 그림)를 빌드하는 방법과 낮은 레벨의 레이크 파일이 특정 모듈 (로컬 그림)을 빌드하는 방법을 말합니다.재귀 레이크 방법? - 또는 적합한 대안들
작업간에 공유 할 수있을 때마다 작업을 수행하는 데 대한 세부적인 세부 사항을 공유하는 구성 세트가 있습니다. 따라서 빌드 할 소스에 대한 설명을 유지하는 것이 대부분입니다. 예 : /Source/Module/code.foo와 cie는/Source/Module/Rakefile의 지침을 사용하여 빌드해야합니다. 및/Rakefile은 모듈 간의 종속성을 이해합니다.
여러 개의 레이크 프로세스 (ala recursive make)를 사용하거나 별도의 빌드 환경을 만드는 경우 상관하지 않습니다. 어느 쪽이든 그것은 큐에 의해 처리되기에 충분할만큼 독립적이어야한다. 그래서 비 종속 모듈이 동시에 빌드 될 수있다.
문제는 실제로 레이크에서 어떻게 할 것인가입니다. 인터넷이나 문서에서 의미있는 것을 찾지 못했습니다. 나는 새로운 Rake :: Application 객체를 생성하고 그것을 설정하려고 시도했지만 무엇이든간에 methods 예외 만 호출하거나 "태스크를 빌드하는 방법을 모른다": 기본 '오류가 발생합니다. (예, 모든 rakefiles에는 : default가 있습니다). 물론 modulename 작업을 위해 하위 디렉토리에서 'rake'를 실행할 수는 있지만 최상위 레벨에 주어진 옵션을 버릴 수 있습니다. 예 : $ (MAKE)와 $ (MAKEFLAGS)를 생각해보십시오.
누구나 recursive
레이크를 제대로 수행하는 방법에 대한 단서가 있습니까?
레이크 -f의 단점은이 호출 된 rakefile의 위치로 작업 디렉토리를 설정하지 않는다는 것입니다. –