← All posts tagged Flexmojos

Чертовы религиозные фанатики. Как ресурсы добавить, так трахайтесь с build-helper maven plugin, а как source compiler roots as generated добавить, так "Никак. Это должно делаться автоматически. В мавене есть соглашение по поводу генерации исходников. Считается, что все дочение директории generated-sources являются source-path."

Вас удивляло, почему flexmojos 4 копирует теперь все типа манифестов и прочего из configs в , а вот fonts.ser нет?

Этому, раз уже Марвин не работает в Adobe, то есть он программист, есть оправдание — configs.zip это по сути optional depends, то есть в pure as проекте у вас может не быть от него зависимости (вы просто определили зависимость от playerglobal), поэтому *.ser файлы поставляются с самим flexmojos, как class resource. А копировать в local repo — а куда? Разве только брать на себя ответственность и копировать типа в compiler (раз уж он так нацарапан, что не может жить никак без этих файлов).

Йо. Пусть рабочий день почему-то стал с 8 до 3, зато плагин получился.

Идея с расширением ( brettporter.wordpress.com ), эта новая фича 3 мавена, потерпела крах из-за отсутствия документации и плачевного результата экспериментов (переопределить нужный мне компонент не удалось).
Идея простого выноса заклинания конфигуратора из flexmojos в отдельный плагин (с наложенными патчами) закончилась ничем в силу hwellmann.blogspot.com , и даже пропатчив maven-inherit-plugin согласно мысли maven-users.828.n2.nabble.com и не получилось видеть все параметры конфигурации (к примеру, compilerWarnings пропадал).

Ладно. Законные пути были исчерпаны и поэтому был релизован плагин, который сам на лету setup flexmojos maven plugin, но не исполняет его, а просто пытает на предмет нужной ему информации.

В следующем EAP IntelliJ IDEA уже не будет пытаться генерировать flex-config сама для flexmojos 4 — без поддержки 3 мавена это сделать никак нельзя автоматически, поэтому ручками в консоли.

Ничего ни в каких POM править не нужно, ничего добавлять как раньше не надо, патчить родной конфигуратор для правильной работы в проекте с локалями определенными в библиотеках тоже.

Единственное что — вам надо прописать адрес репозитория repository.flyti.org <repository.flyti.org> (если он еще не прописан ;)).

Просто выполните mvn com.intellij.flex.maven:idea-flexmojos-maven-plugin:1.1:generate -o в консоли и все. Подробнее — youtrack.jetbrains.net

К youtrack.jetbrains.net юзеры таки добавили нам родное youtrack.jetbrains.net :) Я уже все написал и вот-вот жду поддержки 3 мавена чтобы закоммитить.

Самое грустное и смешное — чтобы зафикисить это стороны IDEA — нужна пара строчек, а вот со стороны мавена, то есть запуска с консоли — писать, ага, расширение (эта фича 3 мавена) чуть ли не (из-за разницы в compc/mxmlc).

Иногда много говоришь, а поправить то так просто. В Idea была довольно-таки неприятная проблема с инициализацией реактора для мультимодульных проектов при первом запуске в случае запуска не на корневом проекте мультимодульного проекта, а на каком-нибудь подпроекте. То есть воспроизвести багу youtrack.jetbrains.net очень просто — достаточно заново открыть Idea, выделить явно некий подпроект и выполнить для него force reimport.

Ну а в случае autoimport поправить POM подпроекта (при условии, что все транзитивные зависимости как проекты общего мультимодульного до этого не были изменены). То бишь проблема касается как конфигуратора flexmojos 3, так и 4.

IntelliJ IDEA не поддерживает 3 мавен. Не поддерживает. Поэтому нереально сделать генерацию конфигурацию на лету juick.com Потому что флексеров мало и производитель данной IDE пока что забил на нас — полноценная поддержка 3 версии нужна только для нас, флексеров. Поэтому вот так вот.

Ага, вы тогда вправе задать как пользователь вопрос: "Почему тогда, черт вас всех возьми, вы показываете баллон с типа "IntelliJ IDEA failed to generate Flex compiler configuration file and other auxiliary files""? Почему нельзя как то более user friendly обработать ситуацию?

Отвечу честно — лично я надеялся, что на проблему отсутствия поддержки maven 3 в IDEA не забьют и сделают к релизу версии 10. Поэтому тратить свое время на реализацию порнографичной тупой заплатки не стал. Но на поддержку забили. Ну и шут с этим — в детсаде вы тут все что ли? Мы с Марвином проблему на стороне flexmojos решили, если у вас есть хоть чуть-чуть мозга, накопать информацию (мои комментарии к статье yzh44yzh.com и в тракторе для англоязычных) очень легко.

