Concrètement, le projet est divisé en plusieurs morceaux : build2 pour le système de compilation, bpkg pour le gestionnaire de paquets et brep pour l’interface Web. Ce dernier est déjà à l’œuvre sur cppget.org, que les développeurs espèrent voir devenir la plateforme de référence pour les bibliothèques C++ (même s’il ne contient, à ce jour, que quelques paquets, tous issus de Build2).
bpkg est le point central pour tout utilisateur : il sert à créer un nouveau projet, à ajouter des dépôts pour la gestion des dépendances, puis à la compilation et à la gestion de la mise à jour de ces dépendances. Ensuite, le pilote b s’occupe de la compilation de tout projet C++, une fois les dépendances installées. Ainsi, la manière la plus courante de l’utiliser est d’utiliser ces commandes, de la création du projet à sa compilation, en passant par les dépendances :
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | $ bpkg create cxx config.cxx=clang++ created new configuration in ./ $ bpkg add https://pkg.cppget.org/1/alpha added repository cppget.org/alpha $ bpkg fetch fetching cppget.org/alpha fetching cppget.org/beta (complements cppget.org/alpha) [...] 10 package(s) in 4 repository(s) $ bpkg build bpkg build libbutl 0.2.0 (required by bpkg libbpkg) build libbpkg 0.2.0 (required by bpkg) build bpkg 0.2.0 continue? [Y/n] y [...] bpkg-0.2.0.tar.gz 100% of 144 kB 130 kBps 00m01s fetched bpkg 0.2.0 unpacked bpkg 0.2.0 configured bpkg 0.2.0 c++ bpkg-0.2.0/bpkg/cxx{bpkg} [...] ld bpkg-0.2.0/bpkg/exe{bpkg} $ b -v g++-5 -I/tmp/hello-gcc5-release/libhello-1.0.0+1 -O3 -std=c++11 -o hello.o -c ../hello2/hello.cpp g++-5 -O3 -std=c++11 -o hello hello.o /tmp/hello-gcc5-release/libhello-1.0.0+1/hello/libhello.so |
Pour le moment, le projet est décrit comme une préversion technologique, rien n’est véritablement fixé dans le marbre. Il est porté par la société Code Synthesis, qui ne s’oriente pas complètement autour de ce gestionnaire de dépendances : contrairement au prédécesseur de Conan, Biicode, la viabilité de ce nouvel écosystème ne dépendra pas uniquement du modèle économique développé pour lui, ce qui pourrait en augmenter les chances de survie.
Site de Build2.
Ce contenu a été publié dans C++ par dourouc05.