Можно ли отключить инкрементный компилятор в sbt для сборок CI?

В поисках способа сократить время компиляции на нашем сервере сборки я столкнулся с проблемой накладных расходов, добавленных инкрементальный компилятор. Поскольку наш сервер сборки проверяет свежую копию исходного кода и каждый раз выполняет сборку с нуля, было бы неплохо иметь возможность полностью отключить инкрементный компилятор и не платить за то, что не будет использоваться. Это возможно?


person purefn    schedule 22.04.2014    source источник
comment
Если вы удалите папку сборки перед каждой сборкой, инкрементной компиляции не будет.   -  person Andreas Neumann    schedule 22.04.2014
comment
@AndreasNeumann - это не устранит накладные расходы, упомянутые в проблеме. Я не хочу нести затраты на извлечение общедоступного API и информации о зависимостях из исходного кода. Сбор этой информации — это то, что я хочу исключить, поскольку она никогда не будет использоваться и может позволить ускорить сборку на 15–20%.   -  person purefn    schedule 23.04.2014
comment
Хорошо, удалил неверный ответ. Я в значительной степени думаю, что это пока невозможно.   -  person Andreas Neumann    schedule 23.04.2014
comment
Хм, на самом деле, похоже, вам придется подождать некоторых предстоящих экспериментов с инкрементальной компиляцией. Прямо сейчас мы не предоставляем средства для создания объекта Analysis без инкрементного компилятора, и вам это нужно для работы остальных некоторых функций sbt (например, поиск основных классов и т. д.). Вы должны открыть тикет (запрос функции) для этого.   -  person jsuereth    schedule 23.04.2014


Ответы (1)


Гжегож говорит в #1078:

Первоначальные цифры, которые я получил в январе, были неверными, потому что я использовал взломанную версию инкрементного компилятора для тестов. Я собрал больше цифр, используя sbt 0.13.2 и накладные расходы на инкрементный компилятор [snip]. Как видите, для всех проектов, кроме самого Scala, накладные расходы составляют менее 10%.

Поэтому дело было закрыто как недействительное. Связанная с этим, Возможность отключения инкрементного компилятора для сборок CI была закрыта, поскольку ее нельзя исправить.

Это возможно?

Здесь ответ: нет (мы можем запросить запросы).

person Eugene Yokota    schedule 01.05.2014
comment
Это немного прискорбно. У нас есть довольно большой проект, и время его компиляции на наших агентах CI может быть довольно большим (15+ минут). Учитывая, что строится много филиалов, даже небольшое улучшение на 5-10% может оказаться полезным для нас. - person purefn; 01.05.2014