Этот дайджест взаимодополняет выпуск подкаста «Разбор Полётов». На этот раз в студии были Барух Садогурский и Олег Чирухин. Получить запись подкаста можно либо пройдя по ссылке на сайт РП, либо скачав MP3-файл.
- Вышел Gradle 4.9:
- В
JavaExec
можно передавать аргументы с помощью--args
; - Улучшенный dependency insight report;
- Продолжается развитие gradle-native;
- Больше данных хранится не в проекте, а в домашней директории пользователя, поэтому чистые пересборки ускорятся;
- Поправили утечки файловых дескрипторов. Можно переключаться с форка на in-process компиляцию;
- Новое экспериментальное tasks API, которое позволяет устранить оверхед на создание и конфигурирование тасков, которые никогда не выполняются;
- и многое другое.
- В
- Немного некрофилии. Вышел Apache Ant версий 1.9.13 и 1.10.5. В основном это багфикс-релизы, но главное, что сейчас держат в уме разработчики — совместимость с JDK 11. В частности, с помощью атрибута
sourcefile
в таскеjava
можно использовать новую фичу JDK 11 — запускать Java-программы, состоящие из одного файла.
- В Pivotal (компания, стоящая за Spring) официально подтвердили участие в программе помощи по реализации 30-дневного «cure period» для лицензии GPLv2. Одна из важнейших фичей GPLv3 — если ты нарушил копирайты, то с момента первого предупреждения есть 30 дней, чтобы разобраться со своими лицензиями, и только после этого у тебя отберут все права. Благодаря инициативе ряда компаний такое же послабление теперь соблюдается GPLv2, LGPLv2.1 и LGPLv2. Сейчас такой поддержкой занимается множество компаний, включая Red Hat, Facebook, Google, IBM, CA Technologies, Cisco, HPE, Microsoft, SAP, SUSE, VMware.
- Hibernate Validator обновили в версии 6.0.11.Final до JDK11. Центральный вопрос с JAXB, выброшенном в JDK11, решили так: обращаться к внешним зависимостям они не будут, потому что дескрипторы у них очень простые и можно использовать прямой доступ к StAX. Напоминаю, что начиная с 2016 года JSR-173: Streaming API for XML находится в статусе withdrawn по причине, что API достаточно стабильные и обновлять их не нужно. Это может дать идею всем, кто задумывается о переходе на JDK11 — как при таком переходе стоит решать проблемы.
- Выпущен очередной релиз-кандидат IntelliJ IDEA 2018.2. Из забавного: на тачбар добавили welcome dialog с возможностью выбрать проект, а в меню запуска на тачбаре появилась возможность добавлять новые run/build-конфигурации. Отдельными постами описаны улучшения для Groovy и для Spring Boot.
- В MongoDB 4.0 добавились столь желанные Multi-Document ACID Transactions, отчего она всё более начинает напоминать нормальную базу данных. Насколько они хорошо работают — пока замнём для ясности и подождем адского разбора от какого-нибудь известного эксперта. Работает это только на движке WiredTiger, поддержка sharded clusters приедет в будущей версии 4.2. На уровне кода всё сопряжено с кучей ограничений (можно использовать только для CRUD-логики, не работающей с database catalog — нельзя создать или удалить индекс или каталог, нельзя даже сделать
listCollections
иlistIndexes
или позватьcreateUser
/getParameter
/count
/…). Как всё это работает с проектами Spring пока непонятно, но, например, в проекте Activiti (BPMN-движок, написанный на Java) работа по интеграции мультидокументных транзакций уже ведется.
Eclipse
- Появился OpenMobility Working Group Charter. В этом уставе описывается рабочая группа по фреймворку OpenMobility, предназначенному для подробной симуляции движения транспорта и людей, а также их паттернов общения. Может оказаться полезен для тестирования средств управления автомобилями, оптимизации городского трафика, обкатке новых концепций вроде Mobility-as-a-Service. Чтобы стать членом группы, нужно быть как минимум Solutions Member в Eclipse Foundation и подписать соответствующие бумажки. Конкретные технические темы:
- Microscopic and Mesoscopic Traffic Simulation
- Vehicle-to-Vehicle, Vehicle-to-Infrastructure Communication Simulation
- Pedestrian Dynamics Simulation
- Simulator Coupling infrastructure
- Interfaces to Advanced Driver Assistance Systems and Intelligent Transportation Systems solutions
- В Eclipse, для поддержания совместимости с Photon, продолжают обновляться плагины. Например, обновились JBooss Tools и RedHat Developer Studio, RHAMT Eclipse Plugin. Если вы еще не обновили свой плагин, стоит это сделать побыстрей, поезд ждать не станет.
- В Jakarta EE кипит работа. 39 проектов, 26 уже созданы, а остальные в каких-то других фазах. Перенесена половина из 110 репозиториев. Полный список можно посмотреть в блоге у Дмитрия Корнилова (не знаю, насколько он обновляет этот список, но, по крайней мере, он дает понимание масштаба проблемы).
Spring
В основном всякая минорщина, например:
- Вышел Gradle dependency management plugin 1.0.6.RELEASE (maintenance-релиз, поправлено 4 бага)
- Вышел Spring REST Docs 2.0.2.RELEASE (maintenance-релиз, исправлены 4 бага и проблемы с документацией) и Spring REST Docs 1.2.5.RELEASE (тоже пачка небольших багфиксов). REST Docs — это проект о том, как документировать RESTful-сервисы, комбинируя вручную написанный в Asciidoctor текст с автосгенерированными примерами с помощью фреймворка Spring MVC Test.
Дайджест готовили
- Текстовая версия: Олег Чирухин (контент, верстка, проверка фактов) и редакция JUG.ru Group;
- Подкаст «Разбор Полётов» (ссылка на запись): Барух Садогурский и Олег Чирухин.