Gradle - immer die aktuellste version einer Abhängigkeit
Was wäre der einfachste Weg, zu sagen Gradle
die folgenden:
Abrufen 'junit' - Abhängigkeit und seine neueste 'Version' version.
Verwaltung Maven und Ivy-repositories ist irgendwie neu für mich. Ich habe versucht, die folgenden Schritte und führen Sie zu Could not resolve dependency ...
Fehler:
-
Schreiben
compile "junit:junit:latest.release"
mit repositories nurmavenCentral()
(aber es funktioniert, wenn ich sage "junit:junit:4.10"). -
Schreiben
compile "junit:junit:latest.release"
mit dem repository setzen Sie den folgenden Weg:ivy { //I also tried 'http://maven.org' and other possible variants. url "http://repo1.maven.org" layout "maven" }
-
Versucht auf Quelle Ivy repository:
ivy { artifactPattern "http://repository.springsource.com/ivy/libraries/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" ivyPattern "http://repository.springsource.com/ivy/libraries/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" }
Vielleicht habe ich etwas missverstehen. Warum sollte immer die neuesten version der Abhängigkeit sein, eine solche schwere Aufgabe?
latest.integration
. gradle Dokumentation für dynamische Versionen
InformationsquelleAutor Yippie-Ki-Yay | 2012-04-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gradle derzeit keine Unterstützung für Maven ist
RELEASE
(das ist selten benutzt und ist veraltet), aber er unterstützt von Ivylatest.release
. Aber die Allgemeine Empfehlung ist es, zu bauen, gegen die exakten Versionen. Ansonsten ist der build kann zu einer Lotterie.Ich habe es doppelt geprüft. Maven unterstützt
RELEASE
, sowohl in der version 2 und 3.Du hast Recht. Ich habe verwechselt, dass mit dem plugin-Versionen, die Ursache für Maven 3 es nicht zulassen, dass RELEASE/LATEST mehr. Aber natürlich ist es schlechte Praxis zu nutzen, wie die version IDS.
Ein Artefakt im Maven-Release-repository ist eine, abgeschlossen ist alle möglich automatisiert (und vielleicht auch die manuelle) testen. Dieser Prozess sollte beinhalten API-Kompatibilität überprüft, regression testing und so weiter. Warum dann können die bauen sich eine Lotterie? Nur, wenn Sie "loslassen" Artefakte, die nicht ausreichend getestet wurde.
Klasse unterstützt die neuesten.release' (aber nicht 'RELEASE'). Dies ist äußerst nützlich für die Gewährleistung, dass Ihre eigenen internen Bibliotheken auf die aktuellste, bewährte version - ich würde natürlich nie befürworten seine Nutzung für die externe/3rd-party-Bibliotheken aus dem gleichen Grund Peter vorschlägt oben.
InformationsquelleAutor Peter Niederwieser
Kann es ganz nützlich sein, manchmal, um die neueste Version - wenn zum Beispiel Sie veröffentlichen oft Ihre eigenen Abhängigkeiten.
Können Sie die neueste version wie
oder besser geben Sie mindestens die major-version wie
code 'junit:junit:4.+'
funktioniert nichtScheint zu funktionieren für mich mit einfachen Anführungszeichen, zumindest für die lokalen Abhängigkeiten an. Welche Fehler haben Sie?
sollte es nicht "testCompile" anstatt "kompilieren"? weil Artefakt ist nicht erforderlich, in einer Pressemitteilung
Sie braucht nicht immer einen reproduzierbaren build.
True, aber wenn Sie unter-Entwicklung möchten Sie vielleicht, um (a) Folgen Sie den bleeding-edge oder (b) sicherzustellen, dass bug-fixes für v
4.+
gehalten werden up-to-date für Ihr Projekt. Wenn erreichen Sie Alpha -, Beta -, RC-oder -RELEASE-Phase; ich bin völlig einverstanden, müssen Sie die 'Nagel' diese Versionen an einem Pfahl. Ich benutze eineproperties' file to set version specifiers:
kompilieren "junit:junit:${junitVer}"`.InformationsquelleAutor jmruc
Check-out die Gradle-Versionen-Plugin. Es tut genau, was Sie wollen: https://github.com/ben-manes/gradle-versions-plugin
Für die installation, siehe die github-Seite. Im Grunde müssen Sie fügen Sie diese beiden Zeilen zu dem build.gradle - Projekt-Datei:
Dann können Sie das plugin nutzen, indem Sie diesen Befehl in terminal in Ihr Projekt-Verzeichnis:
Und es wird Ihnen zeigen, welche Abhängigkeiten sind veraltet!
InformationsquelleAutor Ben Marten
Neuesten Gradle User Guide erwähnt und erklärt, plus-Zeichen, die in den Versionen:
Vom 7.2. Die Erklärung Ihrer Abhängigkeiten:
Vom 23.7. Wie der Auflösung von Abhängigkeiten funktioniert:
InformationsquelleAutor RunninglVlan
In Android Studio:
Wenn Sie
+
für die version und möchten wissen, welche version ist tatsächlich verwendet wird, wählen SieProject
in der Seitenleiste, und klicken Sie dann unterExternal Libraries
sehen Sie die aktuelle Versionsnummer im Einsatz.Inego: ja, ich habe es auf die Antwort 😉
InformationsquelleAutor lenooh