Я создаю pom-файл для jar-файла, который загружаю в Artifactory. Я делаю это, выполняя эту задачу для создания pom. Pom-файл имеет правильную форму, и я могу опубликовать sh jar. зависимости библиотеки установлены в области времени выполнения. Я хочу, чтобы она была установлена так, чтобы, когда кто-то извлекает мой пакет, они также получали зависимости без необходимости явно включать.
task createPom {
pom {
project {
groupId 'my.cool.lib'
artifactId project.name
version project.version
inceptionYear '2020'
}
}.writeTo("pom.xml")
}
Создает тег зависимостей:
<dependencies>
<dependency>
<groupId>com.google.flatbuffers</groupId>
<artifactId>flatbuffers-java</artifactId>
<version>1.12.0</version>
<scope>runtime</scope>
</dependency>
</dependencies>
Я получаю runtime
scope, если зависимости моей библиотеки используют implementation
в качестве модификатора. Если я использую compile
, который устарел в текущих версиях Gradle, тогда время выполнения устанавливается на compile
. Как я могу использовать implementation
, но установить в pom.xml
значение, отличное от runtime
?
Я видел несколько вопросов по SO об изменении задачи publi sh, которая создает ПОМ, но мне нужно создать помп отдельно.