Générer Dynamo à partir de la source
Last updated
Last updated
La source de Dynamo est hébergée sur Github pour que tout le monde puisse la cloner et y apporter sa contribution. Dans ce chapitre, nous verrons comment cloner le dépôt à l’aide de git, compiler les fichiers sources avec Visual Studio, exécuter et déboguer une génération locale, et extraire toutes les nouvelles modifications de Github.
Github est un service d’hébergement basé sur git, un système de contrôle de version permettant de suivre les modifications et de coordonner le travail entre les personnes. Git est un outil que nous pouvons utiliser pour télécharger les fichiers sources de Dynamo, et les maintenir à jour avec quelques commandes. L’utilisation de cette méthode permet d’éviter le travail fastidieux et inutile consistant à télécharger et à remplacer manuellement les fichiers sources à chaque mise à jour. Le système de contrôle de version git suit toutes les différences entre un dépôt de code local et un dépôt de code distant.
La source de Dynamo est hébergée sur Github DynamoDS dans ce dépôt : https://github.com/DynamoDS/Dynamo
Les fichiers source de Dynamo.
Cloner ou télécharger l’intégralité du dépôt
Afficher d’autres dépôts DynamoDS
Fichiers source de Dynamo
Fichiers spécifiques à Git
Avant de pouvoir cloner le dépôt, nous devons installer git. Suivez ce petit guide pour connaître les étapes de l’installation, et savoir comment configurer un nom d’utilisateur et une adresse email gihub. Pour cet exemple, nous utiliserons git en ligne de commande. Ce guide part du principe que vous utilisez Windows, mais vous pouvez également utiliser git sur mac ou linux pour cloner la source de dynamo.
Nous avons besoin d’une URL pour le dépôt Dynamo à cloner. Celle-ci se trouve en cliquant sur le bouton « Cloner ou télécharger » sur la page du dépôt. Copiez l’URL pour la coller dans l’invite de commande.
Sélectionnez « Cloner ou télécharger »
Copiez l’URL
Une fois git installé, nous pouvons cloner le dépôt Dynamo. Commencez par ouvrir l’invite de commande. Utilisez ensuite la commande de changement de répertoire cd
pour naviguer jusqu’au dossier dans lequel les fichiers sources doivent être clonés. Dans ce cas, nous avons créé un dossier appelé Github
dans Documents
.
cd C:\Users\username\Documents\GitHub
Remplacez « username » par votre nom d’utilisateur
Dans l’étape suivante, nous allons lancer une commande git pour cloner le dépôt Dynamo à l’emplacement que nous avons spécifié. L’URL de la commande est obtenue en cliquant sur le bouton « Cloner ou télécharger » sur Github. Exécutez cette commande dans le terminal de commande. Notez que cela clonera la branche master du dépôt Dynamo qui est le code le plus à jour de Dynamo, et contiendra la dernière version du code de Dynamo. Cette branche change quotidiennement.
git clone https://github.com/DynamoDS/Dynamo.git
Nous savons que git fonctionne si l’opération de clonage s’est terminée avec succès. Dans l’explorateur de fichiers, naviguez jusqu’au répertoire où vous avez cloné pour voir les fichiers sources. La structure du répertoire doit être identique à la branche master du dépôt Dynamo sur Github.
Fichiers source de Dynamo
Fichiers Git
Les fichiers sources étant maintenant clonés sur notre machine locale, nous pouvons générer un fichier exécutable pour Dynamo. Pour ce faire, nous devons configurer l’IDE Visual Studio et nous assurer que le .NET Framework et DirectX sont installés.
Téléchargez et installez Microsoft Visual Studio Community 2015, un IDE (environnement de développement intégré) gratuit et complet (les versions ultérieures peuvent également fonctionner).
Téléchargez et installez Microsoft .NET Framework 4.5 ou une version ultérieure.
Installez Microsoft DirectX à partir du dépôt local Dynamo (Dynamo\tools\install\Extra\DirectX\DXSETUP.exe
).
.NET et DirectX peuvent être déjà installés.
Une fois l’installation terminée, nous pouvons lancer Visual Studio et ouvrir la solution Dynamo.All.sln
située dans Dynamo\src
.
Sélectionnez
File > Open > Project/Solution
Naviguez jusqu’au dépôt Dynamo et ouvrez le dossier
src
Sélectionnez le fichier solution
Dynamo.All.sln
Sélectionnez
Open
Avant de pouvoir générer la solution, vous devez spécifier quelques paramètres. Nous devrions d’abord générer une version de débogage de Dynamo afin que Visual Studio puisse recueillir plus d’informations pendant le débogage pour nous aider à développer, et nous voulons cibler AnyCPU.
Ils deviendront des dossiers dans le dossier
bin
Dans cet exemple, nous avons choisi
Debug
comme configuration de la solutionDéfinissez la plateforme de solution sur
Any CPU
Une fois le projet ouvert, nous pouvons générer la solution. Ce processus créera un fichier DynamoSandbox.exe que vous pouvez exécuter.
La génération du projet restaurera les dépendances NuGet.
Sélectionnez
Build > Build Solution
Vérifiez que la génération a réussi dans la fenêtre de sortie, elle devrait ressembler à
==== Build: 69 succeeded, 0 failed, 0 up-to-date, 0 skipped ====
Si Dynamo est généré correctement, un dossier bin
est créé dans le dépôt Dynamo avec le fichier DynamoSandbox.exe. Dans notre cas, nous générons avec l’option Debug, donc le fichier exécutable est situé dans bin\AnyCPU\Debug
. L’exécution de cette commande ouvrira une version locale de Dynamo.
L’exécutable DynamoSandbox que nous venons de générer. Exécutez cette commande pour démarrer Dynamo.
Nous sommes maintenant presque prêts à commencer à développer pour Dynamo.
Pour des instructions sur la génération de Dynamo pour d’autres plate-formes (par exemple Linux ou OS X), visitez cette page wiki.
Le débogage est un processus qui permet d’identifier, d’isoler et de corriger un bogue ou un problème. Une fois que Dynamo a été généré à partir de la source, nous pouvons utiliser plusieurs outils dans Visual Studio pour déboguer une application en cours d’exécution, le complément DynamoRevit par exemple. Nous pouvons analyser son code source pour trouver l’origine d’un problème, ou observer le code en cours d’exécution. Pour une explication plus détaillée sur la manière de déboguer et de parcourir le code dans Visual Studio, reportez-vous à la documentation de Visual Studio.
Pour l’application Dynamo autonome, DynamoSandbox, nous allons couvrir deux options de débogage :
générer et démarrer Dynamo directement à partir de Visual Studio ;
associer Visual Studio à un processus en cours d’exécution de Dynamo.
Démarrer Dynamo à partir de Visual Studio génère à nouveau la solution pour chaque session de débogage si nécessaire, donc si nous avons fait des changements à la source, ils seront incorporés lors du débogage. La solution Dynamo.All.sln
étant toujours ouverte, sélectionnez Debug
, AnyCPU
et DynamoSandbox
dans les menus déroulants, puis cliquez sur Start
. Cela va générer Dynamo et démarrer un nouveau processus (DynamoSandbox.exe), et y attacher le débogueur de Visual Studio.
Générer et démarrer une application à partir de Visual Studio
Définissez la configuration sur
Debug
Définissez la plate-forme sur
Any CPU
Définissez le projet de démarrage sur
DynamoSandbox
Cliquez sur
Start
pour commencer le processus de débogage
Il est également possible de déboguer un processus Dynamo déjà en cours d’exécution pour résoudre un problème lié à un graphique ouvert ou à un package spécifique. Pour ce faire, nous devons ouvrir les fichiers sources du projet dans Visual Studio et nous attacher à un processus Dynamo en cours d’exécution en utilisant l’élément de menu de débogage Attach to Process
.
Attacher un processus en cours d’exécution à Visual Studio
Sélectionnez
Debug > Attach to Process...
Choisissez
DynamoSandbox.exe
Sélectionnez
Attach
Dans les deux cas, nous attachons le débogueur à un processus que nous souhaitons déboguer. Nous pouvons définir des points d’arrêt dans le code avant ou après le démarrage du débogueur, ce qui entraînera une pause du processus immédiatement avant l’exécution de cette ligne de code. Si une exception non interceptée est levée lors du débogage, Visual Studio accède à l’emplacement où elle s’est produite dans le code source. Cette méthode est efficace pour rechercher des blocages simples, des exceptions non gérées et pour comprendre le flux d’exécution d’une application.
Lors du débogage de DynamoSandbox, nous avons placé un point d’arrêt dans le constructeur du nœud Color.ByARGB qui provoque une pause dans le processus Dynamo lorsque le nœud est instancié. Si ce nœud lance une exception ou provoque le blocage de Dynamo, nous pouvons parcourir chaque ligne du constructeur pour déterminer où le problème se produit.
Le point d’arrêt
La pile d’appels montre la fonction en cours d’exécution et les appels de fonction précédents
Dans la section suivante, Générer DynamoRevit à partir de la source, nous aborderons un exemple spécifique de débogage et expliquerons comment définir des points d’arrêt, parcourir le code et lire la pile d’appels.
Puisque la source de Dynamo est hébergée sur Github, la façon la plus simple de garder les fichiers source locaux à jour est de tirer les changements en utilisant les commandes git.
En utilisant la ligne de commande, définissez le répertoire courant du dépôt Dynamo :
cd C:\Users\username\Documents\GitHub\Dynamo
Remplacez
"username"
par votre nom d’utilisateur
Utilisez la commande suivante pour tirer les dernières modifications :
git pull origin master
Nous pouvons voir ici que le dépôt local a été mis à jour avec les modifications apportées par le dépôt distant.
En plus de tirer des mises à jour, il y a quatre autres flux de travail git avec lesquels il faut se familiariser.
Dupliquer le dépôt Dynamo permet de créer une copie séparée de l’original. Tout changement effectué ici n’affectera pas le dépôt original et les mises à jour peuvent être récupérées ou soumises avec des demandes de tirage. Dupliquer n’est pas une commande git, mais un flux de travail que github ajoute. Le modèle de duplication et de tirage est l’un des flux de travail les plus courants pour contribuer à des projets open source en ligne. Cela vaut la peine de l’apprendre si vous voulez contribuer à Dynamo.
Une branche permet de travailler sur des expériences ou de nouvelles fonctionnalités isolées des autres travaux dans les branches. Cela facilite l’envoi de demandes de tirage.
Effectuez des commits fréquemment, après avoir terminé une unité de travail et après une modification qui pourrait être annulée. Un commit enregistre les changements dans le dépôt et sera visible lors d’une demande de tirage dans le dépôt principal de Dynamo.
Créez des demandes de tirage lorsque les changements sont prêts à être officiellement proposés au dépôt principal de Dynamo.
L’équipe Dynamo a des instructions spécifiques sur la création de demandes de tirage. Reportez-vous à la section Demandes de tirage de cette documentation pour obtenir des informations plus détaillées sur les éléments à traiter.
Reportez-vous à cette page de documentation pour obtenir une liste de référence des commandes git.