Costruire la struttura o il componente compilato con Build4D

Tradotto automaticamente da Deepl

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:

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:

Finder dialog to show the structure file

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à!

blank

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.

Vanessa Talbot
- Product Owner - Vanessa Talbot è entrata a far parte del team di 4D Program nel giugno 2014. In qualità di Product Owner, è incaricata di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente. Ha lavorato sulla maggior parte delle nuove funzionalità di multi-threading preemptive e anche su un argomento molto complesso: la nuova architettura per le applicazioni con motore. Vanessa si è laureata presso Telecom Saint-Etienne. Ha iniziato la sua carriera presso il Criminal Research Institute come sviluppatrice per il dipartimento audiovisivo. Ha lavorato anche nei settori dei media e della medicina come esperta di supporto tecnico, produzione e documentazione di nuove funzionalità.