diff --git a/spring-core/spring-core.gradle b/spring-core/spring-core.gradle index ed8730d957..452905bdf9 100644 --- a/spring-core/spring-core.gradle +++ b/spring-core/spring-core.gradle @@ -4,14 +4,17 @@ description = "Spring Core" apply plugin: "kotlin" -// spring-core includes asm and repackages cglib, inlining both into the spring-core jar. -// cglib itself depends on asm and is therefore further transformed by the ShadowJar task to -// depend on org.springframework.asm; this avoids including two different copies of asm. +// spring-core includes asm, javapoet and repackages cglib, inlining all into the +// spring-core jar. cglib itself depends on asm and is therefore further transformed by +// the ShadowJar task to depend on org.springframework.asm; this avoids including two +// different copies of asm. def cglibVersion = "3.3.0" +def javapoetVersion = "1.13.0" def objenesisVersion = "3.2" configurations { cglib + javapoet objenesis } @@ -23,6 +26,13 @@ task cglibRepackJar(type: ShadowJar) { relocate 'org.objectweb.asm', 'org.springframework.asm' } +task javapoetRepackJar(type: ShadowJar) { + archiveBaseName.set('spring-javapoet-repack') + archiveVersion.set(javapoetVersion) + configurations = [project.configurations.javapoet] + relocate 'com.squareup.javapoet', 'org.springframework.javapoet' +} + task objenesisRepackJar(type: ShadowJar) { archiveBaseName.set('spring-objenesis-repack') archiveVersion.set(objenesisVersion) @@ -32,8 +42,10 @@ task objenesisRepackJar(type: ShadowJar) { dependencies { cglib("cglib:cglib:${cglibVersion}@jar") + javapoet("com.squareup:javapoet:${javapoetVersion}@jar") objenesis("org.objenesis:objenesis:${objenesisVersion}@jar") api(files(cglibRepackJar)) + api(files(javapoetRepackJar)) api(files(objenesisRepackJar)) api(project(":spring-jcl")) compileOnly("io.projectreactor.tools:blockhound") @@ -83,6 +95,11 @@ jar { exclude "org/springframework/cglib/proxy/MethodProxy*.class" } + dependsOn javapoetRepackJar + from(zipTree(javapoetRepackJar.archivePath)) { + include "org/springframework/javapoet/**" + } + dependsOn objenesisRepackJar from(zipTree(objenesisRepackJar.archivePath)) { include "org/springframework/objenesis/**" diff --git a/spring-core/src/main/java/org/springframework/javapoet/package-info.java b/spring-core/src/main/java/org/springframework/javapoet/package-info.java new file mode 100644 index 0000000000..5f7f7c3ff6 --- /dev/null +++ b/spring-core/src/main/java/org/springframework/javapoet/package-info.java @@ -0,0 +1,6 @@ +/** + * Spring's repackaging of + * JavaPoet + * (with Spring-specific utilities; for internal use only). + */ +package org.springframework.javapoet; diff --git a/src/docs/dist/license.txt b/src/docs/dist/license.txt index c68e1154b1..2170aa9784 100644 --- a/src/docs/dist/license.txt +++ b/src/docs/dist/license.txt @@ -255,6 +255,14 @@ CGLIB 3.3 is licensed under the Apache License, version 2.0, the text of which is included above. +>>> JavaPoet 1.13.0 (com.squareup:javapoet:1.13.0): + +Per the LICENSE file in the CGLIB JAR distribution downloaded from +https://github.com/square/javapoet/archive/refs/tags/javapoet-1.13.0.zip, +JavaPoet 1.13.0 is licensed under the Apache License, version 2.0, the text of +which is included above. + + >>> Objenesis 3.1 (org.objenesis:objenesis:3.1): Per the LICENSE file in the Objenesis ZIP distribution downloaded from