Wie Sie ein Bintray user-repo (richtig) für eine Abhängigkeit von gradle?
Dies ist mehr ein 'mache ich es richtig' in Frage.
Kurze Hintergrundgeschichte: ich habe gebaut ein gradle-plugin (im standalone-gradle/groovy-Projekt). Ich benutze es in einem anderen java-Projekt. Das client-Projekt war er über so etwas wie:
buildScript
{
flatDir {
dirs '../my-gradle-plugin/build/libs'
}
classpath name: 'gradle-my-plugin'
}
So, ich wollte nicht die relative Referenz auf das plugin-Projekt (noch-plugin ein Teil der Kunden). Ich dachte, ich würde sehen, ob ich es bis in ein BinTray und beziehen sich auf wie eine "echte" plugin.
So einrichten BinTray und nach viel Versuch und Irrtum, ich habe es zu arbeiten, aber ich glaube nicht, dass ich es richtig gemacht hast. Hier ist was ich getan habe:
- Aus einem maven-repo: MyStuff
- Aus einem Paket: gradle-mein-plugin
- Fassung: 0.1
- hochgeladen eine Datei für diese version, aber die angegebenen Ziel-Pfad wie "org/fhw/gradle-mein-plugin/0.1"
Meine buildscripts block sieht wie folgt aus:
buildScript {
repositories {
maven {
url 'http://dl.bintray.com/my-bintray-id/MyStuff
}
}
dependencies {
classpath 'org.fhw:gradle-my-plugin:0.1'
}
}
Also, was ich bin neugierig ist, den hack habe ich mit dem Ziel auf BinTray. W/O-dies der richtige Weg war nicht Platz für die hochgeladenen Dateien/Gläser (für eine version).
So ist diese in einem korrekten Prozess für die BinTray und Gradle dependencies?
- so weit, so okay. Aber man kann vereinfachen den Prozess durch die Verwendung des gradle bintray plugin Datei-Upload-plugin auf bintray. Mit dem plugin, brauchen Sie nicht manuell zu erstellen, Pfade etc.
- Ja, ich bin vertraut mit den plugin(s); aber noch nicht ausprobiert habe Sie noch nicht. Auch ich bin vertraut mit einige chatter, dass vielleicht eines der plugins ist überflüssig (github.com/davidmc24/gradle-bintray-plugin) und das Vanille-gradle kann (mit mavenPublisher, vielleicht) veröffentlichen zu BinTray. Das andere plugin (github.com/bintray/gradle-bintray-plugin) ist, dass das, was Sie vorschlagen? Also ich bin ein nexus-user, und fand es peinlich zu haben, um den Pfad mit meinen 'Gruppen-id'; beim nexus scheint dies zu verbergen. Das macht mich denke, ich mache BinTray falsch.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was du hast, ist OK, obwohl die Verwendung von die offizielle Bintray plugin könnte, um Ihr Leben viel einfacher.
Es ist immer besser von Tag zu Tag, das hinzufügen von Funktionen, und mehr zu tun und mehr Arbeit für Sie (z.B. kann es träge ein Paket erstellen und eine version für Sie, wenn Sie nicht vorhanden ist).
Andere Sache zu prüfen ist auch Ihr Paket zu jcenter. Einer der Vorteile dieser Integration werden ein kostenloses Konto in oss.jfrog.org für Ihren Entwicklungsprozess. Es ist eine freie Artifactory-Konto (wie nexus, aber so viel besser).
Bitte beachten Sie auch, dass Sie die Möglichkeit, Ihre plugin die Gradle plugins portal. Sobald Sie das tun, ist die Verwendung von plugin-down
Hier sind die Einbeziehung Anweisungen.
P. S. in Bezug auf die Gruppen-id, die nexus 'versteckt' - Bintray ist nicht beschränkt auf Maven Artefakten layout bereitstellen, können Sie Dateien in jedem layout, das Sie brauchen, das ist, warum Sie benötigen, um den Pfad beim hochladen von Dateien über die Benutzeroberfläche. Sagen, dass, wenn Bintray trifft auf eine pom-Datei zu den hochgeladenen Dateien, es setzt den Pfad automatisch.
Der Pfad ist auch optional bei Verwendung
maven
odermaven-publish
mit Bintray plugin - es berechnet den Pfad von Artefakten, wenn klar ist, dass das Maven-Dateien.