Skip to content

Commit 428aa28

Browse files
authored
Restructure to have a single spring-boot-autoconfigure artifact (#11826)
1 parent 09ad619 commit 428aa28

File tree

84 files changed

+205
-188
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+205
-188
lines changed

docs/apidiffs/current_vs_latest/opentelemetry-spring-boot-autoconfigure-3.txt

-2
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
Comparing source compatibility of opentelemetry-spring-boot-autoconfigure-2-2.6.0-SNAPSHOT.jar against
2-
+++ NEW CLASS: PUBLIC(+) io.opentelemetry.instrumentation.spring.autoconfigure.v2.OpenTelemetryAutoConfiguration (not serializable)
1+
Comparing source compatibility of opentelemetry-spring-boot-autoconfigure-2.6.0-SNAPSHOT.jar against
2+
+++ NEW CLASS: PUBLIC(+) io.opentelemetry.instrumentation.spring.autoconfigure.OpenTelemetryAutoConfiguration (not serializable)
33
+++ CLASS FILE FORMAT VERSION: 52.0 <- n.a.
44
+++ NEW SUPERCLASS: java.lang.Object
55
+++ NEW CONSTRUCTOR: PUBLIC(+) OpenTelemetryAutoConfiguration()
66
+++ NEW ANNOTATION: org.springframework.context.annotation.Configuration
77
+++ NEW ANNOTATION: org.springframework.boot.context.properties.EnableConfigurationProperties
8-
+++ NEW ELEMENT: value=io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.OtlpExporterProperties,io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.OtelResourceProperties,io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.PropagationProperties (+)
8+
+++ NEW ELEMENT: value=io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtlpExporterProperties,io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtelResourceProperties,io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.PropagationProperties (+)

docs/contributing/intellij-setup-and-troubleshooting.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ If you are working on a specific instrumentation, you can load only the modules
3535
For example, to load the modules for the Spring Boot autoconfigure instrumentation, run:
3636

3737
```shell
38-
./docs/contributing/selectModules.kts instrumentation/spring/spring-boot-autoconfigure-2/
38+
./docs/contributing/selectModules.kts instrumentation/spring/spring-boot-autoconfigure/
3939
```
4040

4141
Install the [Kotlin executable](https://kotlinlang.org/docs/tutorials/command-line.html)

docs/contributing/selectModules.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ main(args)
1212

1313
fun main(args: Array<String>) {
1414
if (args.isEmpty()) {
15-
println("Usage: ./docs/contributing/selectModules.kts instrumentation/spring/spring-boot-autoconfigure-2/ <module to include2> ...")
15+
println("Usage: ./docs/contributing/selectModules.kts instrumentation/spring/spring-boot-autoconfigure/ <module to include2> ...")
1616
return
1717
}
1818

instrumentation/spring/spring-boot-autoconfigure-2/src/main/resources/META-INF/spring.factories

-15
This file was deleted.

instrumentation/spring/spring-boot-autoconfigure-2/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

-10
This file was deleted.

instrumentation/spring/spring-boot-autoconfigure-3/README.md

-7
This file was deleted.

instrumentation/spring/spring-boot-autoconfigure-3/build.gradle.kts

-26
This file was deleted.

instrumentation/spring/spring-boot-autoconfigure-3/gradle.properties

-1
This file was deleted.

instrumentation/spring/spring-boot-autoconfigure-3/src/main/resources/META-INF/spring/aot.factories

-2
This file was deleted.

instrumentation/spring/spring-boot-autoconfigure-3/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

-2
This file was deleted.

instrumentation/spring/spring-boot-autoconfigure-2/build.gradle.kts instrumentation/spring/spring-boot-autoconfigure/build.gradle.kts

+59-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ plugins {
33
id("otel.japicmp-conventions")
44
}
55

6-
base.archivesName.set("opentelemetry-spring-boot-autoconfigure-2")
6+
base.archivesName.set("opentelemetry-spring-boot-autoconfigure")
77
group = "io.opentelemetry.instrumentation"
88

99
val springBootVersion = "2.7.18" // AutoConfiguration is added in 2.7.0, but can be used with older versions
@@ -18,6 +18,17 @@ sourceSets {
1818
"builtBy" to ":instrumentation:r2dbc-1.0:library-instrumentation-shaded:extractShadowJarSpring",
1919
)
2020
}
21+
create("javaSpring3") {
22+
java {
23+
setSrcDirs(listOf("src/main/javaSpring3"))
24+
}
25+
}
26+
}
27+
28+
configurations {
29+
named("javaSpring3CompileOnly") {
30+
extendsFrom(configurations["compileOnly"])
31+
}
2132
}
2233

2334
dependencies {
@@ -82,6 +93,16 @@ dependencies {
8293
testImplementation("io.opentelemetry:opentelemetry-exporter-otlp")
8394
testImplementation("io.opentelemetry:opentelemetry-exporter-zipkin")
8495
testImplementation(project(":instrumentation-annotations"))
96+
97+
// needed for the Spring Boot 3 support
98+
implementation(project(":instrumentation:spring:spring-webmvc:spring-webmvc-6.0:library"))
99+
100+
// give access to common classes, e.g. InstrumentationConfigUtil
101+
add("javaSpring3CompileOnly", files(sourceSets.main.get().output.classesDirs))
102+
add("javaSpring3CompileOnly", "org.springframework.boot:spring-boot-starter-web:3.2.4")
103+
add("javaSpring3CompileOnly", "io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
104+
add("javaSpring3CompileOnly", project(":instrumentation:spring:spring-web:spring-web-3.1:library"))
105+
add("javaSpring3CompileOnly", project(":instrumentation:spring:spring-webmvc:spring-webmvc-6.0:library"))
85106
}
86107

87108
val latestDepTest = findProperty("testLatestDeps") as Boolean
@@ -93,6 +114,9 @@ if (latestDepTest) {
93114
}
94115
}
95116

117+
val testJavaVersion = gradle.startParameter.projectProperties["testJavaVersion"]?.let(JavaVersion::toVersion)
118+
val testSpring3 = (testJavaVersion == null || testJavaVersion.compareTo(JavaVersion.VERSION_17) >= 0)
119+
96120
testing {
97121
suites {
98122
val testLogbackAppender by registering(JvmTestSuite::class) {
@@ -118,9 +142,7 @@ testing {
118142
}
119143
}
120144
}
121-
}
122145

123-
suites {
124146
val testLogbackMissing by registering(JvmTestSuite::class) {
125147
dependencies {
126148
implementation(project())
@@ -133,6 +155,20 @@ testing {
133155
}
134156
}
135157
}
158+
159+
val testSpring3 by registering(JvmTestSuite::class) {
160+
dependencies {
161+
implementation(project())
162+
implementation("org.springframework.boot:spring-boot-starter-web:3.2.4")
163+
implementation("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure")
164+
implementation(project(":instrumentation:spring:spring-web:spring-web-3.1:library"))
165+
implementation(project(":instrumentation:spring:spring-webmvc:spring-webmvc-6.0:library"))
166+
implementation("jakarta.servlet:jakarta.servlet-api:5.0.0")
167+
implementation("org.springframework.boot:spring-boot-starter-test:3.2.4") {
168+
exclude("org.junit.vintage", "junit-vintage-engine")
169+
}
170+
}
171+
}
136172
}
137173
}
138174

@@ -158,4 +194,24 @@ tasks {
158194
jvmArgs("--add-opens=java.base/java.lang=ALL-UNNAMED")
159195
jvmArgs("-XX:+IgnoreUnrecognizedVMOptions")
160196
}
197+
198+
named<JavaCompile>("compileJavaSpring3Java") {
199+
sourceCompatibility = "17"
200+
targetCompatibility = "17"
201+
options.release.set(17)
202+
}
203+
204+
named<JavaCompile>("compileTestSpring3Java") {
205+
sourceCompatibility = "17"
206+
targetCompatibility = "17"
207+
options.release.set(17)
208+
}
209+
210+
named<Test>("testSpring3") {
211+
isEnabled = testSpring3
212+
}
213+
214+
withType(Jar::class) {
215+
from(sourceSets["javaSpring3"].output)
216+
}
161217
}
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.spring.autoconfigure.v2;
6+
package io.opentelemetry.instrumentation.spring.autoconfigure;
77

