개괄
Grails 소스 코드에 대한 문서를 찾는다면 개발자 문서 페이지를 참고하세요. 이 페이지는 Grails 커미터들이 따라야 할 프로세스에 대한 가이드라인을 제공합니다. Grails에 더 많은 개발자들이 참여함에 따라 정해진 절차를 따르는 것이 높은 품질을 유지하기 위해 중요해지고 있습니다. 이 페이지는 개발자들이 따라야할 절차를 설명합니다.
변화 승인 절차
대단한 아이디어들이 모두 Grails에 바로 추가될 수 없다는 것은 명백합니다. 커미터로써 여러분은 코드베이스를 수정하기 전에 새로운 아이디어를 다른 사람들에게 알릴 책임이 있습니다. 일반적으로 지켜지는 절차는 아래와 같습니다:
- 변화나 새로운 기능에 대한 제안을 개발자 메일링 리스트를 통해 알립니다.
- 제안에 대한 동의가 얻어지고(그리고 최종적으로 프로젝트 리더인 Graeme의 결정이 있은 후에) 새로운 JIRA 이슈를 추가합니다.
- 수정사항을 커밋할 때에는 커밋 주석에 "GRAILS-001"과 같이 JIRA 이슈 번호를 명시합니다.
- 오로지 소소한 변경만이 승인 절차 없이 커밋될 수 있습니다.
테스팅과 지속적인 통합(continuous integration)
테스팅은 프로젝트 성공의 결정적인 요인이고, Grails는 최대한의 테스트 커버리지를 목표로 합니다. 코드를 커밋하기 전에 충분한 양의 단위 테스트를 붙여야 합니다.
단위 테스트가 얼마나 복잡해지건 간에 테스트는 반드시 있어야 하고(종종 코드 자체보다 더 복잡해지기도 합니다), 가능하면 많은 범위를 커버해야 합니다.
커밋을 하기 전에는 전체 테스트 모음(test suite)을 실행하고, 모든 테스트가 성공할 경우에만 커밋을 해야합니다.
커밋을 한 직후에는 지속적인 통합 빌드 서버를 주시하고, 빌드가 성공적으로 완료되는지 확인하세요. 깨진 빌드는 즉시 수정되어야 합니다.
지속적인 통합은 JDK 1.4 기반으로 컴파일 및 테스트 됩니다. 따라서 Java 5에 추가된 문법이나 API를 사용하면 안됩니다.
현재의 테스트 커버리지 상태에 대해
현재 Grails의 모든 측면이 단위 테스트에 의해 커버되지는 않고 있습니다. 이 문제는 시간이 지남에 따라 점차 개선될 것입니다. 위 가이드라인은 현재 상황이 더 악화되는 것을 방지하고 미래를 위한 견고한 기반을 유지하기 위해 필요합니다.