Gradle, l'outil d'automatisation de build open source personnalisable, a publié sa version 7.0. Cette version prend en charge le JDK 16, des builds incrémentiels plus rapides, une fiabilité de build améliorée avec validation des erreurs et une prise en charge native des nouveaux Mac équipés de processeurs Apple Silicon. En outre, certaines des fonctionnalités en preview telles que les toolchains de JVM, le verrouillage des dépendances, la vérification des dépendances et la prise en charge du Java Module System, introduites dans les versions précédentes, ont toutes été promues en tant que fonctionnalités stables dans la version 7.0.
Les versions précédentes de Gradle ne fonctionnaient pas sur le dernier JDK 16. Cependant, avec l'aide de la JVM toolchains, et en désactivant la compilation incrémentielle, on pouvait toujours construire ses projets Java en utilisant un JDK 16. Avec la dernière version 7.0 de Gradle, l'exécution de Gradle et la construction de projets sur le JDK 16 sont entièrement prises en charge. Gradle lui-même a été mis à niveau pour utiliser Groovy 3 dans les scripts de construction DSL basés sur Groovy afin de prendre entièrement en charge le JDK 16. Groovy 3 est livré avec de nouvelles fonctionnalités et capacités qui prennent également en charge l'interopérabilité avec les nouvelles fonctionnalités Java. Notez que Groovy 2 et Groovy 3 ne sont pas entièrement compatibles l'un avec l'autre et peuvent par conséquent entraîner des problèmes lors de la mise à niveau vers Gradle 7.0. Consultez les instructions de mise à jour de Gradle pour plus d'informations.
Chaque version de Gradle continue d'améliorer la vitesse des builds incrémentiels. Cette version active la fonction de surveillance optimisée du système de fichiers par défaut sur toutes les plates-formes prises en charge telles que Windows, Linux et MacOS. L'optimisation aide Gradle à en savoir plus sur les modifications apportées aux fichiers d'entrée et de sortie de build et à conserver ces informations en mémoire entre les builds. Cela permet à Gradle d'ignorer la lecture du système de fichiers à chaque build, réduisant ainsi la quantité d'E/S disque nécessaire pour déterminer les changements de fichiers d'entrée et de sortie entre les builds.
Une autre amélioration de la vitesse de construction a été fournie dans cette version en ignorant les dossiers buildSrc
vides. Avant cette version, la présence d'un dossier buildSrc
obligeait Gradle à exécuter toutes les tâches associées, provoquant potentiellement des échecs de cache de build et une surcharge de performances supplémentaire. Gradle ignorera désormais les dossiers buildSrc
vides, ignorant ainsi l'exécution de tâches inutiles et évitant les échecs de cache.
L'une des principales fonctionnalités stables de la version 7.0 de Gradle est la prise en charge complète du système de modules de Java. Les utilisateurs peuvent désormais créer, tester et exécuter des modules Java via Gradle. La simple présence de module-info.java permettra à Gradle de déduire que votre jar est modulaire et doit être placé dans le modulepath au lieu du classpath traditionnel.
Des améliorations concernant le développement de plugins comme la prise en charge des plugins avec plusieurs variantes, l'utilisation des builds inclus pour les plugins locaux, des correctifs pour les conseils de sécurité, des améliorations du verrouillage des dépendances, des catalogues de versions expérimentales et des accesseurs de type de projet sûr sont quelques-unes des autres améliorations et fonctionnalités remarquables de Gradle 7.0.