88
import io.opentelemetry.api.OpenTelemetry;
99
import io.opentelemetry.api.trace.TracerProvider;
10-
import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.MapConverter;
11-
import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.SdkEnabled;
12-
import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.OtelResourceProperties;
13-
import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.OtlpExporterProperties;
14-
import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.PropagationProperties;
15-
import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.SpringConfigProperties;
16-
import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.resources.DistroVersionResourceProvider;
17-
import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.resources.SpringResourceProvider;
10+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.MapConverter;
11+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.SdkEnabled;
12+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtelResourceProperties;
13+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.OtlpExporterProperties;
14+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.PropagationProperties;
15+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.SpringConfigProperties;
16+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.resources.DistroVersionResourceProvider;
17+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.resources.SpringResourceProvider;
1818
import io.opentelemetry.sdk.autoconfigure.AutoConfiguredOpenTelemetrySdk;
1919
import io.opentelemetry.sdk.autoconfigure.internal.AutoConfigureUtil;
2020
import io.opentelemetry.sdk.autoconfigure.internal.ComponentLoader;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal;
6+
package io.opentelemetry.instrumentation.spring.autoconfigure.internal;
77

88
import io.opentelemetry.api.OpenTelemetry;
99
import java.lang.annotation.ElementType;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal;
6+
package io.opentelemetry.instrumentation.spring.autoconfigure.internal;
77

