gradle multiproject: избегайте публикации модулей, когда не обнаружено изменений исходного кода

У меня есть многопроектная сборка Gradle со следующими подпроектами: sample-api sample-common, который зависит от sample-api sample-server, который зависит от sample-api и sample-common.

Я хотел бы избежать создания / публикации sample-api.jar, sample-common.jar или sample-server.ear, если исходный код не был изменен (svn diff) с момента предыдущего выпуска. sample-api.jar и sample-common.jar будут использоваться внешними клиентами, и я хочу избежать ненужных сборок / публикаций, скажем, для nexus repo. Весь проект построен с Gradle от Дженкинса.

В настоящее время я знаю, как сделать sample-common зависимым от sample-api.jar, если в исходном коде sample-api нет изменений, и в противном случае от проекта sample-api. Но мне также нужно избегать сборки sample-common, если sample-api и sample-common не имеют изменений; то же самое с sample-сервером - нет сборки, если ничего не изменилось в sample-api+sample-ocmmon+sample-server. Я хочу это рекурсивно.

Должно быть довольно стандартное решение этой проблемы?

Благодарю.

0 ответов

Другие вопросы по тегам