Con l’introduzione della modalità progetto e della suddivisione dei file, è piuttosto facile manipolare i componenti dei progetti.
Nelle ultime release abbiamo aggiunto diverse funzionalità che consentono di creare una catena di compilazione personalizzata, adatta al proprio team, ai propri metodi di lavoro e alle proprie esigenze.
Ad esempio:
- Avviare una compilazione per programmazione,
- Zip/unzip di file e cartelle con questi comandi,
- Gestire facilmente le informazioni dell’applicazione,
- applicazioni Headless 4D per integrarle in uno strumento di compilazione.
Per aiutarvi a creare la vostra catena di compilazione o a integrare 4D in uno strumento di integrazione continua, abbiamo sviluppato un componente chiamato Build4D, disponibile su GitHub con i sorgenti.
Per questo primo passo, Build4D consente di creare una struttura compilata e un componente. Continueremo ad arricchirlo per consentirvi di gestire un’applicazione a utente singolo, un’applicazione client o un’applicazione server.
Cos’è l’integrazione continua (CI)
L’integrazione continua è una pratica che automatizza l’integrazione delle modifiche al codice da parte di un team di sviluppo. Le fonti di codice si trovano su un server di controllo sorgente. Ogni volta che uno sviluppatore inserisce il suo codice nel repository, vengono automaticamente avviati un controllo della sintassi, una compilazione e test unitari.
Nuovo componente: Build4D
È possibile ottenere questo nuovo componente da GitHub. È composto da tre classi:
- Progetto compilato
- Componente
- _core
La classe _core è la classe base. Contiene tutte le operazioni elementari necessarie, come la compilazione, la creazione della struttura del progetto, la creazione di un 4dz, …
Le due classi CompiledProject e Component sono basate sulla classe _core. Esse consentono rispettivamente di creare un progetto compilato e un componente.
Classe Struttura compilata
Ecco un esempio di creazione di una struttura compilata con cartelle di risorse e documentazione integrate:
var $build new$settings
$success$buildbuild: cs.Build4D.CompiledProject
var $settings : Object
var $success : Boolean
$settings :=New object()
$settings .destinationFolder:= "Test/"
$settings .buildName:= "myProject"
$settings .includePaths:=New collection
$settings .includePaths.push(New object("source"; "Resources/"))
$build :=cs.Build4D.CompiledProject. xml-ph-0034@deep
E il risultato:
Classe componente
Ecco un esempio di creazione di un componente con l’integrazione della documentazione e la soppressione di una cartella “Resources/Dev” solo per lo sviluppo:
var $build : cs.Build4D.Component
var $settings : Object
var $success : Boolean
$settings :=New object()
$settings .destinationFolder:="Test/"
$settings .buildName:="myComponent"
$settings .
includePaths:=New collection
$settings.
includePaths.push(New object("source"; "Documentation/"))
$settings .deletePaths:=New collection
$settings .deletePaths.push("Resources/Dev/")
$build :=cs.Build4D.Component.new($settings)
$success :=$build.build()
Voilà!
Il prossimo…
Su Github, non dimenticate di mettere tra i preferiti questo componente cliccando sulla “stella” o di seguirne le evoluzioni cliccando su “watch”. In questo blog potete trovare una panoramica delle interessanti funzionalità di Github per vedere e seguire il repository di 4D.