Spuštění kompilace naprogramováním

Automaticky přeloženo z Deepl

V systémech kontinuální integrace se při každém odeslání kódu nebo každou hodinu automaticky spustí kompilace zdrojového kódu. Tento přístup umožňuje kontrolovat sloučení na serveru pro správu kódu.

Počínaje verzí 4D v19 umožňuje nový příkaz spustit kompilaci kódu, takže můžete tento typ systému nastavit.

Spuštění kompilace naprogramováním

Co je to kontinuální integrace?

Kontinuální integrace spočívá v tom, že při každé úpravě zdrojového kódu se kontroluje, zda výsledek úprav nezpůsobuje regrese ve vyvíjené aplikaci. Hlavním cílem je odhalit integrační problémy co nejdříve během vývoje.

Nový příkaz

Nový příkaz Compile Project umožňuje provést kompilaci:

  • aktuální projekt
  • jiný projekt než aktuální projekt

Pokud je kompilace úspěšná, vrátí příkaz stavový objekt s vlastností success. V opačném případě vrací stavový objekt se seznamem chyb.

Zkompilovat aktuální projekt

Kompilace aktuálního projektu s výchozím nastavením je velmi jednoduchá:

var $status : Object
$status :=Compile project(
)

Volby kompilace můžete také přepsat předáním objektu s novými hodnotami. Zde jsou možnosti, které můžete přepsat:

  • cíl kompilace
  • odvození typu
  • výchozí typ pro číslice nebo tlačítka
  • generovat symboly
  • generovat metody psaní
  • komponenty, které se použijí při kompilaci

Například při každém odeslání kódu na server pro správu zdrojů můžete spustit jednoduchou kontrolu syntaxe, abyste ověřili sloučený kód.

var $options; $status: Object
$options :=New object()
$options .targets:=New collection()
$status :=Compile project($options)

Pokud vaše aplikace používá komponenty, budete muset v objektu options předat seznam zkompilovaných komponent.

var $options; $status: Object
var $component : 4D.File
$options :=New object()
$options .components:=Folder("/PACKAGE/Components").files(fk recursive).query("extension = .4dz")
$status :=Compile project($options).

Zkompilujte jiný projekt

Je možné zkompilovat aplikaci z jiného projektu. Stačí příkazu předat soubor projektu:

var $file: 4D.File
$file :=Folder(fk documents folder).file("Databáze/myApp/Projekt/myApp.4DProject")
$status :=Compile project($file).

Správa chyb při kompilaci

Příkaz vrací stavový objekt, který informuje o tom, zda kompilace proběhla úspěšně, nebo ne. Pokud se kompilace nezdaří, vrátí 4D kolekci chybových hlášení, implikované metody a číslo řádku chyby.

Pak díky novému parametru příkazu METHOD OPEN PATH příkazu můžete otevřít metodu v editoru kódu a umístit kurzor na chybový řádek.

Kolekci chyb je možné zobrazit například v seznamu a poté přidat tlačítko, které otevře metodu vybranou v seznamu:

METHOD OPEN PATH(Form.selected.code.path;Form.selected.line).

Zůstaňte s námi! Chystáme další příspěvky na blogu o kontinuální integraci!

Vanessa Talbot
• Product Owner • Vanessa Talbot se připojila k programovému týmu 4D v červnu 2014. Jako Product Owner má na starosti psaní uživatelských příběhů a jejich převod do funkčních specifikací. Její úlohou je také zajistit, aby implementovaná funkce odpovídala potřebám zákazníka. Od svého příchodu pracovala na definování klíčových prvků ve 4D. Pracovala na většině nových funkcí preemptivního multi-threadingu a také na velmi složitém tématu: nové architektuře pro enginované aplikace. Vanessa má titul z Telecom Saint-Etienne. Svou kariéru začala ve Výzkumném ústavu kriminalistickém jako vývojářka pro audiovizuální oddělení. Působila také v mediální a lékařské oblasti jako expertka na technickou podporu, produkci i dokumentaci novinek.