Erstellen Sie Ihre kompilierte Struktur oder Komponente mit Build4D

Mit der Einführung des Projektmodus und der Dateiaufteilung ist es ziemlich einfach, die Komponenten Ihrer Projekte zu manipulieren.

In den letzten Versionen haben wir mehrere Funktionen hinzugefügt, mit denen Sie Ihre eigene Build-Chain erstellen können, die an Ihr Team, Ihre Arbeitsmethoden und Ihre Bedürfnisse angepasst ist.

Zum Beispiel:

 

Um Ihnen zu helfen, Ihre eigene Build Chain zu erstellen oder 4D in ein Continuous Integration Tool zu integrieren, haben wir eine Komponente namens Build4D entwickelt, die auf GitHub mit verfügbar ist.

Für diesen ersten Schritt erlaubt Build4D die Erstellung einer kompilierten Struktur und einer Komponente. Wir werden die Komponente weiter ausbauen, um Ihnen die Verwaltung einer Einzelplatz-, Client- oder Serveranwendung zu ermöglichen.

Was ist kontinuierliche Integration (CI)?

Kontinuierliche Integration ist eine Praxis, die die Integration von Codeänderungen durch ein Entwicklungsteam automatisiert. Die Codequellen befinden sich auf einem Versionskontrollserver. Jedes Mal, wenn ein Entwickler seinen Code in das Repository einspeist, werden automatisch eine Syntaxprüfung, eine Kompilierung und Unit-Tests gestartet.

Neue Komponente: Build4D

Sie können diese neue Komponente von GitHub beziehen. Sie besteht aus drei Klassen:

  • CompiledProject
  • Komponente
  • Kern

 

Die Klasse _core ist die Basisklasse. Sie enthält alle notwendigen elementaren Operationen, wie das Kompilieren, das Erstellen der Projektstruktur und das Erstellen einer 4dz, …

Die beiden Klassen CompiledProject und Component basieren dann auf der _core-Klasse. Sie erlauben es, ein kompiliertes Projekt bzw. eine Komponente zu erstellen.

Kompilierte Strukturklasse

Hier ist ein Beispiel für die Erstellung einer kompilierten Struktur mit integrierten Ressourcen- und Dokumentationsordnern:


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

Und das Ergebnis:

Finder dialog to show the structure file

Komponentenklasse

Hier ist ein Beispiel für die Erstellung einer Komponente mit der Integration der Dokumentation und der Unterdrückung eines Ordners „Resources/Dev“ nur für die Entwicklung:

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

Weiter…

Vergessen Sie nicht, diese Komponente auf Github zu bookmarken, indem Sie auf den „Stern“ klicken, oder die Entwicklung dieser Komponente zu verfolgen, indem Sie auf „watch“ klicken. In diesem Blog finden Sie einen Überblick über die spannenden Funktionen von Github, um das Repository von 4D zu sehen und zu verfolgen.

Vanessa Talbot
Product Owner - Vanessa Talbot kam im Juni 2014 zum 4D Programmteam. Als Product Owner ist sie für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen zuständig. Ihre Aufgabe ist es auch, sicherzustellen, dass die Implementierung der Funktionen den Anforderungen des Kunden entspricht. Seit ihrer Ankunft hat sie an der Definition der wichtigsten Funktionen in 4D gearbeitet. Sie hat an den meisten der neuen Funktionen für präemptives Multi-Threading gearbeitet und auch an einem sehr komplexen Thema: der neuen Architektur für erstellte Anwendungen. Vanessa hat einen Abschluss von der Telecom Saint-Etienne. Sie begann ihre Karriere am Criminal Research Institute als Entwicklerin für die audiovisuelle Abteilung. Sie hat auch in den Bereichen Medien und Medizin als Expertin für technischen Support, Produktion und die Dokumentation neuer Funktionen gearbeitet.