Wie kann verhindert werden, dass „maven-metadata.xml“ bei jedem Build in der Gradle Maven-Veröffentlichung aktualisiert Java

Java-Forum
Anonymous
 Wie kann verhindert werden, dass „maven-metadata.xml“ bei jedem Build in der Gradle Maven-Veröffentlichung aktualisiert

Post by Anonymous »

Ich arbeite an einem Gradle-Projekt, in dem ich Artefakte mithilfe der Maven-Veröffentlichung in einem JFrog Artifactory-Repository veröffentliche (dieses Repository ist ein generisches Repository, kein Maven-Repository). Allerdings stehe ich vor einem Problem, bei dem die Datei maven-metadata.xml im Repository bei jedem Build aktualisiert wird, was dazu führt, dass die neueste Version immer den aktuellsten Build widerspiegelt, unabhängig davon, ob es sich um einen Release-Build oder eine Entwicklung handelt Build oder Feature Branch Build.
Ich möchte sicherstellen, dass nur stabile Release-Builds die neueste Version in maven-metadata.xml aktualisieren. Entwicklungs- und Feature-Branch-Builds sollten keine Auswirkungen darauf haben.
Das habe ich bisher versucht, aber keines davon hat funktioniert:
  • < li>Verwendung von Snapshot-Versionen:
    Ich habe -SNAPSHOT zur Version für Nicht-Release-Builds hinzugefügt, in der Hoffnung, dass das Repository sie anders behandeln würde:
    gradle -Pversion=1.0.0-SNAPSHOT publish
  • Deaktivieren der GenerateModuleMetadata-Aufgabe:
    Ich habe auch versucht, die genericMetadataFileForMavenCatalogPublication zu überspringen-Aufgabe durch Deaktivieren während der Entwicklungs-Builds:
    tasks.named("generateMetadataFileForMavenCatalogPublication") {
    enabled = project.findProperty("buildType") != "dev"
    }
  • Alle GenerateModuleMetadata-Aufgaben überspringen:
    Als nächstes habe ich alle Aufgaben dieses Typs übersprungen GenerateModuleMetadata, um sicherzustellen, dass keine Metadatendateien generiert werden:
    tasks.withType {
    enabled = project.findProperty("buildType") != "dev"
    }
  • Hinzufügen von Skip-Metadaten zur Artifactory-URL:
    Ich habe auch versucht, Skip-Metadaten an die anzuhängen Artifactory-URL, wie in einigen Referenzen vorgeschlagen.
So veröffentliche ich das Projekt:
publishing {
repositories {
maven {
url = uri("artifactory-url")
credentials(PasswordCredentials::class)
}
}
publications {
create("mavenCatalog") {
from(components["java"])
}
}
}

Gibt es etwas, das ich übersehe oder falsch mache?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post