Include shadowed jar source in published source artifacts

Add a new `ShadowSource` Gradle task and update `spring-core.gradle`
to include source for cglib, javapoet and objenesis.

Closes gh-28892

Co-authored-by: Andy Wilkinson <wilkinsona@vmware.com>
This commit is contained in:
Phillip Webb
2022-02-22 11:09:37 -08:00
parent 2dc8335b7f
commit 9d1e9703ae
2 changed files with 201 additions and 0 deletions

View File

@@ -1,4 +1,5 @@
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import org.springframework.build.shadow.ShadowSource
description = "Spring Core"
@@ -27,6 +28,13 @@ task cglibRepackJar(type: ShadowJar) {
relocate 'org.objectweb.asm', 'org.springframework.asm'
}
task cglibSource(type: ShadowSource) {
configurations = [project.configurations.cglib]
relocate 'net.sf.cglib', 'org.springframework.cglib'
relocate 'org.objectweb.asm', 'org.springframework.asm'
outputDirectory = file("build/shadow-source/cglib")
}
task javapoetRepackJar(type: ShadowJar) {
archiveBaseName.set('spring-javapoet-repack')
archiveVersion.set(javapoetVersion)
@@ -34,6 +42,12 @@ task javapoetRepackJar(type: ShadowJar) {
relocate 'com.squareup.javapoet', 'org.springframework.javapoet'
}
task javapoetSource(type: ShadowSource) {
configurations = [project.configurations.javapoet]
relocate 'com.squareup.javapoet', 'org.springframework.javapoet'
outputDirectory = file("build/shadow-source/javapoet")
}
task objenesisRepackJar(type: ShadowJar) {
archiveBaseName.set('spring-objenesis-repack')
archiveVersion.set(objenesisVersion)
@@ -41,6 +55,12 @@ task objenesisRepackJar(type: ShadowJar) {
relocate 'org.objenesis', 'org.springframework.objenesis'
}
task objenesisSource(type: ShadowSource) {
configurations = [project.configurations.objenesis]
relocate 'org.objenesis', 'org.springframework.objenesis'
outputDirectory = file("build/shadow-source/objenesis")
}
dependencies {
cglib("cglib:cglib:${cglibVersion}@jar")
javapoet("com.squareup:javapoet:${javapoetVersion}@jar")
@@ -122,3 +142,9 @@ test {
"-XX:+AllowRedefinitionToAddDeleteMethods"
]
}
sourcesJar {
from cglibSource
from javapoetSource
from objenesisSource
}