Topaz 5.7은 v5.6의 문법과 의미론을 모두 그대로 계승합니다. 마이그레이션은
패키지 식별자만 바꾸며 .tpz 소스를 다시 쓰지 않습니다.
패키지 루트에서 다음 명령을 실행합니다.
SH
topaz migrate --from 5.6 --to 5.7 --root .
이 명령은 파일을 쓰기 전에 전체 패키지를 두 언어 모드로 해석하고 검사합니다.
성공하면 [package].language = "5.6"을 "5.7"로, 정확히
std = "5.6"인 의존성만 "5.7"로 바꿉니다. 다른 의존성, 주석,
서식, 소스, 잠금 파일과 벤더 바이트는 바꾸지 않습니다. 구문 분석·이름 해석·
타입·의존성·목적지 검사 중 하나라도 실패하면 어떤 파일도 수정하지 않습니다.
마이그레이션 뒤 패키지에서 파생되는 제품을 다시 만듭니다.
SH
topaz lock --root .
topaz check --root . --locked
topaz test --root . --locked
topaz build --root . --locked --out-dir build
명시적인 호환성 모드가 필요하면 --language-version 5.6을 사용하거나
마이그레이션하지 않은 패키지에서 language = "5.6"을 유지하세요. 새 패키지는
기본적으로 topaz-5.7을 사용합니다.