*idea *rafpug Я идиот. Второй раз встречаю представителей расы казуальных flash-программистов, и каждый раз забываю использовать их как кроликов, чтобы они мне помогли конкретно понять, почему их тошнит от IDEA (вопрос о том, что она не автоматически добавляет библиотеки понятен, но что именно в интерфейсе отталкивает). Лишь смутное положительное ощущение, что они правы.

И Анна Сенина подняла интересный вопрос об отсутствии в России института консультантов — товарищей, которые помогли бы настроить тот же процесс мавенизации/CI/. Да. Товарищи — как бы у вас есть возможность получить консультацию от автора форка flexmojos и даже внесение изменений в него, если нужно :) И если в IDEA есть некий exception — не надо забивать на нее, а просто пришлите в трактор issue ( youtrack.jetbrains.net/ ) ;)

Если эти таски будут сделаны youtrack.jetbrains.net youtrack.jetbrains.net , то это будет весьма знаковым шагом по приближения IDEA к простым смертным, которым не хочется вручную добавлять какие-то там библиотеки (тем, кто пользуется мавенов, впрочем, плевать — у них плюшки эти из коробки).

Если для вашего чистого as-проекта вы указываете зависимость от playerglobal — то если вам не нужно, чтобы клиенты библиотеки получали это как транзитивную зависимость — установить scope = provided. Что будет, если клиент получит и playerglobal, и airglobal? Оно скомпилируется — на уровне flexmojos все отфильтруется, но Idea не содержит никаких хаков для фильтрации, в силу чего вы получите массу проблем, начиная от неравенства класса String классу String и просто unresolved class для air related.

В 3 версии моего форка была возможность указать defaultScope. В 4 надо либо трахаться с всеми транзитивными зависимостями (да, да, чуда нет — ядро мавена и 3 версии не поддерживает flex scopes), если мы хотим установить external scope, или же таки восстановить этот параметр.

Крамольная мысль отказаться от мавена на моем текущем проекте (якобы простом) окончательно отметена. Так как мы имеем порнографию с swf/swc и ничего вменяемого с этим сделать нельзя, это добавляем огромную кучу проблем, решать которые и призван flexmojos. И от этого грустно. Что из-за бреда введения разделения на swf/swc + вынос кучи параметров на уровень компилятора, вместо конфигурирования посредством тех же концепций, мы должны иметь то, что имеем.

flexmojos 4.0-de3 super pom 24 flex sdk 4.1.0.16076-de (not default) (or patched from super pom (default) 4.5.0.18365) Если хотите использовать — ставьте версию SDK

<properties>
<fdk.version>4.1.0.16076-de</fdk.version>
<flex.sdk.version>4.1.0.16076-de</flex.sdk.version>
</properties>

или просите опубликовать нужную вам — SDK по умолчанию в super pom может не подходить вам (мне лениво переопубликовать ее, а для меня все работает).

Не знаю, чем руководствовался Марвин, но в 4 версии flexmojos theme подключаются через scope theme, а не сclassifier. Это бред в силу 3 причин:
1) алогично. то, что артефакт это тема, должно определяться по типу или классификатору, но никак не по области видимости. Конечно, кто-то козел в свете видения определенных товарищей — но только по духу, но никак не по сущности. А у нас тут именно сущность.
2) текущий sdk bundle publisher не готов к этому.
3) как, черт возьми, тогда собирать самому тему? В 3 версии приняли мой патч, добавляющий классификатор, но scope то никак не укажешь.

Поэтому идет лесом официальное изменение, в моем форке и в SDK, публикуемых мной, все будет как раньше.

C flexmojos:configurator я перестал собирать проект мавеном, только сборка flex-config и потом make в IDEA. Для всех данная функциональность будет неявной и незаметной в IDEA 10.1, пока что mvn org.sonatype.flexmojos:flexmojos-maven-plugin:4.0-de1:configurator c моим форком/с моим super pom.

Ответ на #1082378 и #1082383 А разве форк @develar куда-то пропал? Там по-прежнему все в шоколаде, и для 4 версии flexmojos тоже есть и форк, и соответствующий вменяемый шоколадный (без орехов) super pom. Версия 4.0-de1, ну а super pom смотрите flyti.org:8081 (сейчас актуальная версия 22) У вас только возникнет проблема откуда брать SDK — пинайте @develar и будет опубликована нужная вам версия.