🔥

Тред (Казаков Антон)


@mobileunderhood OOM на разных машинах и на CI, на разных работах и проектах, на разных версиях линта. Как вариант, кстати, может намертво зависнуть ещё. Вот ща на проекте где всего 120 модулей и даже 300к строк кода нет, отрабатывает 20 минут и падает везде, где меньше 32гб оперативы.
У нас около 500+ модулей сейчас, Xmx 16G, maxworkers=6. Работает в контейнерах с лимитом на 24G памяти и 6 CPUs. Линт 27.1.2 с AGP 4.1.2. Думает конечно долго, но с ООМ не падает. Локально линт гоняем только по измененным модулям - вполне допускаю что тут будет ООМ у многих. twitter.com/Andrey__Danilo…

Я бы попробовал: - Попрофайлить линт таску градл-профайлером с Jprofiler каким-нибудь или посмотреть через VisualVM - Тем же градл-профайлером запустил бенчмарк чтобы посмотреть как будет себя вести lint таска с другими jvmargs/gradle пропертями

- Если есть свои детекторы - посмотреть что в них все ок - Если многомодульный проект, то включить checkDependencies - Включить через только те детекторы из коробки, что нужны(enable/checkOnly)

- Даже если проблема с ООМ решится, запилить простенький импакт-анализ плагин(или взять готовый) и гонять lint только на измененных/заафекченных изменениями модулях

Если интересно могу скинуть gradle.properties, lintOptions и любую другую инфу. Пиши @antonkazakov в телеграме. Буду рад попробовать помочь)