레이크(소프트웨어)

Rake (software)
갈퀴
개발자짐 위리히
안정된 릴리스
13.0.3 / 2020년 12월 21일, 19개월 전(2020-12-21)
저장소
기입처루비
운영 체제크로스 플랫폼
유형소프트웨어 개발 도구
면허증.MIT 라이선스
웹 사이트ruby.github.io/rake/

Rake는 Jim Weirich가 개발소프트웨어 태스크 관리빌드 자동화 도구입니다.사용자는 작업을 지정하고 종속성을 설명할 수 있을 뿐만 아니라 네임스페이스에서 작업을 그룹화할 수 있습니다.SCons 및 Make와 비슷합니다.이것은 루비 프로그래밍 언어로 쓰여져 있으며, Rakefiles(메이크의 Makefiles와 동일)는 루비 구문을 사용합니다.Rake는 Ruby의 익명 함수 블록을 사용하여 다양한 작업을 정의하며, Ruby 구문을 사용할 수 있습니다.여기에는 일반적인 파일 조작 태스크를 수행하는 기능과 컴파일된 파일을 삭제하는 라이브러리('클린' 태스크)가 있습니다.Make와 마찬가지로 Rake도 패턴을 기반으로 작업을 합성할 수 있습니다. 예를 들어 파일 이름 패턴을 기반으로 파일 컴파일 작업을 자동으로 작성합니다.Rake는 현재 버전 1.9 이후 Ruby의 표준 라이브러리의 일부입니다.

다음은 C Hello World 프로그램을 구축하기 위한 간단한 Rake 스크립트의 예입니다.

파일 '안녕하세요' => 'hello.c' 하다    'cc - c - o - o hello . o hello . c' 끝. 파일 '안녕하세요' => '안녕하세요' 하다    'cc -o 안녕하세요'o' 끝. 

자세한 예는 Rakefile 형식 설명서를 참조하십시오.

규칙.

파일이 전제조건으로 지정되어 있지만 파일 태스크가 정의되어 있지 않은 경우 Rake는 Rake 파일에 제공된 규칙 목록을 보고 태스크를 통합하려고 시도합니다.예를 들어 작업 "mycode"를 호출하려고 했습니다.o"에 대해 정의된 태스크는 정의되어 있지 않습니다.Rake 파일에 다음과 같은 규칙이 있는 경우:

규칙. .o. => '.c' 하다  t     "cc.#{t.원천}-c -o#{t.이름.}" 끝. 

이 규칙은 ".o"로 끝나는 모든 작업을 통합합니다.확장자가 .c인 소스 파일이 존재해야 합니다.Rake가 "mycode.c"라는 이름의 파일을 찾을 수 있으면 "mycode"를 빌드하는 작업이 자동으로 생성됩니다."mycode.c"에서 o"를 선택합니다.파일이 "mycode"인 경우.c"는 존재하지 않습니다.Rake는 이에 대한 규칙을 재귀적으로 합성하려고 합니다.

규칙에서 태스크를 합성할 때 태스크의 원본 속성은 일치하는 원본 파일로 설정됩니다.이를 통해 사용자는 소스 파일을 참조하는 작업을 사용하여 규칙을 작성할 수 있습니다.

상세 규칙

규칙 패턴에는 임의의 정규 표현을 사용할 수 있습니다.또한 proc를 사용하여 소스 파일의 이름을 계산할 수 있습니다.이것에 의해, 복잡한 패턴과 출처가 가능하게 됩니다.

다음 규칙은 위의 예와 동일합니다.

규칙.(/\.o$/ =>   ->(t_name){ t_name.후보선수 /\.o$/, '.c' }) 하다  t     "cc.#{t.원천}-c -o#{t.이름.}" 끝. 

메모: Ruby 구문에서는 쿼크가 발생하므로 첫 번째 인수가 정규 표현일 경우 규칙 주위에 괄호가 필요합니다.

Java 파일에는 다음 규칙을 사용할 수 있습니다.

규칙. '.class' => ->(t_name){ t_name     .후보선수(/\.class$/, '.display')     .후보선수(/^color\//, 'src/') } 하다  t    java_module(t.원천, t.이름.) 끝. 

다음은 간단한 Rake 레시피의 예입니다.

네임스페이스 : 케이크 하다   기술하다 팬케이크를 만들다   작업 : 개요 => [: 개요,: 개요,: 개요,: 파우더] 하다      놓다 '지글지글'   끝.   작업 : 개요 하다     놓다 "버터 3테이블 스푼을 작은 정사각형으로 자른다"   끝.   작업 : 개요 => : 개요 하다     놓다 "버터 정사각형을 손으로 반죽하여 1컵 반의 밀가루로 만듭니다."   끝.   작업 : 개요 하다     놓다 "우유 1/4컵 추가"   끝.   작업 : 개요 하다    놓다 "계란 1개 넣기"   끝.   작업 : 파우더 하다    놓다 베이킹파우더 3스푼 반 넣으세요.   끝. 끝. 

「 」를 참조해 주세요.

외부 링크