Dies ist eher eine Frage "mache ich es richtig".Wie benutze ich ein Bintray Benutzer Repo (richtig) für eine Abhängigkeit von Gradle?
Quick Back Geschichte: Ich habe ein Gradle-Plugin (in einem eigenständigen Gradle/Groovy-Projekt) gebaut. Ich verwende es in einem anderen Java-Projekt. Der Client-Projekt bezog sich auf sie über so etwas wie:
buildScript
{
flatDir {
dirs '../my-gradle-plugin/build/libs'
}
classpath name: 'gradle-my-plugin'
}
So habe ich nicht die relative Bezugnahme auf das Plugin-Projekt wollen (noch Teil des Clients machen Plugin). Ich dachte, ich würde sehen, ob ich es in einem BinTray aufstellen und wie ein "echtes" Plugin bezeichnen kann.
Also richten Sie BinTray und nach viel Versuch und Irrtum, ich habe es zur Arbeit, aber ich glaube nicht, dass ich richtig gemacht habe. Hier ist, was ich getan habe:
- Hergestellt ein Maven Repo: MyStuff
- Hergestellt ein Paket: gradle-my-Plugin
- Hergestellt eine Version: 0.1
- hochgeladen eine Datei für diese Version, aber angegeben ein Zielpfad wie "org/fhw/gradle-my-Plugin/0,1"
Mein buildScript 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'
}
}
Was mich interessiert, ist der Hack, den ich mit dem Ziel auf BinTray gemacht habe. W/O dies war der richtige Pfad nicht für hochgeladene Dateien/Gläser (für eine Version).
Also ist dies ein richtiger Prozess für BinTray und Gradle Abhängigkeiten?
so weit so in Ordnung. Aber Sie können den Prozess erleichtern, indem Sie das Gray-Bintray-Plugin zum Hochladen Ihres Plugins in bintray verwenden. Mit dem Plugin müssen Sie keine Pfade etc. manuell erstellen. –
Ja, ich kenne die Plugins; aber habe sie noch nicht ausprobiert.Ich bin auch mit etwas Gerede vertraut, dass vielleicht eines der Plugins überflüssig ist (https://github.com/davidmc24/gradle-bintray-plugin) und dass Vanille-Grapple (mit mavenPublisher, vielleicht) in BinTray veröffentlichen kann. Das andere Plugin (https://github.com/bintray/gradle-bintray-plugin) ist das, was Sie vorschlagen? Also bin ich ein Nexus-Benutzer und fand es schwierig, den Pfad mit meiner 'Gruppen-ID' angeben zu müssen; während Nexus dies zu verbergen scheint. Das lässt mich glauben, dass ich BinTray falsch mache. – fwelland