0

Plattform: Flex 3 & Flex 4 Sprache: AS3Ist es möglich, mehrere benutzerdefinierte Buildkonfigurationen in einem Flex-Projekt für dieselbe ActionScript 3-Codebasis zu verwenden?

Ich habe eine sehr große Code-Basis für die Flex3 Rahmen bei der Arbeit geschrieben geerbt haben.

Meine Firma möchte die Software in "kleinere", "spezifischere" Anwendungsfälle segmentieren. Es wird einige Überschneidungen zwischen den verschiedenen Produkten geben.

Eine Option wäre, die Codebasis in verschiedene Projekte zu kopieren und den Code für die verschiedenen Anwendungsfälle entsprechend anzupassen. (Ist das überhaupt angebracht?)

Ich möchte jedoch vermeiden, dass die Pflege desselben Codes, der über mehr als 3 Softwareprodukte dupliziert wird, wahrscheinlich ein Schmerz wäre.

Ist es möglich, benutzerdefinierte Buildkonfigurationen auf einer (1) Codebasis zu erstellen, die nur das kompiliert, was für das jeweilige Produkt benötigt wird? (Ich stelle mir etwas ähnlich wie #ifdef-Anweisungen vor oder baue vielleicht Konfigurationen in Visual Studio)

Würde die Umstellung auf git helfen, das zu erleichtern? (Wir verwenden SVN.)

Jeder Rat würde sehr geschätzt werden.

-Regards

Oliver

Antwort

0

Sie können eine bedingte Kompilierung durchführen, wenn Sie FlashDevelop verwenden.

Linky Link: http://www.flashdevelop.org/wikidocs/index.php?title=AS3_Conditional_Compilation

Grundsätzlich geben Sie etwas wie folgt aus:

CONFIG::mode_a{ 
    foo_mode_a(); 
} 

CONFIG::mode_b{ 
    foo_mode_b(); 
} 

Und dann in Ihrem FlashDevelop Projekteinstellungen, Eigenschaften, Projekteinstellungen, einige Compiler Konstanten gesetzt, „CONFIG :: mode_a , true "," CONFIG :: mode_b, false ". Dann wird foo_mode_a() aufgerufen und foo_mode_b() nicht.

Es gibt verschiedene Möglichkeiten, wie Sie das verwenden können (folgen Sie dem Link), aber das Mächtigste ist, dass der Code NICHT DORT existiert, wenn Sie ihn in einen bedingten Kompilierungsblock mit der Variablen false setzen die Einstellungen.

0

Actionscript bietet keine Unterstützung für die bedingte Kompilierung oder mehrere Buildkonfigurationen. Sie können Ihren Code in mehrere Komponentenbibliotheken aufteilen. Es wäre, als würde man statische und dynamische Bibliotheken in C/C++ erstellen. Siehe Artikel this zum Erstellen von SWC-Dateien. Eine SWC-Datei ist eine Archivdatei für Flex-Komponenten und andere Assets, die Sie für mehrere Projekte freigeben möchten. Auf diese Weise müssen Sie nicht mehrere Kopien des Codes verwalten.

0

Sie können dies tun bedingte Kompilierung in AS3 zu bekommen, aber ich bin nicht sicher, dass es ist, was Ihr nach http://www.boostworthy.com/blog/?p=227

Nach einen zweiten Blick auf diese Einnahme nicht vollständig bedingte Kompilierung zu sein scheint, als Ich würde auch vorschlagen, die Bibliothek einfach zu zerlegen und die entsprechenden Teile dort zu verwenden, wo sie benötigt werden. Maven eignet sich gut für die Verwaltung dieser Art von stückweiser Einrichtung, da Sie Module mit Untermodulen (separate Flex-Bibliotheken oder Flex) definieren können Module oder Apps) und alle Abhängigkeiten und verwalten sie an einem Ort.

http://maven.apache.org/

für flex Kompilation

http://flexmojos.sonatype.org/

Ok zuletzt, weiterhin Maven verwenden können Sie Eigenschaften hinzufügen oder Abhängigkeiten von der Build-Umgebung bedingt basiert oder durch Übergabe von Parametern ein bestimmtes Profil angeben Um während einer Kompilation verwendet zu werden, benötigt dies definitiv einige anfängliche Aufbau-/Lernzeiten, aber wenn Sie Zeit haben, sich einzurichten, zahlt sich das auf lange Sicht aus.

Ich habe über die letzte Bearbeitung gelogen :), dachte gerade, Sie können das bedingte Laden der Klassen basierend auf der ersten Route und mit getClassByAlias ​​tatsächlich abziehen, aber unabhängig von der Klasse würde eine Referenz im Code benötigen und daher erhalten kompiliert in die SWF, wenn auch unter bestimmten Bedingungen nicht genutzt.

Verwandte Themen