Je travaille avec un projet open source construit avec gradle. Je voudrais générer un fichier (projet) -sources.jar que je peux charger dans mon IDE (IntelliJ IDEA) et déboguer via le projet. Je sais comment charger le fichier si je peux le générer.
J'ai regardé à travers les tâches de gradle disponibles pour le projet et il n'y en a pas une qui génère un fichier jar sources.
Quelle est la manière la plus simple de générer un fichier jar sources pour ce projet?
L'ajout de la source dans le fichier jar contenant les fichiers de classe compilés serait également très bien.
Si vous utilisez Android:
d' ici
la source
Si vous souhaitez ajouter les sources au fichier JAR des classes compilées , ce que vous avez également dit serait acceptable, vous pouvez le faire assez facilement. Ajoutez simplement ce qui suit à votre fichier de construction. Vous pouvez voir que, en théorie, c'est tout à fait comme la solution pour mettre des sources dans un JAR séparé:
La différence est que vous l'ajoutez au fichier JAR principal en disant "jar" au lieu de sourcesJar.
la source
Solution à partir de Gradle 6.0
En supposant que vous utilisez le plugin
java
/java-library
avec Gradle 6.0 ou version ultérieure, vous pouvez obtenir unesourcesJar
tâche en utilisant la configuration suivante:Si vous utilisez en plus le plugin
maven-publish
/ivy-publish
(recommandé de nos jours), cela publiera également un*-sources.jar
artefact avec votre publication Java principale.Voir aussi la documentation Gradle .
la source
cela devrait fonctionner
la source
assemble.dependsOn
partie, ce qui rend cette tâche exécutée automatiquement.L'équivalent DSL Kotlin serait:
la source
Project."java"
résoutJavaPluginExtension
ce qui n'offre aucune propriétésourceSets
oudocsDir
.from(sourceSets["main"].allJava)
from(javadoc)
etfrom(sourceSets["main"].allSource)
Lors de l'utilisation:
java
etmaven-publish
pluginshttps://docs.gradle.org/current/dsl/org.gradle.api.publish.maven.MavenPublication.html
la source