Как предотвратить обновление maven-metadata.xml при каждой сборке при публикации Gradle Maven?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как предотвратить обновление maven-metadata.xml при каждой сборке при публикации Gradle Maven?

Сообщение Anonymous »

Я работаю над проектом Gradle, в котором публикую артефакты в репозитории JFrog Artifactory (этот репозиторий является универсальным репозиторием, а не репозиторием Maven), используя публикацию Maven. Однако я столкнулся с проблемой, когда файл maven-metadata.xml в репозитории обновляется с каждой сборкой, в результате чего последняя версия всегда отражает самую последнюю сборку, независимо от того, является ли это сборкой выпуска, разработкой или сборкой. сборку или сборку ветки функции.
Я хочу, чтобы только стабильные сборки выпуска обновляли последнюю версию в maven-metadata.xml. Сборки ветвей разработки и функций не должны на это влиять.
Вот что я пробовал, но ничего не помогло:
  • < li>Использование версий моментальных снимков:
    Я добавил -SNAPSHOT к версии для нерелизных сборок, надеясь, что репозиторий будет относиться к ним по-другому:

    Код: Выделить всё

    gradle -Pversion=1.0.0-SNAPSHOT publish
    
  • Отключение задачи GenerateModuleMetadata:
    Я также пытался пропустить задачу GenerateMetadataFileForMavenCatalogPublication
  • Отключение задачи GenerateModuleMetadata code>, отключив его во время разработки:

    Код: Выделить всё

    tasks.named("generateMetadataFileForMavenCatalogPublication") {
    enabled = project.findProperty("buildType") != "dev"
    }
    
  • Пропуск всех задач GenerateModuleMetadata:
    Далее я пропустил все задачи типа GenerateModuleMetadata, чтобы гарантировать, что файлы метаданных не будут созданы:

    Код: Выделить всё

    tasks.withType {
    enabled = project.findProperty("buildType") != "dev"
    }
    
  • Добавление метаданных пропуска к URL-адресу Artifactory:
    Я также пробовал добавлять метаданные пропуска к URL-адресу Artifactory. URL-адрес Artifactory, предложенный в некоторых ссылках.
Вот как я публикую проект:

Код: Выделить всё

publishing {
repositories {
maven {
url = uri("artifactory-url")
credentials(PasswordCredentials::class)
}
}
publications {
create("mavenCatalog") {
from(components["java"])
}
}
}
Есть ли что-то, что я упускаю или делаю неправильно?


Подробнее здесь: https://stackoverflow.com/questions/792 ... gradle-mav
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»