Как говорится в вопросе, есть хороший способ использовать зависимости, основанные на архитектуре платформы, при создании артефактов maven. Я знаю про профили и как их использовать. Для этой специальной цели я не хочу включать их в свою сборку.
Подробную проблему можно описать следующим образом:
- Проект с несколькими модулями maven
- Непрерывная интеграция, и люди в проекте используют равномерно распределенные архитектуры платформ.
- Зависимость от собственной системной библиотеки
Решения, которые я не хочу использовать в настройках:
- Отсутствие избыточности зависимостей
- Нет профилей maven (или, по крайней мере, профили maven, которые автоматически выбираются архитектурой платформы)
В качестве примера:
Person1
- (используя linux i686) строит проект
- x86 libaries привязаны к каждому подпроекту и результирующие артефакты строятся
Person2
- (используя win32) строит проект
- 32-разрядные библиотекари поставляются в комплекте, как указано выше.
Непрерывная интеграция
- работает как производственная среда на linux amd64
- интегрировать библиотеки amd64
Изменить профайлы
Я знаю, что профили - одно из решений для этого. Но я хочу добиться того, что вы проверяете свой проект из какого-то случайного источника контроля версий и строите проект с родными библиотеками из коробки без каких-либо действий (при условии, что платформа удовлетворяет требованиям настроенных).
Я не хочу настраивать эти параметры профиля, и я не хочу явно запускать конкретную цель. Если есть такая вещь с профилями, я бы хотел увидеть пример, который автоматически определяет архитектуру платформы и запускает цель. ЕСЛИ есть один без профилей, я бы предпочел бы его, потому что он намного менее сложный, имея разные существующие комбинации профилей (включая тесты и другие случаи использования).
Имея только профили, мне немного вздувается, и требуются ручные усилия.
Надеюсь, у кого-то есть опрятное предложение, потому что им так или иначе застряли на этом.