Изменение имен пакетов перед сборкой в ​​Bamboo - PullRequest
6 голосов
/ 28 февраля 2011

Я недавно обнаружил, что BlackBerry рассматривает все классы с одинаковым полным именем как идентичное - независимо от того, находятся ли они в совершенно разных приложениях или нет - вызывая приложения, которые используют разные версии наших общихбиблиотеки, которые ломаются, когда они установлены на одном телефоне.

Чтобы решить эту проблему, мы планируем изменить имена пакетов для включения номера версии, а затем сборки.Может кто-нибудь объяснить, как, используя Bamboo, я могу вставить в наш процесс сборки шаг, который:

  • изменяет имена определенных пакетов
  • заменяет все ссылки кода на старое имя пакета ссылками наимя нового пакета?

Ответы [ 2 ]

2 голосов
/ 10 марта 2011

Я не знаком с Bamboo, и вы не включили много информации о вашей системе сборки. Если вы используете maven, вы можете использовать плагин shade :

Этот плагин предоставляет возможность упаковать артефакт в uber-jar, включая его зависимости, и затемнить - т.е. переименовать - пакеты некоторых из зависимостей.

Второй пример здесь показывает, как настроить переименование пакета. Полученный файл jar должен быть обработан Rapc, как в Chris Lerchers комментарий к его ответу . Также должно быть возможно интегрировать это в сборку maven с помощью exec plugin .

2 голосов
/ 05 марта 2011

Отличный инструмент, созданный специально для изменения полностью определенных имен классов Java в jar-файлах, - jarjar .Его можно легко использовать изнутри Ant или, наоборот, из сценария оболочки .

Я никогда не использовал Bamboo - я полагаю, он тоже должен там работать.Конечно, в этой среде могут быть некоторые особые ограничения (касающиеся манипулирования байт-кодом), о которых я не знаю (?)

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