Я работаю с проектом с открытым исходным кодом, который построен с Gradle. Я хотел бы создать файл (project) -sources.jar, который я могу загрузить в свою среду IDE (IntelliJ IDEA) и выполнить отладку в рамках проекта. Я знаю, как загрузить файл, если я могу его сгенерировать.
Я просмотрел доступные задачи для проекта, и нет ни одной, которая генерирует исходный файл JAR.
Какой самый простой способ создать исходный файл JAR для этого проекта?
Добавление исходного кода в jar-файл, содержащий скомпилированные файлы классов, также подойдет.
Если вы используете Android:
от сюда
источник
Если вы хотите добавить исходные коды в JAR-файл скомпилированных классов , который, как вы также сказали, будет приемлемым, вы можете сделать это достаточно легко. Просто добавьте следующее в ваш файл сборки. Вы можете видеть, что, теоретически, это очень похоже на решение для помещения источников в отдельный JAR:
Разница в том, что вы добавляете его в основной файл JAR, говоря «jar» вместо sourcesJar.
источник
Решение от Gradle 6.0
Предполагая, что вы используете плагин
java
/java-library
Gradle 6.0 или более позднейsourcesJar
версии , вы можете получить задачу, используя следующую конфигурацию:Если вы дополнительно используете плагин
maven-publish
/ivy-publish
(рекомендуется в настоящее время), то он также опубликует*-sources.jar
артефакт вместе с вашей основной публикацией Java.Смотрите также документы Gradle .
источник
это должно работать
источник
assemble.dependsOn
части, которая заставляет эту задачу запускаться автоматически.Эквивалентом Kotlin DSL будет:
источник
Project."java"
решает,JavaPluginExtension
что не предлагает никакихsourceSets
илиdocsDir
свойств.from(sourceSets["main"].allJava)
from(javadoc)
иfrom(sourceSets["main"].allSource)
Когда используешь:
java
иmaven-publish
плагиныhttps://docs.gradle.org/current/dsl/org.gradle.api.publish.maven.MavenPublication.html
источник