Рассмотрим проект Maven с несколькими взаимозависимыми модулями: скажем, три jar-модуля A, B и C, которые являются зависимостями для военного модуля Z. У меня есть отдельная сборка Hudson для каждого из этих модулей, так что только модулиизмененные заново.
Моя проблема в том, что, если я фиксирую набор изменений, который изменяет как модуль A, так и модуль Z, Z может быть собран до A и завершится неудачей, прежде чем A завершит и вызовет восстановление Zкоторый сейчас проходит.Разрешение регулярных сбоев сборок по причинам, связанным с упорядочением сборок, а не с «реальными» сбоями, снижает чувствительность к реальным сбоям;мы заканчиваем тем, что игнорируем сборки, которые законно сломались, потому что мы привыкли предполагать, что они в конечном итоге перевернутся назад.
Я управлял этим с помощью тихих периодов, блокировок, когда выполняются восходящие сборки и т. д. Но вНа практике в моей сборке больше модулей, чем в примере, который я привел, многие из которых требуют времени для сборки и тестирования.У меня также есть небольшая группа старательных разработчиков, которые часто совершают коммиты.
Это означает, что мои jar-модули постоянно собираются, и лишь изредка оставляют пробел для создания моих военных модулей.Таким образом, война строится не очень часто, то есть требуется много времени, чтобы выяснить, когда мы ее сломали, и также требуется больше времени, чтобы определить, какие изменения ее сломали.
Кроме того, постоянный запуск сборокозначает, что если я зафиксирую изменение, касающееся банок A и B, файл войны Z может быть создан один раз для баночки A (которая собирается быстро), а затем снова для банки B (которая занимает больше времени).Это затрудняет понимание результатов данного коммита.
Я рассмотрел вопрос об использовании плагина соединения, но, похоже, для этого требуется каждый раз собирать все модули.Поскольку у меня на самом деле довольно много jar-модулей, я действительно не хочу каждый раз собирать их все, я хочу создавать только те, которые были изменены для данного коммита.
Есть ли что-нибудь лучшеспособы справиться с этим?
Спасибо