Guillaume, C\xe9dric et Arnaud se retrouvent autour du micro pour parler pendant une session marathon de 3h30 du build, de Maven et de Gradle. A premi\xe8re partie pose les bases: introduction, java 9, performance, gestion de d\xe9pendances, cycle de vie
Enregistr\xe9 le 18 juillet 2017
T\xe9l\xe9chargement de l\u2019\xe9pisode LesCastCodeurs-Episode\u2013174.mp3
Interview Ta vie ton \u0153uvreC\xe9dric Champeau
Gradle Inc.
Arnaud H\xe9ritier
Cloudbees
Gradle
Gradle Enterprise
Maven
Guide modules Java 9 :
Liens GradleMaven vs Gradle (features)
Maven vs Gradle (performance)
Migrer vers Gradle
Nebula plugins (Netflix)
Plugin Go (gogradle)
Spring Dependency Management
Builds composites
Build Cache
Pour s\u2019\xe9chauffer, bon alors, c\u2019est qui le plus fort Gradle ou Maven ?
Est-ce que Gradle et Maven ont de la couleur dans la console ?
Gradle / Maven: un pitch de 30 secs max pour chacun pour me faire faire mon choix
Gradle / Maven: Quand est-ce qu\u2019ils vont supporter Java 9? Et la compilation multi-modules:
Gradle / Maven: Avez-vous eu de l\u2019aide d\u2019Oracle pour faire marcher Java 9?
Gradle / Maven: Qu\u2019est-ce que n\u2019est pas pr\xeat pour Java 9?
C\u2019est quoi le build cache de Gradle ? C\u2019est gratuit ou c\u2019est que dans la version payante ?
Parle nous un peu plus de Gradle Enterprise, il y a quoi dedans ?
Gradle Entreprise
La totale depuis la ML Les projetsQuid de l\u2019int\xe9gration avec jshell : je veux \xe9crire mon script de build en Java pas en Groovy (d\xe9sol\xe9) ou en Kotlin (d\xe9sol\xe9), et surtout que cela soit un fucking REPL (R\xe9mi Forax)
Maven, le projet
Maven: Pour Maven, qui tient les r\xeanes du projet ?
Maven: La derni\xe8re version de Maven est r\xe9cente, avec quelque bugfix (il semble\u2026) La pr\xe9c\xe9dente version date de fin 2015 : Maven meurt il \xe0 petit feu ?
Maven: Qu\u2019est-ce qui fait que Maven n\u2019\xe9volue que tr\xe8s tr\xe8s tr\xe8s peu ? En particulier en terme de performance. Il est mort le projet ou quoi ?
Maven: Qui paye le hosting de Maven Central ?
Gradle, le projet, Gradle.inc, l\u2019entreprise
Gradle: Gradle Inc propose des guides, des outils pour entreprise : Gradle veut devenir l\u2019outil de build de r\xe9f\xe9rence en entreprise ?
Gradle: Groovy va rester le langage principale des scripts Gradle (et Kotlin une alternative) ? Va cohabiter avec Kotlin ? va se voir remplacer par Kotlin ?
Gradle: Les derni\xe8res versions de Gradle se focalisent beaucoup sur les performances de build. Vers quoi l\u2019outil va s\u2019orienter par la suite ?
Gradle: Gradle peut builder des projets en C, des projets Java, Android\u2026. Il y aura un focus sur un \xe9cosyst\xe8me en particulier ou Gradle va continuer \xe0 essayer de tout builder, quitte \xe0 se disperser ?
Gradle: Quelle est la proportion de projet utilisant Gradle pour construire des projets autres que des projets Java/Android ?
Gradle: Gradle est indirectement pouss\xe9 par Google car utilis\xe9 pour construire les applications Android. Gradle est \xe9galement utilis\xe9 par Linkedin. Comment ces acteurs influent sur Gradle en terme de fonctionnalit\xe9 ?
Gradle / Maven: Ou en sont les autres, les javascripteurs ? sont-ils toujours \xe0 r\xe9inventer x fois la roue ? Ou ont-ils des outils dont Gradle et Maven pourrait s\u2019inspirer ?
Gradle / Maven: Qu\u2019est-ce qui a bien pu pousser les javascripteurs \xe0 se dire qu\u2019ils pourraient faire un outil intelligent quand ils semblent d\xe9pourvus du moindre bon sens ?
Gradle / Maven: Il serait aussi sympa de comparer ces outils a ce qui se fait dans d\u2019autres silos techniques (genre JS avec npm ou autre, C# avec dotnet et NuGet\u2026), voir ce qui est mieux ou moins bien ailleurs.
Gradle / Maven: Comment faire du build polyglotte, par exemple avec un mixe de Scala, Kotlin, Groovy, Java, et des sous projets Web (angular cli, webpack, gulp, \u2026) ?
Gradle / Maven: Pourquoi les outils de build apparaissent aussi facilement que les champignons en automne ?
Gradle / Maven: Qu\u2019est-ce qui a fait le succ\xe8s de maven et gradle ? (aussi bien techniquement que d\u2019un point de vue marketing)
Gradle / Maven: une question plus fondamentale sur gestion de deps vs build : \xe0 un moment, dans le monde JS, il y avait une s\xe9paration assez nette entre gestion de d\xe9pendance (avec Bower ou npm je crois) et un outil de build/packaging (genre Gulp il me semble) et des fichiers de conf distincts; maintenant il semble que la mode n\u2019ait pas pris et que npm r\xe8gne en maitre et m\xe9lange les 2 sujets dans une meme conf. Est-ce que les experts de build Java pourraient partager leur avis sur la question: pourquoi on m\xe9lange gestion de d\xe9pendances et gestion de build ? Est-ce que c\u2019est vraiment un choix de design ou juste que c\u2019est pragmatiquement suffisant et plus efficace?
Gradle / Maven: comment les outils de build permettent de g\xe9rer les d\xe9pendances non-Java ? Tant qu\u2019on reste dans du Java, c\u2019est simple, mais d\xe9s que l\u2019on sort un peu de l\xe0 \xe7a se complique (nous on a du natif Windows/Linux, j\u2019imagine que pour les devs Android c\u2019est encore plus compliqu\xe9). Peut t\u2019il y avoir des interactions avec des repository non Maven-compliant ? On entend beaucoup parler de Conan pour les artefacts C/C++ ces temps-ci\u2026 Que permet Gradle sur le sujet ? Pouvez-vous nous briefer sur le monde Android qui doit avoir ces probl\xe9matiques ?
Gradle / Maven: Sujet qui pourrait \xeatre int\xe9ressant \xe0 d\xe9battre : comment est-ce que les deux outils abordent la livraison \u201cen production\u201d ? O\xf9 est-ce qu\u2019ils s\u2019arr\xeatent dans leur philosophie (on peut assez facilement imaginer un DSL gradle par exemple pour g\xe9rer les d\xe9ploiements) ?
En particulier, quid des environnements o\xf9 les plateformes de production n\u2019ont pas acc\xe8s \xe0 internet (et donc pas acc\xe8s aux d\xe9p\xf4ts officiels et pas de miroir disponible/accessible, j\u2019ai vu \xe7a chez les op\xe9rateurs t\xe9l\xe9com). La solution mise en place ici, c\u2019est livraison sous forme d\u2019iso/de cd sur lesquels il y a toutes les d\xe9pendances, et cette iso est mont\xe9e comme un repo \xe0 partir duquel on installe la solution.
Et \xe0 partir de l\xe0, viennent d\u2019autres probl\xe8mes d\u2019ordre juridiques : comment est pens\xe9e la gestion des licences, en particulier en ce qui concerne les d\xe9pendances transitives ?
Gradle / Maven: Un peu li\xe9 : quelles diff\xe9rences dans les deux outils pour la construction d\u2019applis orient\xe9es serveur vs. appli orient\xe9es client ?
Faire un crowdcast ou une crowdquestion
Contactez-nous via twitter https://twitter.com/lescastcodeurs
sur le groupe Google https://groups.google.com/group/lescastcodeurs
ou sur le site web https://lescastcodeurs.com/
Flattr-ez nous (dons) sur https://lescastcodeurs.com/
En savoir plus sur le sponsoring? sponsors@lescastcodeurs.com
\xa0