88
import java.util.Map;
99
import org.springframework.context.annotation.Condition;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal;
6+
package io.opentelemetry.instrumentation.spring.autoconfigure.internal;
77

88
import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties;
99
import java.util.Collections;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal;
6+
package io.opentelemetry.instrumentation.spring.autoconfigure.internal;
77

88
import org.springframework.boot.autoconfigure.condition.AnyNestedCondition;
99
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.annotations;
6+
package io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.annotations;
77

88
import io.opentelemetry.api.OpenTelemetry;
99
import io.opentelemetry.instrumentation.annotations.WithSpan;
10-
import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.ConditionalOnEnabledInstrumentation;
10+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation;
1111
import org.aspectj.lang.annotation.Aspect;
1212
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
1313
import org.springframework.context.annotation.Bean;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.annotations;
6+
package io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.annotations;
77

88
import io.opentelemetry.api.OpenTelemetry;
99
import org.aspectj.lang.ProceedingJoinPoint;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.annotations;
6+
package io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.annotations;
77

88
import io.opentelemetry.api.trace.SpanKind;
99
import io.opentelemetry.instrumentation.annotations.WithSpan;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.annotations;
6+
package io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.annotations;
77

88
import io.opentelemetry.instrumentation.api.incubator.semconv.code.CodeAttributesGetter;
99

Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.annotations;
6+
package io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.annotations;
77

88
import io.opentelemetry.api.OpenTelemetry;
99
import io.opentelemetry.api.trace.Span;
@@ -28,7 +28,7 @@
2828
* can not be applied to constructors.
2929
*/
3030
abstract class WithSpanAspect {
31-
private static final String INSTRUMENTATION_NAME = "io.opentelemetry.spring-boot-autoconfigure-2";
31+
private static final String INSTRUMENTATION_NAME = "io.opentelemetry.spring-boot-autoconfigure";
3232

3333
private final Instrumenter<JoinPointRequest, Object> instrumenter;
3434
private final JoinPointRequest.Factory requestFactory;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.annotations;
6+
package io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.annotations;
77

88
import io.opentelemetry.instrumentation.annotations.SpanAttribute;
99
import io.opentelemetry.instrumentation.api.annotation.support.ParameterAttributeNamesExtractor;
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.jdbc;
6+
package io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.jdbc;
77

88
import com.google.errorprone.annotations.CanIgnoreReturnValue;
99
import io.opentelemetry.api.OpenTelemetry;
1010
import io.opentelemetry.instrumentation.jdbc.datasource.JdbcTelemetry;
11-
import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.properties.InstrumentationConfigUtil;
11+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.properties.InstrumentationConfigUtil;
1212
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
1313
import javax.sql.DataSource;
1414
import org.springframework.aop.scope.ScopedProxyUtils;
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.jdbc;
6+
package io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.jdbc;
77

88
import io.opentelemetry.api.OpenTelemetry;
9-
import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.ConditionalOnEnabledInstrumentation;
9+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation;
1010
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
1111
import javax.sql.DataSource;
1212
import org.springframework.beans.factory.ObjectProvider;
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.kafka;
6+
package io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.kafka;
77

88
import io.opentelemetry.api.OpenTelemetry;
99
import io.opentelemetry.instrumentation.spring.kafka.v2_7.SpringKafkaTelemetry;
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.instrumentation.kafka;
6+
package io.opentelemetry.instrumentation.spring.autoconfigure.internal.instrumentation.kafka;
77

88
import io.opentelemetry.api.OpenTelemetry;
99
import io.opentelemetry.instrumentation.kafkaclients.v2_6.KafkaTelemetry;
10-
import io.opentelemetry.instrumentation.spring.autoconfigure.v2.internal.ConditionalOnEnabledInstrumentation;
10+
import io.opentelemetry.instrumentation.spring.autoconfigure.internal.ConditionalOnEnabledInstrumentation;
1111
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
1212
import org.springframework.beans.factory.ObjectProvider;
1313
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;

0 commit comments

Comments
 (0)