Перейдите в базовую директорию своего кода Flex (и закройте Flex Builder, если он работает - он не работает, если вы что-то измените во время работы). Запустите это, чтобы изменить все ваши операторы трассировки. Я рекомендую сначала проверить дерево в git или что-то еще, а затем запустить diff (или cp -r для дерева, чтобы сделать diff -r или что-то в этом роде). Единственный серьезный случай, который может испортить ситуацию, это если у вас есть точки с запятой внутри строк трассировки:
find . -name '*.as' -exec perl -pe 'BEGIN{ undef $/; }s/trace([^;]*);/CONFIG::debugging { trace $1 ; };/smg;' -i {} \;
find . -name '*.mxml' -exec perl -pe 'BEGIN{ undef $/; }s/trace([^;]*);/CONFIG::debugging { trace $1 ; };/smg;' -i {} \;
Затем настройте следующее в вашем Project-> Properties-> Flex Compiler-> Дополнительные аргументы компилятора:
-define=CONFIG::debugging,true -define=CONFIG::release,false
И использовать:
CONFIG::release { /* code */ }
для предложения "#else". Это было решение, которое я выбрал после прочтения этого вопроса и набора ответов.
Также остерегайтесь этого:
if( foo )
{
/*code*/
}
else
CONFIG::debugging { trace("whoops no braces around else-clause"); };
т.е. если у вас есть ТОЛЬКО один из них в блоке if или else или в любом другом месте и это голый блок без фигурных скобок, то независимо от того, откомпилирован он или нет, он будет жаловаться.