Создание мобильного проекта AIR для нескольких клиентов с помощью gradleFX

У меня есть программное обеспечение, которое должно быть доставлено многим клиентам. Каждая сборка должна иметь настраиваемый набор ресурсов (значки, заставку и т. Д.) И набор файлов конфигурации, а также разные идентификаторы приложения (например, com.myself.myapp.customer1; com.myself.myapp.customer2 и т. Д.)...)

Также мне нужны сборки для разных ОС, таких как Android, iOS, PlayBook.

До сих пор я справлялся с этим так: я создал новый Application.mxml для каждого клиента, который открывал нужные места и передавал файлы в MainController. Это оставляет мне возможность выбирать нужные ресурсы, сертификаты и файлы обеспечения iOS для упаковки каждый раз, когда мне нужно скомпилировать, и мне пришлось повторять эти шаги для каждого клиента, что очень подвержено ошибкам и, особенно в случае iOS, чрезвычайно трудоемкий.

Поэтому мне нужно быстро войти в автоматизированное здание...

Я уже скачал и установил gradle/gradleFX, но я не нахожу документацию очень удобной для начинающих в этой теме.

Теперь вопросы:

  1. Как мне преобразовать (Flash Builder-) заданную структуру проекта, чтобы соответствовать соглашениям о выпуске? Есть ли FB-плагины или инструменты, которые я мог бы использовать?
  2. Могу ли я использовать gradleFX для сборки и для отладочных сессий? В FB 4.7 есть много проблем, которые я действительно люблю обойти.
  3. Может ли ipa быть "подписанным" и упакованным с активами после его основной компиляции, так что мне не нужно ждать 15 минут для каждой компиляции?

Большое спасибо

1 ответ

Решение

Как мне преобразовать (Flash Builder-) заданную структуру проекта, чтобы соответствовать соглашениям о выпуске? Есть ли FB-плагины или инструменты, которые я мог бы использовать?

Нечего конвертировать. Если структура вашего проекта не очень экзотична, вы должны иметь возможность настроить GradleFx для работы с ним.
Обратите внимание, что по умолчанию GradleFx использует некоторые соглашения в стиле Maven: например, исходная папка по умолчанию будет src/main/actionscript, Если вы хотите настроить типовой проект FlashBuilder, вам придется явно объявить исходную папку:

srcDirs = ['src']

Что касается плагинов FB: их нет. Но вы можете использовать "внешний инструмент для сборки" вместо встроенной конфигурации FB. IntelliJ IDEA имеет поддержку Gradle, но ничего специально для GradleFx. Сам GradleFx имеет плагин flashbuilder, но его целью является создание FB-совместимого проекта из сценария сборки - я не думаю, что это то, что вы ищете.

Могу ли я использовать gradleFX для сборки и для отладочных сессий? В FB 4.7 есть много проблем, которые я действительно люблю обойти.

Вы можете создать версию приложения с поддержкой отладки, просто установив debug флаг для true (как описано в документах Adobe mxmlc). GradleFx не предоставляет все параметры компилятора в своем API (их слишком много), однако вы можете использовать additionalCompilerOptions чтобы определить любые дополнительные флаги компилятора, которые вам требуются:

additionalCompilerOptions = ['-debug=true']

Я не знаю, как вы должны сказать FlashBuilder подключиться к скомпилированному SWF для его сеанса отладки:(Возможно, через конфигурацию "external build tool".

Может ли ipa быть "подписанным" и упакованным с активами после его основной компиляции, так что мне не нужно ждать 15 минут для каждой компиляции?

Я слишком мало знаю о мобильной поддержке, чтобы дать вам значимый ответ здесь, но я могу сказать вам, что серьезное обновление в этой области находится в стадии разработки и скоро будет выпущено. Возможно, вам следует задать этот вопрос на http://support.gradlefx.org/; @Slevinbe очень полезен и быстро отвечает.

Я не считаю документацию очень дружелюбной для начинающих в этой теме

Если документы не работают для вас, возможно, примеры проектов могут быть более полезными. Тем не менее, вы могли бы помочь нам сделать документы лучше для начинающих, рассказав нам, как мы могли бы их улучшить. Просто начните обсуждение на support.gradlefx.org

Несколько выходов

Еще одна вещь: ваша главная проблема заключается в том, что вам нужно создать несколько выходов из одной базы кода. Это одна вещь, которую GradleFx не предоставляет "из коробки" (пока). Тем не менее, есть довольно ненавязчивый обходной путь, который я описал в своем блоге. Если вам трудно понять основные концепции, я предлагаю вам не начинать с этой части, а скорее сосредоточиться на получении одного проекта.

Другие вопросы по тегам