# Gradle / Groovy pour C++

**URL:** <https://www.debian-fr.org/t/gradle-groovy-pour-c/52675>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 11:28 UTC](https://www.debian-fr.org/t/gradle-groovy-pour-c/52675 "2016-02-21T11:28:15Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![valrik](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/v/db5fbb/32.png) [@valrik](https://www.debian-fr.org/u/valrik)\
**Post date:** [Février 21, 2016, 11:28 UTC](https://www.debian-fr.org/t/gradle-groovy-pour-c/52675/1 "2016-02-21T11:28:15Z")

</div>

Gradle / Groovy est un projet de build dédié à Java et  
Scala. Néanmoins, on peut lui adjoindre des plugins aferants à d’autres  
langages.

C++ a le sien.

Je souhaiterais savoir si il y avais des utilisateurs et s’il était  
intéressant d’abandonner make au profit de ce tout jeune projet.

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 11:28 UTC](https://www.debian-fr.org/t/gradle-groovy-pour-c/52675/2 "2016-02-21T11:28:17Z")

</div>

AMHA, ce n’est pas vraiment une solution très intéressante.

Ce qui est intéressant avec groovy c’est sa capacité à intégrer dans son DSL du scripting pour avoir un build « propre ». Mais la dépendance à Java est un peu trop contraignante pour un projet en C++.

Si tu n’a pas besoin de cet aspect scripting CMake peut être une bonne solution. Si tu as vraiment besoin de scripting scons peut être une bonne solution (là c’est du python).

Si tu cherche à avoir un make amélioré, je te conseil :  
[ul]  
[li]d’une part de te renseigner sur make (il possède beaucoup de fonctionnalités intéressantes par exemple on peut s’en service sans makefile)[/li]  
[li]regarder du coté de omake[/li][/ul]

Enfin il y en a un de pas très connu mais que j’aime bien gprbuild, qui est déclaratif.

Un petit éventail peut se trouver ici (les commentaires sont très enrichissants) :  
[linuxfr.org/news/petit-%C3%A9ve … der-libres](https://linuxfr.org/news/petit-%C3%A9ventail-des-outils-de-construction-builder-libres)

---

<div class="post-metadata">

**Author:** ![valrik](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/v/db5fbb/32.png) [@valrik](https://www.debian-fr.org/u/valrik)\
**Post date:** [Février 21, 2016, 11:28 UTC](https://www.debian-fr.org/t/gradle-groovy-pour-c/52675/3 "2016-02-21T11:28:22Z")

</div>

Merci pour ta réponse et j’ai bien lu le lien :  
[  
linuxfr.org/news/petit-%C3%A9ve … der-libres  
 ](https://linuxfr.org/news/petit-%C3%A9ventail-des-outils-de-construction-builder-libres)

Scons a l’air d’être intéressant, mais parmi les inconvénients il y  
a :

> [@](#):
>
> relativement complexe à prendre en main, et plutôt bas niveau

Je n’ai jamais pratiqué le langage python et donc cela fait deux  
difficultés à surmonter. La question que je me pose, c’est s’il est  
difficile pour un utilisateur moyen de C/C++ d’aborder Python?

Python est un langage qui m’intéresse, vu sa popularité. Ce serait  
donc un bon prétexte pour m’y attaquer.

Il y a aussi un dérivé, appelé Waf, censé remédier aux problèmes  
historiques de Scons. Quelqu’un a-t-il un avis là dessus?

Il y a aussi CMake, mais considérez vous les critiques suivantes :

> [@](#):
>
> un langage de script relativement pauvre comparé à python ou lua  
> documentation éparse

comme toujours d’actualité?

Pour moi, la documentation est fondamentale…

Mais peut-être faudrait-il partir de mes besoins immédiats. Je suis  
sur le projet de construction d’un site web dynamique à base de  
programmes CGI codés en C++.

Donc, le moteur de production devra savoir gérer des fichiers aussi  
divers que HTML, CSS, CPP, XML (et ses avatars, XLT par exemple), un  
peu d’audio-vidéo… Le tout avec des noms de domaines différents,  
pour, entre autres, les essais et les tests.

Une troupe assez hétéroclite donc…

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 11:28 UTC](https://www.debian-fr.org/t/gradle-groovy-pour-c/52675/4 "2016-02-21T11:28:22Z")

</div>

[quote=«&nbsp;valrik&nbsp;»]Mais peut-être faudrait-il partir de mes besoins immédiats. Je suis  
sur le projet de construction d’un site web dynamique à base de  
programmes CGI codés en C++.

Donc, le moteur de production devra savoir gérer des fichiers aussi  
divers que HTML, CSS, CPP, XML (et ses avatars, XLT par exemple), un  
peu d’audio-vidéo… Le tout avec des noms de domaines différents,  
pour, entre autres, les essais et les tests.

Une troupe assez hétéroclite donc…[/quote]  
C’est en effet de ça qu’il faut partir.

Les points qui me semblent importants à prendre en compte sont ça :

> [@valrik](#):
>
> Le tout avec des noms de domaines différents, pour, entre autres, les essais et les tests.

Il est possible que tu es à retoucher à des fichiers de configuration pour chacun de tes environnements.  
et ça

> [@valrik](#):
>
> des fichiers aussi divers que HTML, CSS, CPP, XML (et ses avatars, XLT par exemple), un peu d’audio-vidéo…

Il faudrait voir ce que tu cherche à en faire. Compiler du C++ ça c’est claire, as tu l’intention de faire de la conversion audio/video lors du build (mauvaise idée), d’appliquer des feuilles de styles XSLT, etc ?  
Dans les outils à prendre en compte je pense qu’il y a (o)make, scons/waf (pas testé waf, mais il a l’aire intéressant). CMake et gprbuild sont plutôt des outils déclaratifs ce qui permet d’avoir des builds très simples à géré mais qui font perdre en qualité.

Je ne vais pas pouvoir t’aider de plus, si ce n’est pour te dire que python est un langage simple à apprendre (les mauvaises langues diront qu’il est simpliste).

---

<div class="post-metadata">

**Author:** ![valrik](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/v/db5fbb/32.png) [@valrik](https://www.debian-fr.org/u/valrik)\
**Post date:** [Février 21, 2016, 11:28 UTC](https://www.debian-fr.org/t/gradle-groovy-pour-c/52675/5 "2016-02-21T11:28:24Z")

</div>

> [@](#):
>
> Je ne vais pas pouvoir t’aider de plus,…

C’est déjà beaucoup, merci!

Car j’y vois nettement plus clair. J’abandonne, avec un peu à regret,  
Gradle. Les support C++ existe, mais à un stade embryonnaire.

Et comme mon Python «&nbsp;me démange&nbsp;», je vais opter pour Scons ou Waf.

Par contre, Waf n’a pas de tutoriel (en tout cas, je n’en ai pas  
trouvé). Mais la documentation à l’air de tenir debout. En espérant  
que ce ne soit pas un projet qui va se crasher dans quelques année!

> [@](#):
>
> Il faudrait voir ce que tu cherche à en faire. Compiler du C++ ça  
> c’est claire, as tu l’intention de faire de la conversion audio/vidéo  
> lors du build (mauvaise idée), d’appliquer des feuilles de styles  
> XSLT, etc ?

En ce qui concerne la conversion audio/vidéo, ce sont les CGI qui s’en  
chargeront en ligne. En fait, il s’agit juste de coller des fichiers  
vidéos pour la déco.

Pour XSLT, l’implémentation est plus lointaine. L’idée est de générer  
un formulaire pré-rempli grâce à XSLT-FO.

Merci encore et je marque le fil comme résolu. 🙂
