Я хотел бы использовать Gradle для создания проекта java, и я хотел бы структурировать его следующим образом.Gradle all in one build
- Ядро библиотека
- Web App (война плагина)
- сервера (приложение плагин)
- Client
- Клиент войны (война плагина)
Веб-приложение, сервер, и Клиент зависит от ядра. Сервер зависит от веб-приложения, потому что он будет обслуживать его как страницу администратора с помощью встроенного Jetty. Клиентская война зависит от Клиента. Клиентская война должна быть развернута на веб-сервере для распространения клиента в качестве приложения для веб-запуска.
Что я хотел бы знать, так это то, как я могу сообщить серверному проекту, что он зависит от веб-приложения, и его необходимо скопировать в нужное место в его структуре распределения. Я также хотел бы знать, как я могу сказать, что проект Client War зависит от проекта клиента и скопировать банку клиента и все его зависимости в правильное место для создания военного архива.
Я планирую использовать плагин приложения для сервера, поэтому под <root>/src/dist
будет находиться каталог webapp
, где будет находиться одно или, возможно, большее количество веб-приложений. Ожидается, что файлы, содержащиеся в каталоге webapp
, будут файлами войны.
Это новый проект, поэтому он может следовать стандартным соглашениям о строительстве Gradle и планировке проекта, ожидаемой Gradle.
Идеально в какой-то момент артефакты Клиента будут опубликованы во внутреннем хранилище Artifactory или Sonatype Nexus, чтобы клиентская война могла быть построена с поддержкой версий.
До сих пор я нашел следующие ресурсы.
Возможный дубликат [Gradle и структуры Multi-Project] (HTTP://stackoverflow.com/questions/17536652/gradle-and-multi-project-structure) – Ethan
Я не пытаюсь объединить сборку в один файл build.gradle. Я бы описал это как определение новой классификации зависимостей (пример compile, testRuntime, myCustomTransient, packageagedApp), на которые я хочу обработать specail. – Zixradoom
Это сообщение не о одном build.gradle. Вы ищете конфигурации. – Ethan