PDA

Просмотр полной версии : Flex-проект с нестандартной структурой


xomunculus
05.05.2009, 17:29
Доброго времени суток, уважаемые.
Я работаю помошником дизайнера и угораздило меня ляпнуть начальству, что слушала адобовский курс по Flex'у (Flex за неделю). Решили привлечь к разработке, теперь вот сижу и не знаю, что делать.

Я привыкла, что во Flex Builder'е такая структура проекта:

/src
..../Main.mxml
..../com
......../domain
............../доп. классы


В нашем проекте все совсем по-другому:

/application
........../appA
.............../Main.mxml
/classes
......../ru
.........../доп.классы
/glib - библиотека графических файлов


Исходники закачиваются с помощью eclips'овского svn-плагина. Собираются ant'ом. В итоге у меня получается svn-проект (или просто проект), в любом случае он не flex'овый, так что в нем нельзя отлавливать ошибки, использовать подсказки и другие прелести Flex Builder'а.

Вопрос. Как работать с этим проектом, чтоб он поддерживал svn-функционал и "flex"-функционал?

wvxvw
05.05.2009, 17:40
Создайте новый проект, подключите туда директории application, classes и glib... и все пожалуй... а ну и поставьте Main.mxml как таргет для компиляции.
А вообще, ИМО то, как устроены проекты в билдере - не удобно, в ФД проще и понятнее, ну и работает быстрее... А самое смешное, что в ФД больше возможностей по сравнению с "родным" флексовым IDE. И нету кучи абсолютно дурацких ограничений.

xomunculus
05.05.2009, 18:27
Что значит "подключить" директорию? Функция "Checkout project from SVN" не заливает директории в существующий проект, а создает новый. Если потом менять "природу этого проекта" ("Add Flex Project Nature"), мои папки (application, classes, glib) оказываются за пределами папки src и Main.mxml никак не сделать "таргет для компиляции" (или я не умею). Если каким-нибудь макаром впихнуть эти папки в src (тупо переместить фаром) и поменять "source folder" на "src/application/appA", то не видны классы из папки classes :(

Ладно, буду копать в сторону ФД

wvxvw
05.05.2009, 20:56
это у вас как-то странно происходит :) проект вообще не нужно подключать к SVN - в этом как бы вся суть, т.как у разных разработчиков проект может быть устроен по-разному.
(Например, представьте, у вашего коллеги, который до этого трудился над проектом, есть 3 логических диска, и в настройках публикации проекта указано, что нужно сохранить готовый файл на диске E: а у вас есть всего 2 логических диска, и диском E: является сидиром :) Вы же не будете каждый раз после того, как вы или ваш коллега добавит изменения перенастраивать пути?)
Вы просто делаете чекаут в нужное вам место, создаете свой проект в произвольном любом месте и когда его создаете, добавляете директории, куда вы делали чекаут к вашему проекту (из визарда создания проекта, например, или из настроек проекта, если он уже создан).
И, я не знаю, вы как-то это пытаетесь еще сверх необходимого усложнить. (мало того, что у эклипса с флексом мозги на бекрень, вы еще их думать заставляете :) )
Сделать таргетом для компиляции - опять, идем в настройки проекта и там выставляем, какой файл мы хотим компилировать (можно даже несколько, если все они однородные, т.е. либо только MXML либо только AS - еще один маразм Флекса, нельзя компилировать и то и другое из одного проекта).

Air_mAn
06.05.2009, 18:59
(Например, представьте, у вашего коллеги, который до этого трудился над проектом, есть 3 логических диска, и в настройках публикации проекта указано, что нужно сохранить готовый файл на диске E: а у вас есть всего 2 логических диска, и диском E: является сидиром :) Вы же не будете каждый раз после того, как вы или ваш коллега добавит изменения перенастраивать пути?) Все настройки проекта связанные с компьютером, на котором он правится/собирается, должны быть вынесены в свойства в отдельном файле local.properties, который помечается как svn ignore и создается после чекаута в папке проекта, в соответствии с кофигурацией компьютера, а в хранилище не заливается, потому что проект не должен хранить информацию о машине, на которой с ним работали! (в этом смысле не понятно, зачем в swc компилятор зашивает пути к классам на локальной машине, которые можно видеть в стеке при ошибке, например)

wvxvw
06.05.2009, 20:56
Я тоже это видел... чесно, не знаю зачем это нужно... я думаю, что это записывается только если компилить SWC с -debug=true т.как сорцы в SWC не сохраняются, а в дебаггере надо что-то показывать. Но кроме этого - догадок больше никаких :)