위키득계정 ↗
기술

Pants

Pants기술
주요 대상
여러 프로젝트의 코드 저장소
실행 기능
동시 실행과 원격 실행
재사용 방식
공유 결과 캐시
확장 API
비동기 Python
Pants는 여러 프로젝트와 언어를 포함한 코드 저장소의 빌드 작업을 관리하는 시스템이다. 세밀한 의존 관계 분석과 결과 캐시, 동시 및 원격 실행을 활용하고 여러 개발 도구를 공통 인터페이스로 연결한다.

의존 관계와 변경 범위

파일 수준의 관계를 분석하고 바뀐 입력의 영향을 받는 작업을 다시 수행한다. 정적 분석과 기본 규칙으로 BUILD 파일에 필요한 정보를 추론하고 생성 및 갱신을 도울 수 있다. 추론 기능과 실제 프로젝트의 의존 관계가 올바르게 모델링됐는지는 함께 확인할 대상이다.

여러 도구와 언어 연결

Python과 Go, Java 등 여러 언어 및 린터와 포매터, 패키징과 테스트 도구를 지원한다. 공통 인터페이스를 제공하되 각 언어의 모든 동작이 같은 방식이라는 뜻은 아니다. 서로 다른 의존성 버전이 필요한 부분에는 여러 의존성 해석과 잠금 파일을 사용할 수 있다.

Git 변경과 확장 규칙

Git의 변경 정보를 활용해 특정 브랜치 차이의 영향을 받는 테스트를 고를 수 있다. 비동기 Python API로 사용자 정의 기능을 작성하며 내장 규칙도 같은 API를 사용한다. 결과 캐시와 원격 실행의 활용에는 그에 맞는 실행 환경과 설정이 필요하다.

관련 문서

Buck2 / Bazel / Python / Git / 지속적 통합 / 빌드 시스템