Создаем ui.swc следующим путем:
В Flash CS4 IDE создаем новый fla запихиваем в библиотеку все необходимые компоненты.
В параметрах экспорта ставим Export SWC, экспортим и радуемся но не долго.
Подключая swc при компиляции используем элементарный код:

Код AS3:
package {
import fl.controls.Button;
import flash.display.Sprite;
public class TestApp extends Sprite {
public function TestApp() {
super();
var button : Button = new Button();
addChild(b);
}
}
}
Компилирую с такими параметрами:
-sp src
-sp $FlashConfig/UIComponents
-library-path libs/ui.swc
-library-path $Flex4SDK/frameworks/libs/player/10/playerglobal.swc
-target-player=10
-debug=true
В итоге получаю эксепшн о том что parameter child must be non null.
Проверяю элементарно экпортятся ли ассеты:

Код AS3:
var buttonSkin : MovieClip = new Button_upSkin();
addChild(buttonSkin);
Компилятор ругается и говорит что с такими он не знаком и не хочет быть знаком.
Сидим и долго думаем, почему... Путем межевания мыслей приходим к решению: если убрать:
-sp $FlashConfig/UIComponents
То компилятор обращается уже к экcпортированным в swc классам и находит там и Button_upSkin и не Button_overSkin и т.д. и т.п.
Внимание вопрос: почему так происходит, и как этого избежать? Экспортировать только assets в swc или просто напросто не включать исходные пути в пути компилятора?
Или есть решение элегантнее?