Сеня рядом и Белла пришел. Былое
Собираем Java инкрементно
Всем привет! На данный момент для сборки Java/Kotlin проектов используются два основных инструмента: Maven и Gradle. Можно вспомнить Ant, сказать: «Покойся с миром» - и забыть) Их можно сравнивать по разным параметрам, но сегодня я хочу остановиться на инкрементальной сборке. Может возникнуть вопрос - что тут сравнивать, в Maven ее нет, в Gradle - есть. Но не все так очевидно) На самом деле в maven-compile-plugin такая опция заявлена https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html и даже включена по умолчанию. Но фактически не работает( Почему? Для начала стоит разделить понятия сборки в целом и компиляции как одну из частей сборки...
Gradle как аналог Maven
Когда мы разрабатываем программное обеспечение, мы пишем, компилируем, тестируем, упаковываем и, наконец, распространяем код. Мы можем автоматизировать эти шаги с помощью системы сборки. Большим преимуществом является то, что у нас есть повторяемая последовательность шагов. Система сборки всегда будет следовать шагам, которые мы определили, поэтому мы можем сосредоточиться на написании фактического кода и не беспокоиться о других шагах. Gradle-одна из таких систем сборки. Gradle-это инструмент для автоматизации сборки. С помощью Gradle мы можем автоматизировать компиляцию, тестирование, упаковку и развертывание нашего программного обеспечения или любых других типов проектов...