Jul 30, 2010

Jednotné nastavenia mxmlc kompilátora

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ť.
<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>
  1. 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

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

Literatúra:

Blog comments powered by Disqus

About
Subscribe via RSS.