Ich arbeite mit einem Open-Source-Projekt, das mit gradle erstellt wurde. Ich möchte eine (Projekt-) -sources.jar-Datei generieren, die ich in meine IDE (IntelliJ IDEA) laden und über das Projekt debuggen kann. Ich kann die Datei laden, wenn ich sie generieren kann.
Ich habe die verfügbaren Gradle-Aufgaben für das Projekt durchgesehen und es gibt keine, die eine Quell-JAR-Datei generiert.
Was ist der einfachste Weg, um eine Quell-JAR-Datei für dieses Projekt zu generieren?
Das Hinzufügen der Quelle zu der JAR-Datei, die die kompilierten Klassendateien enthält, ist ebenfalls in Ordnung.
Wenn Sie Android verwenden:
von hier
quelle
Wenn Sie die Quellen zur JAR-Datei für kompilierte Klassen hinzufügen möchten , von der Sie auch sagten, dass sie akzeptabel wäre, können Sie dies problemlos tun. Fügen Sie Ihrer Build-Datei einfach Folgendes hinzu. Sie können sehen, dass es theoretisch der Lösung ähnelt, Quellen in ein separates JAR zu stellen:
Der Unterschied besteht darin, dass Sie es zur Haupt-JAR-Datei hinzufügen, indem Sie "jar" anstelle von sourceJar sagen.
quelle
Lösung ab Gradle 6.0
Angenommen, Sie verwenden das Plugin
java
/java-library
mit Gradle 6.0 oder höher, können Sie einesourcesJar
Aufgabe mit der folgenden Konfiguration erhalten:Wenn Sie zusätzlich das Plugin
maven-publish
/ verwendenivy-publish
(heutzutage empfohlen), wird dadurch auch ein*-sources.jar
Artefakt zusammen mit Ihrer Haupt-Java-Publikation veröffentlicht.Siehe auch die Gradle-Dokumente .
quelle
das sollte funktionieren
quelle
assemble.dependsOn
Teil, wodurch diese Aufgabe automatisch ausgeführt wird.Das Kotlin DSL-Äquivalent wäre:
quelle
Project."java"
Auflösungen, fürJavaPluginExtension
die keinesourceSets
oderdocsDir
Eigenschaften angeboten werden.from(sourceSets["main"].allJava)
from(javadoc)
undfrom(sourceSets["main"].allSource)
Beim Benutzen:
java
undmaven-publish
Pluginshttps://docs.gradle.org/current/dsl/org.gradle.api.publish.maven.MavenPublication.html
quelle