프로젝트가있는 여러 하위 디렉토리로 구성된 빌드 시스템이 있습니다. 각 시스템에는 별도의 rakiefile (또는 두 개의 레이크 파일)이 있습니다. 최상위 디렉토리에는 모든 하위 디렉토리를 통과하는 rakefile이 없으며 system ("rake")을 통해 rake를 호출하고 결과 패키지를 가져 와서 적절한 시스템으로 보냅니다. 이 일을 더 우아한 방법이 있습니까? 나는 Rake.application.load()를 시도했다. 그러나 어떤 파일을로드해야하는지에 대한 인수를 받아들이지 않는 것 같다. (각 하위 디렉토리에 2 개의 레이크 파일이 있다고 언급했기 때문에)멀티 파일 레이크 빌드
5
A
답변
2
확인을로드합니다. 다음은 나의 마스터 파일입니다 :
task :default do
FileList["*/**/rakefile*.rb"].each do |project|
# clear current tasks
Rake::Task.clear
#load tasks from this project
load project
if !Rake::Task.task_defined?(:default)
puts "No default task defined in #{project}, aborting!"
exit -1
else
dir = project.pathmap("%d")
Dir.chdir(dir) do
default_task = Rake::Task[:default]
default_task.invoke()
end
end
end
puts "Done building projects"
end
각 하위 디렉토리의 rakefile은 기본 작업 정의를 포함해야합니다.
1
새로운 당신의 큰 프로젝트의 루트에 Rakefile 동적으로 내가 말한 knoopx을 기반으로 솔루션을 가지고, 귀하의 하위 프로젝트 Rakefiles
Dir.glob(File.join(File.dirname(__FILE__), '**', 'Rakefile')).each do |tasks|
load tasks
end
+0
이것은 부분적으로 문제를 해결합니다. 다른 파일에서 작업을 호출 할 수 있지만 종속성이 처리되지 않은 것처럼 보입니다. 그래서 와 하위 rakefile를 호출하는 코드로, 주요 파일을 가진 작업 : 기본 => foo는 작업 : foo는 는 "foo는" 작업 "foo는"이 호출되지 않습니다 끝을두고 할 – paszczi
관련 문제
- 1. 간단한 레이크 파일 조작
- 2. VS2008에서 멀티 롭 빌드
- 3. 가변 작업 목록으로 레이크 멀티 태스크
- 4. vs.net 멀티 사전 빌드 명령
- 5. RSpec에 레이크 파일을로드 할 해당 파일 - 레이크/TASKLIB
- 6. 멀티 파일은 각 파일
- 7. 레이크 작업에서 클립 클립 첨부 파일 삭제
- 8. 빌드 작업을위한 외부 파일
- 9. 빌드 파일 포함/제외
- 10. JSON 파일 빌드 문제
- 11. 단위 테스트 빌드 파일
- 12. 빌드 스크립트에서 파일 검사하기
- 13. 빌드 참조 파일
- 14. 레이크 작업은
- 15. 파일에서 레이크 문자열 바꾸기
- 16. FTP 용 루비 스레드 (레이크)
- 17. 멀티 플랫폼 단일 파일 저장소
- 18. 멀티 스레드 http 파일 업로드
- 19. 억제 레이크
- 20. 레이크 설치
- 21. 레이크 문제
- 22. 구조 레이크 작업
- 23. 레이크 작업의 인스턴스 제한
- 24. Selenium Server Project 빌드
- 25. 레이크 작업에는 Capistrano를 사용합니까?
- 26. 단일 파일 응용 프로그램 빌드
- 27. 빌드/배포시 구성 파일 변경
- 28. 내 RubyGem에 C 파일 빌드
- 29. Eclipse 생성 된 빌드 파일
- 30. CCNet - 빌드 된 파일 검색
관련 https://stackoverflow.com/questions/28238838/rakefile-to-process-multiple-projects –