Da qualche mese è disponibile su GitHub un nuovo componente di build4D. Permette di creare senza sforzo un progetto compilato o un componente. Le cose stanno migliorando ulteriormente: questa nuova versione del componente vi permetterà di generare un’applicazione a utente singolo, ampliando le possibilità del vostro flusso di lavoro di sviluppo.
Con tool4D disponibile dalla versione 20, l’integrazione del processo di generazione di applicazioni negli strumenti di CI (Continuous Integration) è diventata estremamente conveniente.
Approfondiamo i dettagli!
Cosa fa il componente?
Ecco un elenco non esaustivo di ciò che il componente consente di fare:
- compilare il progetto,
- unire il 4D Volume Desktop al progetto,
- aggiungere le informazioni dell’applicazione come il Copyright, la Società…,
- aggiungere l’icona,
- scegliere le cartelle da aggiungere, come Documentation, WebFolder, Default Data…,
- selezionare le cartelle da rimuovere, come la cartella Dev nelle Risorse,
- scegliere i moduli da rimuovere, come CEF, Mecab, php…,
- generare la licenza di distribuzione,
- e firmare l’applicazione.
Qual è la differenza con il comando Build application?
In entrambi i casi, è possibile generare un’applicazione monoutente perfettamente utilizzabile. Il comando Build Application è monolitico. Se si desidera personalizzare un file o aggiungere o rimuovere una cartella, è necessario farlo dopo aver creato l’applicazione. E per un’applicazione macOS, è necessario firmare nuovamente l’applicazione.
Il componente Build4D è composto da diverse classi e funzioni codificate in 4D. Quindi, se la vostra applicazione è molto particolare e diversa dalle altre. È possibile aggiungere facilmente una nuova funzione o migliorare quella esistente.
Come fare?
Il codice seguente è un esempio di generazione di un’applicazione standalone da un progetto esterno.
var $build : cs.Build4D.Standalone
(
var $settings : Object
var $success : Boolean
$settings :={}
// Define the external project file
$settings .projectFile:=Folder(fk documents folder).file("Contact/Project/Contact.4
folderDProject")
// Configure the application
$settings .buildName:="myApp"
$settings .destinationFolder:="Test/"
$settings .obfuscated:=True
$settings .packedProject:=False
$settings .useSDI:=False$settings .startElevated:=False
$settings .lastDataPathLookup:="ByAppPath"
// Define the 4D Volume Desktop path
$settings .sourceAppFolder:=Folder(fk documents folder). xml-ph-0034@deepl.internaapp")
// Specify the components required for compilation
$componentFolder :=Folder(fk documents folder).folder("4D v20.0/4D.app/Contents/Components")
$components :=[]
$components .push($componentFolder.file("4D WritePro Interface.4dbase/4D WritePro Interface.4DZ"))
$settings .compilerOptions:={components: $components}
// Delete the unnecessary module
$settings.excludeModules:=["CEF"; "MeCab"]
// Include the folders and files
$settings .includePaths:=[]
$settings .includePaths.push({source: $componentFolder.folder("4D WritePro Interface.4dbase").path; destination: "../Components/"})
$settings .includePaths.push({source: $componentFolder.folder("4D SVG.4dbase").path; destination: "../Components/"})
// Delete the folders and files
$settings .deletePaths:=[]
$settings .deletePaths.push("Resources/Dev/")
// Add the application icon
$settings .iconPath:="/RESOURCES/myIcon.icns"
// Add the application information
$settings .versioning:={}
$settings .versioning.version:="version"
$settings .versioning.copyright:="copyright"
$settings .versioning.companyName:="companyName"
$settings .versioning.fileDescription:="fileDescription"
$settings .versioning.internalName:="internalName"
// Create the deployment license file
$settings.license:=Folder(fk licenses folder).file("XXXXX.license4D")
// Sign the macOS appplication
$settings .signApplication:={}
$settings .signApplication.macSignature:=True
$settings .signApplication.macCertificate:="xxxxxx"
// Launch the build
$build:=cs.Build4D.Standalone.new($settings)
$success:=$build.build)
Per maggiori dettagli su ciascun attributo, leggere la documentazione di ciascuna classe di componenti.
Per le applicazioni macOS, per poterle distribuire, è necessario autenticarle. Per maggiori dettagli, consultare la documentazione di Apple.
Avanti…
Andare su GitHub per scaricare il componente “Build4D”. Inoltre, per rimanere informati su tutte le nuove funzionalità del componente, fate clic sul pulsante “Guarda” o inserite 4D Depot o Build 4D nei vostri preferiti. Se avete bisogno di aiuto, potete leggere questo post sul blog, che illustra in dettaglio tutte le organizzazioni 4D e come utilizzare tutte le funzionalità di Github.