Мы планируем использовать Maven для большой сборки нескольких проектов, чтобы дать вам представление о размере, некоторые из подпроектов имеют несколько миллионов строк кода.Lazy зависимости от проекта с несколькими проектами Maven
Идеальная структура будет что-то вроде:
- Projecta
- module1
- module2
- projectB
- moduleAlpha (зависит от moduleBeta)
- moduleBeta (зависит от Projecta: module1)
- ...
Где каждый модуль на самом деле является Maven подпроект, а зависимости не всегда на уровне артефактов (т.е. банки), а скорее заставляют подпроект компилироваться по мере необходимости.
Добавление общий корень проекта позволяет для выражения зависимостей, как описано, например:
- Проект корня
- PROJECTA
- module1
- module2
- pr ojectB
- moduleAlpha (зависит от moduleBeta)
- moduleBeta (зависит от Projecta: module1)
- ...
- PROJECTA
Но силы строить из проекта корня , Помните, что это очень большой проект, и полная сборка будет чем-то, что не всегда желательно.
Большинство команд работают на ProjectX уровне некоторые даже на MODULEX уровне.
Нам нужно, чтобы иногда строить с созданным артефактом (то есть банку, созданной module1), в другие моменты, которые мы хотим построить из исходного кода.
Я ознакомился с плагином реактора, который позволяет вам возобновить сборку с определенной точки или построить только иждивенцев. Но это кажется очень ручным (хотя в некоторых случаях это очень полезно).
Что я рисую - это хранилище артефактов какого-то типа, которое создает артефакт, когда это необходимо. Например, составление projectA артефактный репозиторий, который projectB ссылки. Если вам почему-то нужно перестроить артефакт projectA, вы можете просто удалить банку.
Что-то вроде того, что реализовано как часть Maven или как плагин? Если нет, можно ли это реализовать?