Реагировать на собственное имя пакета собственного проекта для разных сборок - PullRequest
3 голосов
/ 19 июня 2019

Я пытаюсь управлять своим проектом приложения React Native (извлеченным CRNA), используя разные имена пакетов, чтобы я мог выпускать / тестировать разные варианты:

com.mydomain.internal
com.mydomain.alpha
com.mydomain.beta

В идеале, я хочу разработать и протестировать com.mydomain.internal пакет приложения в моей ветке git master, и поместите изменение в ветку alpha (эта ветвь должна создать пакет com.mydomain.alpha), а затем поместите изменение в ветку beta, в которой он должен создать com.mydomain.beta пакет приложения.

Я хочу избегать ручного изменения имен пакетов для каждого выпуска, потому что он затрагивает много файлов и может легко сломать вещи.Мне интересно, есть ли хороший способ помочь мне поддерживать / обновлять несколько версий / версий приложений, как описано выше.Если значки также можно изменить, укажите это, чтобы я мог создавать разные значки для разных вкусов.

(Я думал о настройке манифестов и считывании имени пакета из статического файла, но нене похоже на работу)

Спасибо!

Ответы [ 2 ]

0 голосов
/ 21 июня 2019

Я нашел хорошее решение этой проблемы под названием Build Varient для Android.Эта статья хорошо объяснила, как ее настроить: https://medium.com/@ywongcode/building-multiple-versions-of-a-react-native-app-4361252ddde5

0 голосов
/ 19 июня 2019

Учтите, что сценарий может определить имя извлеченной ветви с помощью:

branch=$(git rev-parse --symbolic --abbrev-ref HEAD)

Это означает, что вы могли бы (используя здесь «config» в качестве общего термина, заменить его на нужный файл для изменения):

  • версия только файла шаблона config.tpl
  • файлы значений версии, названные в честь ветвей: config.dev, config.master: поскольку они различны, объединение не происходитпроблема при объединении или переключении ветвей.

Наконец, вы зарегистрируете (в .gitattributes декларации ) драйвер фильтра содержимого .

smudge (изображение из " Настройка атрибутов Git - Git ", из " Pro Git book ")

Сценарий smudge, связанный с файлом шаблона (config.tpl), будет генерировать (автоматически при git checkout) фактический файл config, просматривая значения справа config.<branch>файл значений.
Сгенерированный фактический config файл остается проигнорированным (.gitignore).

См. Полный пример в " git smudge / clean filter между ветвями ".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...