CI 관련 오류 정리 #53
Locked
betterafter
started this conversation in
Bug
Replies: 1 comment
-
결국 이번에도 파일 하나를 안 올린게 문제였네요! |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
1. CI 문제가 아님.
이번 문제의 핵심 오류 메세지. 코드 상에서 어떤 오류가 발생하는데 그걸 Build로 찝어내지 못하는 현상인 듯하다.
2. 그렇다면 뭐가 문제였나?
처음에는 gradle 버전 문제로 생각되어서 이 부분에서 이것저것 수정했는데 먹히는게 하나도 없다. 생각해보면 7.0.2고 자시고 어차피 8.0.0으로 넘어가면 deprecated 되는 것만 걱정하면 되는데, 벌써부터 걱정할 필요가 없었다.
그러다가 구글링을 통해 힌트를 얻었는데, 아래의 링크와 같다.
DataBinding과 What went wrong:Execution failed for task
concatAdapter를 DataBinding하는 부분이 문제. 커밋 중에 CI check가 된 부분이 있는데, xml의 dataBinding을 지워보면 통과가 된다.
3. DataBinding의 어떤 부분이 문제인가?
이걸 알 수 있으면 해당 문제를 해결할 수 있다. 일단 concatAdapter로 보내는 리스트를 2가지 형태로 구현해서 테스트해봤다.
가령 listOf(List, List)로 돌리고 BindingAdapter에서 강제 캐스팅을 했는데, 아마 컴파일 시점에서 강제 캐스팅한 것을 읽지 못한 것이 아닌가라고 예상했다.
BindingData(List?, List?)의 형태로 만들었는데, 역시 읽지 못한다. 그렇다면 타입을 파악하지 않는 문제는 아닌 것 같은데?
4. 아니 그래서 뭐가 문제인데?
뭐긴 뭐야, concatList를 추가를 안했으니까 안되는거지..
viewModel 작업은 다른 분들이 하고 있기 때문에 viewModel은 커밋을 하지 않았다. 그리고 이게 문제였다. upstream에 저장된 viewModel에는 BindingAdapter를 위한 concatList가 없으며, 나는 내가 테스트한 viewModel을 올리지 않았으니 당연히 DataBinding이 concatList를 찾지 못하는 것. 그런고로 로컬 환경에선 빌드가 문제 없었는데 정작 CI는 읽지를 못하니 에러를 뱉어냈던 것.
5. 결론
Beta Was this translation helpful? Give feedback.
All reactions