Skip to content

Latest commit

 

History

History
71 lines (60 loc) · 2.5 KB

build.adoc

File metadata and controls

71 lines (60 loc) · 2.5 KB

Construction d’un projet

Implémentation et distribution

  • Pour la plupart des langages, plusieurs implémentations sont disponibles

    • certaines sont généralistes

    • d’autres sont spécialisées pour un type particulier de situation

  • De même, pour plus de simplicité d’usage, les langages sont proposées sous la forme d’une distribution

  • Une distribution va regrouper une implémentation du langage avec les bibliothèques standards ainsi que des outils de développement

Table 1. Implémentations par langage
Java Python

HotSpot (OpenJdk), OpenJ9 (Eclipse), GraalVM

CPython, Jython, IronPython, PyPy

Table 2. Distributions par langage
Java Python

OpenJdk/ AdoptOpenJDK, Oracle Java SE, Microsoft Build of OpenJDK

Distribution de référence, Anaconda

Automatisation du build ([wikipedia w])

  • La gestion de la compilation (\emph{Build automation}) consiste à automatiser les tâches répétitives des développeurs

    • compilation (mode normal, mode débogage, \dots)

    • génération de la version de distribution

    • génération de la documentation et des notes de version

    • lancement des tests

    • déploiement

  • Ces tâches sont alors réalisées plus efficacement et moins sujettes aux erreurs

    • évite les fastidieuses lignes de commande

    • permet une compilation \og intelligente\fg{}

    • rend le processus reproductible

  • Peut être déclenché

    à la demande

    l’utilisateur exécute un script

    par un ordonnanceur

    exécuté à un instant donné

    par un événement

    provoqué par un événement particulier

Table 3. Outils de build par langage
Java/Scala C/C++ Autres

Gradle, Maven, Ant, sbt

Make, CMake

Rake, Waf, SCons