Jednotné nastavenia mxmlc kompilátora

30. July 2010

Nastaviť mxmlc kompilátor pri novom projekte na prvý krát správne sa mi ešte nikdy nepodarilo. Vždy chýbal nejaký parameter alebo som jeho hodnotu zle zapísal.

Kedysi moje nastavenie vyzeralo nejako takto:

-locale en_US 

Po čase sa rozrástlo na:

-locale en_US -keep-generated-actionscript -incremental -optimize=false 
-keep-as3-metadata+=Collaborative,Keywords 
-define=APPLICATION::debug,true -define=APPLICATION::release,false 

Vynásobím si počet zmien za rok krát počet vývojových strojov, prirátam jeden integračný server a dostanem desiatky úprav kompilačných argumentov, desiatky duplicitných informácií, ktoré sú roztrúsené po celom development department. Každá ďalšia zmena mi pripomína, že musím napísať e-mail s oznamom o zmene, že na polovici strojov to budem musieť prísť upraviť osobne a ešte sa prihlásiť na server, nájsť všetky miesta v ant-ových skriptoch kde sa nastavujú ďalšie kompilačné parametre (unit-testy, mapy pokrytia …). Pri najlepšom je to pár hodín roboty.

Našťastie sa to celé dá spríjemniť na jeden jediný svn commit a v budúcnosti už nemusíme nastavovať každý stroj zvlášť, základné nastavenia mxmlc budú konzistentné a my ostaneme DRY.

1. Vytvoríme app-config.xml. Súbor kopíruje štruktúru východzieho konfiguračného súboru sdk/3.5.0.12683a/frameworks/flex-config.xml avšak nemusí byť kompletný a stačí ak bude obsahovať len nastavenia, ktoré chceme zmeniť.

<?xml version="1.0"?>
<flex-config>
    <
compiler>
        <
define>
            <
name>APPLICATION::debug</name>
            <
value>false</value>
        </
define>
        <
define>
            <
name>APPLICATION::release</name>
            <
value>true</value>
        </
define>
        <
keep-as3-metadata>
            <
name>Bindable</name>
            <
name>Managed</name>
            <
name>ChangeEvent</name>
            <
name>NonCommittingChangeEvent</name>
            <
name>Transient</name>
            <
name>Collaborative</name>
            <
name>Keywords</name>
        </
keep-as3-metadata>
        <
keep-generated-actionscript>true</keep-generated-actionscript>
        <
optimize>false</optimize>
        <
incremental>true</incremental>
    </
compiler>
</
flex-config

2. Necháme si prejsť mráz po chrbte a posledný krát nastavíme na všetkých strojoch kompilačné argumenty vývojového prostredia:

-load-config+=app-config.xml 

3. Pri budúcej zmene kompilačných argumentov stačí editovať xml súbor a zmeny rozdistribuovať cez svn.

Literatúra:

  1. Xavi Beumala (Technical Architect, Adobe), Streamlining your Flex project environment, http://www.adobe.com/devnet/flex/articles/flex_streamline_project_environment_print.html

Komentujte
Políčka označené * sú povinné.