Как использовать архитектуру платформы в Maven для определения зависимости?

Как гласит вопрос, есть ли хороший способ использовать зависимости, основанные на архитектуре платформы, при создании артефактов maven. Я знаю о профилях и о том, как ими пользоваться. Для этой специальной цели я не хочу включать их в свою сборку.

Подробно проблему можно описать следующим образом:

  • Многомодульный проект maven
  • Непрерывная интеграция и люди, участвующие в проекте, используют равномерно распределенные архитектуры платформ
  • Зависимость от собственной системной библиотеки

Решения, которые я не хочу использовать в настройках:

  • Нет избыточности зависимостей
  • Нет профилей maven (или, по крайней мере, профилей maven, которые автоматически выбираются архитектурой платформы )

В качестве примера :

Person1

  • (с использованием linux i686) строит проект
  • Библиотеки x86 связаны с каждым подпроектом, и полученные артефакты строятся

Person2

  • ( используя win32)строит проект
  • 32-битные библиотеки поставляются в комплекте, как указано выше

Непрерывная интеграция

  • работает как производственная среда в Linux amd64
  • интегрирует библиотеки amd64

Редактировать профили

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

Я не хочу ни настраивать эти параметры профиля, ни явно запускать конкретную цель. Если есть такая вещь с профилями, я хотел бы увидеть пример, который автоматически определяет архитектуру платформы и запускает цель. ЕСЛИ есть профиль без профилей, я бы предпочел его, потому что он гораздо менее сложен при наличии различных существующих комбинаций профилей (включая тесты и другие варианты использования).

Наличие только профилей кажется мне немного раздутым, и требуются ручные усилия.

Надеюсь, у кого-то есть интересное предложение, потому что я каким-то образом застрял на этом.

18
задан JoshDM 29 August 2019 в 17:27
поделиться