Estou trabalhando com um projeto de código aberto criado com gradle. Gostaria de gerar um arquivo (project) -sources.jar que eu possa carregar no meu IDE (IntelliJ IDEA) e depurar no projeto. Eu sei como carregar o arquivo, se eu puder gerá-lo.
Examinei as tarefas gradle disponíveis para o projeto e não há uma que gere um arquivo jar de fontes.
Qual é a maneira mais fácil de gerar um arquivo jar de fontes para este projeto?
Adicionar a fonte ao arquivo jar que contém os arquivos de classe compilados também seria bom.
Se você estiver usando o Android:
a partir daqui
fonte
Se você deseja adicionar as fontes ao arquivo JAR das classes compiladas , o que você também disse que seria aceitável, faça isso com bastante facilidade. Basta adicionar o seguinte ao seu arquivo de compilação. Você pode ver que, em teoria, é bastante parecido com a solução para colocar fontes em um JAR separado:
A diferença é que você o está adicionando ao arquivo JAR principal dizendo "jar" em vez de sourcesJar.
fonte
Solução a partir do Gradle 6.0
Supondo que você use o
java
/java-library
plugin com o Gradle 6.0 ou posterior, você pode obter umasourcesJar
tarefa usando a seguinte configuração:Se você usar adicionalmente o
maven-publish
/ivy-publish
plugin (recomendado hoje em dia), isso também publicará um*-sources.jar
artefato junto com sua publicação Java principal.Veja também os documentos Gradle .
fonte
isso deve funcionar
fonte
assemble.dependsOn
parte, o que faz com que esta tarefa seja executada automaticamente.O equivalente DSL da Kotlin seria:
fonte
Project."java"
resolve para oJavaPluginExtension
qual não oferece nenhumsourceSets
oudocsDir
propriedades.from(sourceSets["main"].allJava)
from(javadoc)
efrom(sourceSets["main"].allSource)
Ao usar:
java
emaven-publish
pluginshttps://docs.gradle.org/current/dsl/org.gradle.api.publish.maven.MavenPublication.html
fonte