Skip to content

Tuist에서 swiftlint 사용을 위한 RootDirectory 설정

Vardy edited this page Dec 10, 2023 · 1 revision

트러블 슈팅을 하게된 계기

저희가 프로젝트 초기에 TagetScriptExtension 해서 swiftlint와 swiftformat을 적용했는데요!

이후에 규칙을 추가해야되서 Lint에 규칙을 추가했지만,, 테스트하는 과정에서 분명 아래와 같이 lint파일에는 규칙을 추가했지만 규칙이 적용이 안되더라구요..

무언가 이상하다는것을 느끼고 해당 원인을 여러가지 찾아봤습니다.

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2023-11-18_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_3 59 14

문제해결과정

다양한 규칙을 적용해보고 빌드해보면서 한가지 결론에 수렴했습니다.

해당 .swiftlint.yml 파일이 프로젝트에서 빌드되지 않는것 같다..!

이것저것 해보다가 해당 script 코드를 작성했던 승현님이 원인을 찾아 주셨습니다!

바로 generate할 때, Tuist Root Directory를 설정해주어야 한다는 것이었는데요.

private let tuistRootDirectory = ProcessInfo.processInfo.environment["TUIST_ROOT_DIR"]

Scripts파일에서 경로를 TUIST_ROOT_DIR로 설정해주고 해당 경로에 아무것도 넣지 않은 것이었습니다. 😂

설정해주려면 PWD를 사용해서 현재 작업중인 디렉토리의 절대경로를 환경변수에 설정해주면 되는데요.

TUIST_ROOT_DIR=${PWD} tuist generate

generate할 때마다 사용해야되니까 너무 귀찮잖아요..?

그래서 프로젝트의 빌드 과정을 간소화하기 위해 사용되는 스크립트인 Makefile을 아래와 같이 설정했습니다.

generate:
						TUIST_ROOT_DIR=${PWD} tuist generate

Makefile을 수정하려면 Tuist의 RootDirectory에서 아래 명령어를 사용하면 됩니다.

vim Makefile

이렇게 해서 tuist를 generate할 때 아래 명령어를 사용하면 됩니다.

make generate

결과

추가한 trailing_comma가 잘 적용되었습니다.

%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA_2023-11-18_%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE_4 13 17

Clone this wiki locally