Поддержка похожих проектов Android - PullRequest
0 голосов
/ 13 октября 2011

В настоящее время у нас есть приложение, которое представляет собой полнофункциональную демоверсию для потенциальных клиентов. Весь функционал есть. Однако мы используем общие брендинг / логотипы, вызываем наши собственные веб-сервисы (которые впоследствии будут заменены на вызовы клиентских веб-сервисов) и т. Д.

Вот мой вопрос. Если у нас есть два разных клиента, мы бы предпочли как можно меньше дублирующегося кода. Я понимаю, что это можно сделать - с точки зрения Java - просто включив общий JAR. Однако нам нужно будет изменить ресурсы. Кроме того, один клиент может не захотеть какую-то функциональность, которую хочет другой клиент. Кроме того, если мы делаем общие исправления ошибок, мы обычно хотим, чтобы эти исправления были в обеих версиях приложения.

Мы используем Git для контроля версий и Maven для сборки проекта.

Один из вариантов, который мы обсуждали, - это просто ветвление проекта и поддержка отдельных версий. Однако тогда нам придется вручную объединить изменения, которые мы хотим отразить во всех версиях приложения.

Другой вариант, который мы обсуждали, это как-то поменять ресурсы и т. Д. С помощью профилей maven. Однако, если нам нужно внести какие-либо поверхностные изменения в сам код, это может стать проблемой. Возможно, нам придется попасть на фабрики и в разные реализации.

У кого-нибудь есть рекомендации, как лучше всего с этим справиться?

1 Ответ

1 голос
/ 13 октября 2011

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

...