Construire une version
L'écran de build compile votre application, la construit et prépare tout ce qu'une livraison doit contenir. Toutes les questions sont posées avant de commencer ; ensuite le build va jusqu'au bout sans interruption et journalise chaque étape. Vous pouvez donc le lancer et vous occuper d'autre chose.
L'ouvrir
Exécutez la méthode BSPK_BUILD. L'écran s'ouvre dans sa propre fenêtre.
- Le projet doit être interprété : on ne compile pas une application déjà compilée. Que le composant, lui, soit compilé ne gêne pas.
- L'écran détecte seul s'il construit votre application ou le composant.
- Les réglages de build sont ceux de 4D (Développement > Construire l'application). Si votre projet n'en a pas encore, un fichier minimal est créé : relisez-le dans ce dialogue de 4D.
- Le dossier de sortie est celui de ces réglages. S'il n'est pas défini, l'écran vous le demande ; le bouton Choisir… permet d'en changer.
L'écran
- La version, sous la forme
v<4D>.<majeure>.<mineure>(par exemplev21R.16.3). Le premier segment suit la version de 4D. Les boutons +/− font monter la majeure (la mineure repart à 0) ou la mineure, jamais en dessous de la version trouvée à l'ouverture. Rien n'est écrit avant de cliquer sur Construire. - Créer les branches Git de version : proposé seulement si votre projet est dans un dépôt git, coché par défaut. Voir plus bas.
- Produire l'archive ZIP : coché par défaut.
- Notariser auprès d'Apple : sous macOS seulement.
À l'ouverture, l'écran vérifie la version, le dossier de sortie et le dépôt git. Si la branche de la version est déjà prise, il fait monter la mineure jusqu'à la première libre et le signale en jaune.
Les étapes
- Version : le nouveau numéro est écrit dans votre méthode
BSPH_VERSION_UPDATES, sur les lignes$vl_DeliveryVersion:=(majeure) et$vl_InternalVersion:=(mineure). Tout ce qui suit sur ces lignes est remplacé : n'y mettez pas de commentaire. - Instantané : l'instantané d'échange du contenu est rafraîchi (sur un poste de développement).
- Compilation, puis construction avec les réglages de 4D. En cas d'échec, le journal donne la cause probable.
- Copie des dossiers
BWEBetResourcesdans l'application construite. Les certificats SSL (cert.pem,key.pem) ne sont pas livrés. - Contenu : le paquet de contenu de la version est déposé dans
Resources/exchange/work/content-<version>/, pour être appliqué au démarrage de la version livrée (voir La réconciliation du contenu). Si ce paquet ne peut pas être produit, le build s'arrête : aucune livraison sans son contenu. - Composant : il n'est pas embarqué dans l'application (voir ci-dessous).
- Nettoyage :
APP_PARAMETERS,PREPROD_PARAMETERSetDEV_PARAMETERS*sont retirés ;WEB_PARAMETERSest conservé. Voir Les fichiers de paramètres. - Archive : un zip
<Application>_<version>.zip, à côté de l'application, qui contient l'application, l'outil de mise à jour et ses lanceurs (MISE-A-JOUR.cmd,UPDATE.cmd, et leurs équivalents macOS), et un fichier LISEZ-MOI. - Git, si la case est cochée.
Ces étapes valent pour l'application monoposte (Compiled Database) et pour le serveur (Client Server executable). Pendant le build, la tâche planifiée qui tient l'instantané à jour est suspendue.
Le composant dans la version livrée
- Si votre projet déclare le composant comme dépendance GitHub (voir Installer BWEB), rien à faire : 4D le télécharge au premier démarrage de la version livrée.
- Sinon, le build prépare un dossier
composant/et un fichierenvironment4d.jsonqui y renvoie : déposez-y le composant à la main, sous le nom indiqué dans le LISEZMOI. Sans lui, l'application ne démarre pas.
Git
- Les modifications en attente dans votre dépôt sont toutes ajoutées (
git add .) et commitées sous le message « version <v> » sur la branche courante. - Une branche
<v>est créée et poussée, puis le dépôt revient sur la branche de départ. - L'application compilée est poussée sur une branche
<v>Cdu même dépôt distant. Il faut donc un dépôt distant ; si le dossier de sortie est lui-même dans un dépôt git, rien n'est poussé. - En cas d'échec, les boutons Réessayer Git et Ouvrir un terminal apparaissent. Un dossier synchronisé (Dropbox, OneDrive) peut verrouiller
.git: le journal le signale.
Sous macOS
Le build produit aussi une image disque et, si la case est cochée, la signe et la fait notariser par Apple. Prérequis : les outils Xcode en ligne de commande, un certificat de signature déclaré dans les réglages de build, et un profil de trousseau nommé notary_cred portant vos identifiants Apple. La notarisation peut prendre plusieurs minutes.
La chaîne macOS n'a pas encore été validée pour une application hôte : testez-la avant de l'utiliser pour une livraison.
Bon à savoir
- La version livrée n'a ni fichier de paramètres ni certificat : au premier démarrage d'un nouveau serveur, 4D demande
APP_PARAMETERS, et les certificats se posent à la main. - Seules l'application monoposte et l'application serveur sont préparées ; l'application cliente et l'« application finale » de 4D ne le sont pas.

