|
|
|
|
|
- Présentation
- Principe
- Qu'est-ce qu'un patch ?
- Fonctionnement des patchs
- Limitations
- Re-création d'un exécutable
- Patchs et branches du GDS
Lorsqu'une application est installée, chaque modification nécessite normalement la réinstallation au moins de la bibliothèque de l'application (fichier WDL). Cette manipulation peut être pénalisante par exemple : - lorsque la modification ne concerne qu'une seule fenêtre sur les 500 fenêtres de l'application.
- lors de mises à jour de l'application par Internet, en raison de la taille de la bibliothèque.
Il est possible de livrer des ressources complémentaires (fenêtres, états, etc.) sous forme de patch. Ces patchs sont en fait des bibliothèques additives. Si l'exécutable a été créé avec l'option "L'exécutable prendra en compte les mises à jour par patch", lors du lancement de l'application, les éléments présents dans le patch se substitueront aux éléments présents dans la bibliothèque de l'application. Qu'est-ce qu'un patch ? Un patch est une bibliothèque annexe qui contient les éléments qui vont remplacer les éléments de la bibliothèque d'origine. Un patch ne contient pas nécessairement tous les éléments de la WDL d'origine : seuls les éléments modifiés sont nécessaires. Le nom des fichiers de patchs respecte le format suivant : <Nom>.<WDL>.NNN (exemple : Application.WDL.001, Application.WDL.002, ...). Fonctionnement des patchs Un patch est automatiquement chargé lors du chargement de la bibliothèque (fichier WDL) ou de l'exécutable incluant la bibliothèque. Il faut pour cela que le fichier physique correspondant au patch ait le même nom (hors extension) que le fichier correspondant à la bibliothèque. Ainsi la bibliothèque <Nom>.WDL accepte les patchs du genre <Nom>.WDL.001. L'exécutable <Nom>.EXE avec WDL intégrée accepte les patchs du genre <Nom>.WDL.001. Si la bibliothèque ou l'exécutable n'a pas le même nom que le projet, il est nécessaire de modifier le nom physique du patch (sans toucher à l'extension). Remarque : Par défaut, l'historique des patch est inclus dans le dernier patch réalisé. Seul le dernier patch est nécessaire. Si le patch contient uniquement les dernières corrections effectuées, il est nécessaire de conserver tous les patchs générés à côté de l'exécutable. Il seront tous chargé lors de l'exécution du projet. Limitations Les modifications suivantes ne peuvent pas être prises en compte dans un patch et nécessitent une mise à jour complète de l'application : - renommage d'un élément du projet,
- ajout ou suppression d'un membre dans une classe ou une structure,
- ajout ou suppression d'une valeur dans une énumération,
- ajout ou suppression d'une option dans une combinaison,
- ajout ou suppression d'une propriété ou d'une procédure dans une interface,
- modification d'un alias de type.
Re-création d'un exécutable Lorsque l'exécutable est recréé (ou la WDL complète), les patchs créés pour les versions précédentes sont ignorés. Exemple : | | Création de l'exécutable version 1 qui contient les fenêtres "Fenêtre1" et "Fenêtre2". | Nom du fichier : <NomProjet>.EXE | Création d'un patch 001 corrigeant la fenêtre "Fenêtre1".
Lors de l'exécution de l'application, la fenêtre "Fenêtre1" du patch sera prise en compte. | Nom du fichier : <NomProjet>.WDL.001 | Création d'un patch 002 corrigeant la fenêtre "Fenêtre1" et la "Fenêtre2".
Lors de l'exécution de l'application, les fenêtres "Fenêtre1" et "Fenêtre2" du patch seront prises en compte. | Nom du fichier : <NomProjet>.WDL.002 | Création de l'exécutable version 2 qui contient les fenêtres "Fenêtre1" et "Fenêtre2".
Cet exécutable ne prend pas en compte les deux patchs précédents. Ces patchs peuvent être supprimés du répertoire d'installation de l'application (aucune suppression automatique n'est effectuée). | Nom du fichier : <NomProjet>.EXE | Création d'un patch 003 corrigeant la fenêtre "Fenêtre1".
Lors de l'exécution de l'application, la fenêtre "Fenêtre1" du patch 003 sera prise en compte. | Nom du fichier : <NomProjet>.WDL.003 |
Patchs et branches du GDS Il est possible de créer des patchs à partir d'une branche présente dans le GDS. Il est recommandé de ne pas mélanger les patchs réalisés dans une branche avec ceux de la version principale. Pour reporter une modification effectuée dans la version principale, le report doit être réalisé dans les sources de la branche puis le patch doit être généré depuis la branche.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|