Gradle 5.0 - quoi de neuf

Dans le processus de développement de CUBA, nous avons utilisé les trois principaux outils de construction - nous avons commencé avec Ant, puis sommes passés à Maven pendant une courte période, et maintenant nous utilisons Gradle et il semble que nous y resterons dans un avenir proche.


Il n'y a pas si longtemps, Gradle 5.0 est sorti. Cette version dispose d'un grand nombre de nouvelles fonctionnalités qui aideront les développeurs à écrire des scripts plus complexes et à assembler leurs projets encore plus rapidement et sans douleur.


image


Kotlin DSL


La première innovation est la Kotlin DSL . Désormais, les scripts de construction peuvent être écrits dans Kotlin, et cela accélère vraiment le travail grâce à l'auto-complétion, en gros. La mise en évidence des erreurs de syntaxe et d'autres éléments pratiques d'IDEA fonctionnent également. Bien sûr, IDEA essaie également de faire tout cela pour Groovy, mais un typage encore fort se fait sentir. Il est indiqué que le DSL Kotlin est stable, de sorte que vous pouvez l'utiliser sans crainte.


Dois-je passer à Kotlin? Non, ce n'est pas nécessaire, Groovy DSL sera pris en charge, il n'est pas abandonné. Ensuite, vous devez considérer chaque projet séparément. Pour utiliser Kotlin DSL, vous avez besoin de Gradle 5 et d'un JDK d'au moins 8, dans certains cas, cela peut ne pas être applicable. De plus, Groovy offre une plus grande flexibilité dans les scripts en raison d'un typage laxiste. Dans tous les cas, la décision appartient aux développeurs, mais si vous décidez toujours de passer à Kotlin, il existe un guide de migration .


Init interactive


Maintenant, enfin, vous ne pouvez pas écrire un trousseau de clés lors de l'assemblage initial du projet, mais choisir le type de projet, la langue du script de construction et même le cadre de test en mode interactif. Nous écrivons gradle init - et apprécions. Génération de projets prise en charge sur Kotlin!


Compilation incrémentale et traitement d'annotation


Le mécanisme de compilation incrémentielle continue de se développer (y compris le traitement des annotations de bibliothèques comme Lombok) - pas besoin de recompiler tout le code. Vous pouvez créer vos propres tâches qui prennent en charge la compilation incrémentielle.


Les processus de construction sont accélérés grâce au cache de génération, le travail avec la mémoire est optimisé.


Test FailFast - les tests seront lancés à partir de la dernière erreur (le cas échéant, bien sûr).


Gestion des dépendances


Prise en charge des fichiers de nomenclature - cheers!


Le réglage fin des règles de remplacement des versions est déclaré, vous pouvez écrire du code de programme pour gérer des cas particulièrement complexes directement dans le fichier d'assemblage . Au même endroit - désactivation des dépendances transitives.


Vous pouvez forcer la version de la dépendance à être bloquée et l'empêcher d'être remplacée par des versions plus anciennes.


Et, en plus de tout, la version «gel» est prise en charge pour les dépendances.


Nouvelle API de tâche


Le processus d'amélioration se poursuit également dans le domaine de la création de tâches. Il y a quelques nouveautés qui seront sûrement utiles pour beaucoup.


API Worker , qui vous permet d'exécuter des tâches en parallèle et avec différents niveaux d'isolement (même sur différentes machines virtuelles Java, vous pouvez). En plus de l'exécution juste parallèle, vous pouvez faire attendre la fin des autres tâches.


API de délai d'expiration - pour définir la durée maximale d'exécution de la tâche.


API d'évitement de la configuration - vous permet de ne pas créer ou configurer de tâches qui ne seront toujours pas exécutées.


Pour résumer - un bon outil est encore mieux, pour kotlin - merci spécial, maintenant vous pouvez tout écrire dessus: front-end, back-end, client mobile et scripts de construction.

Source: https://habr.com/ru/post/fr432024/


All Articles