도구와 실행

CLI와 진단

작업에 맞는 토파즈 명령을 고르고 성공, 실패와 복구 동작을 이해합니다.

CLI는 단일 파일과 패키지에 같은 파싱, 모듈 해석과 정적 검사를 적용합니다. 명령은 이 공통 관문을 지난 뒤 할 일을 선택합니다.

검사 전에 서식 확인하기

리뷰와 자동화에서는 fmt --check를 사용합니다. 정본 서식과 다른 파일을 모두 알리고 0이 아닌 상태로 끝나며 파일은 쓰지 않습니다.

BASH
topaz fmt --check --root my-app
topaz fmt --root my-app

둘째 명령으로 서식을 적용한 뒤 첫 명령을 반복하세요. 패키지 모드는 벤더링한 의존성과 빌드 출력을 건너뜁니다.

실행 없이 검사하기

BASH
topaz check main.tpz
topaz check --root my-app --locked
topaz check --format json main.tpz

검사가 깨끗하면 종료 코드는 0입니다. 진단에는 소스 위치, 안정적인 TPZ#### 코드, 요약과 필요한 세부 정보가 들어갑니다. JSON 모드는 도구가 읽을 수 있는 안정적인 진단을 출력합니다. 사용자 코드를 실행하거나 배포 산출물을 쓰지 않습니다.

BASH
topaz explain TPZ5021
topaz explain TPZ5021 --json

첫 진단을 고친 뒤 check를 다시 실행하세요. 뒤의 오류는 첫 오류의 결과일 수 있습니다. explain은 알려진 코드를 자세히 설명하지만 소스를 바꾸지 않습니다.

테스트와 실행

BASH
topaz test --root my-app --locked
topaz test tests/summary.tpz --root my-app --locked
topaz run --root my-app --locked
topaz run main.tpz -- arg1 arg2

test는 검사된 결정적 테스트 호스트를 사용합니다. 실패한 단언, 정적 진단이나 런타임 결함은 0이 아닌 종료 코드를 냅니다. --root와 함께 테스트 파일을 선택하면 패키지 매니페스트, 잠금 파일, 모듈과 의존성을 그대로 사용합니다.

run은 검사된 명령형 진입점을 인터프리터로 실행합니다. -- 뒤의 인수는 main에 전달됩니다. Web 애플리케이션과 HTTP 패키지는 관찰할 제품이 명령이 아니라 브라우저 앱이나 서비스이므로 루프백 개발에 topaz dev를 사용합니다.

배포 대상 하나 빌드하기

BASH
topaz build main.tpz --out-dir native-product
topaz build --target python --root my-app --locked --out-dir python-product
topaz build --root my-app --locked --release --out-dir product

build는 먼저 검사한 뒤 요청한 관리형 제품을 씁니다. 네이티브, Web과 HTTP 빌드에는 해당 외부 Rust 대상이 필요하며 Python은 제품을 실행할 때만 필요합니다. 정적 오류는 산출물 생성 전에 멈춥니다. 외부 도구 오류는 토파즈 단계 뒤에 추가로 보고되며 역시 0이 아닌 상태로 끝납니다.

출력 디렉터리에 다른 대상, 잘못된 산출물 매니페스트나 변경된 관리 바이트가 있다면 토파즈는 소유권을 추측하지 않습니다. 디렉터리를 조사할 수 있게 보존하고 새 빈 --out-dir을 고르세요.

패키지와 기계 판독 경계

진입 파일을 생략하고 --root를 전달하면 topaz.toml의 진입점을 사용합니다. --locked는 현재 매니페스트와 로컬 의존성 내용이 topaz.lock에 맞아야 통과합니다. 프로그램 인수는 항상 -- 뒤에 둡니다.

--unchecked는 컴파일러 조사용 우회 경로이지 일반 애플리케이션 명령이 아닙니다. 정적 관문을 제거하므로 실패한 검사형 빌드를 성공처럼 만들기 위해 사용하면 안 됩니다.

관련 문서