Skip to content

Commit 4bd28aa

Browse files
authored
Change ClientCore's baseline to Java 8 and make it a multi-release JAR (Azure#43931)
Change ClientCore's baseline to Java 8 and make it a multi-release JAR
1 parent b50fa28 commit 4bd28aa

37 files changed

+1276
-548
lines changed

sdk/clientcore/core/checkstyle-suppressions.xml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,21 @@
77
<suppress files="io.clientcore.core.implementation.http.rest.RequestDataConfiguration.java" checks="MissingJavadocMethodCheck" />
88
<suppress files="io.clientcore.core.implementation.http.rest.SwaggerMethodParser.java" checks="MissingJavadocMethodCheck" />
99
<suppress files="io.clientcore.core.implementation.instrumentation.DefaultLogger.java" checks="MissingJavadocMethodCheck" />
10+
<suppress files="io.clientcore.core.implementation.instrumentation.Slf4jLoggerShim.java" checks="MissingJavadocMethodCheck" />
1011
<suppress files="io.clientcore.core.implementation.util.ImplUtils.java" checks="MissingJavadocMethodCheck" />
1112
<suppress files="io.clientcore.core.implementation.util.IterableOfByteBuffersInputStream.java" checks="MissingJavadocMethodCheck" />
1213
<suppress files="io.clientcore.core.implementation.util.ServerSentEventHelper.java" checks="MissingJavadocMethodCheck" />
13-
<suppress files="io.clientcore.core.implementation.instrumentation.Slf4jLoggerShim.java" checks="MissingJavadocMethodCheck" />
1414
<suppress files="io.clientcore.core.implementation.http.rest.HeaderSubstitution.java" checks="MissingJavadocTypeCheck" />
1515
<suppress files="io.clientcore.core.implementation.http.rest.RequestDataConfiguration.java" checks="MissingJavadocTypeCheck" />
1616
<suppress files="io.clientcore.core.implementation.http.rest.RestProxyImpl.java" checks="MissingJavadocTypeCheck" />
17+
<suppress files="io.clientcore.core.implementation.instrumentation.Slf4jLoggerShim.java" checks="MissingJavadocTypeCheck" />
1718
<suppress files="io.clientcore.core.implementation.util.EnvironmentConfiguration.java" checks="MissingJavadocTypeCheck" />
1819
<suppress files="io.clientcore.core.implementation.util.ImplUtils.java" checks="MissingJavadocTypeCheck" />
19-
<suppress files="io.clientcore.core.implementation.instrumentation.Slf4jLoggerShim.java" checks="MissingJavadocTypeCheck" />
20-
<suppress files="io.clientcore.core.implementation.util.EnvironmentConfiguration.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
2120
<suppress files="io.clientcore.core.implementation.instrumentation.Slf4jLoggerShim.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
21+
<suppress files="io.clientcore.core.implementation.util.EnvironmentConfiguration.java" checks="com.azure.tools.checkstyle.checks.EnforceFinalFieldsCheck" />
2222
<suppress files="io.clientcore.core.implementation.ReflectionSerializable.java" checks="com.azure.tools.checkstyle.checks.JavadocThrowsChecks" />
2323
<suppress files="io.clientcore.core.implementation.http.serializer.HttpResponseBodyDecoder.java" checks="com.azure.tools.checkstyle.checks.JavadocThrowsChecks" />
2424
<suppress files="io.clientcore.core.http.client.DefaultHttpClientBuilder.java" checks="com.azure.tools.checkstyle.checks.ServiceClientBuilderCheck" />
25-
<suppress files="io.clientcore.core.http.client.implementation.InputStreamTimeoutResponseSubscriber.java" checks="com.azure.tools.checkstyle.checks.ThrowFromClientLoggerCheck" />
2625
<suppress files="io.clientcore.core.http.pipeline.HttpInstrumentationPolicy.java" checks="com.azure.tools.checkstyle.checks.ThrowFromClientLoggerCheck" />
2726
<suppress files="io.clientcore.core.implementation.MethodHandleReflectiveInvoker.java" checks="com.azure.tools.checkstyle.checks.ThrowFromClientLoggerCheck" />
2827
<suppress files="io.clientcore.core.implementation.http.rest.LengthValidatingInputStream.java" checks="com.azure.tools.checkstyle.checks.ThrowFromClientLoggerCheck" />

sdk/clientcore/core/pom.xml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,18 @@
139139
<goal>test-jar</goal>
140140
</goals>
141141
</execution>
142+
143+
<execution>
144+
<id>default-jar</id>
145+
<phase>package</phase>
146+
<configuration>
147+
<archive>
148+
<manifestEntries>
149+
<Multi-Release>true</Multi-Release>
150+
</manifestEntries>
151+
</archive>
152+
</configuration>
153+
</execution>
142154
</executions>
143155
</plugin>
144156

@@ -197,6 +209,38 @@
197209
</build>
198210

199211
<profiles>
212+
<profile>
213+
<id>java12-plus</id>
214+
<activation>
215+
<jdk>[12,)</jdk>
216+
</activation>
217+
218+
<build>
219+
<plugins>
220+
<plugin>
221+
<groupId>org.apache.maven.plugins</groupId>
222+
<artifactId>maven-compiler-plugin</artifactId>
223+
<version>3.13.0</version> <!-- {x-version-update;org.apache.maven.plugins:maven-compiler-plugin;external_dependency} -->
224+
<executions>
225+
<execution>
226+
<id>java12-plus-mr</id>
227+
<goals>
228+
<goal>compile</goal>
229+
</goals>
230+
<configuration>
231+
<release>12</release>
232+
<compileSourceRoots>
233+
<compileSourceRoot>${project.basedir}/src/main/java12</compileSourceRoot>
234+
</compileSourceRoots>
235+
<multiReleaseOutput>true</multiReleaseOutput>
236+
</configuration>
237+
</execution>
238+
</executions>
239+
</plugin>
240+
</plugins>
241+
</build>
242+
</profile>
243+
200244
<profile>
201245
<id>jmh-benchmark</id>
202246
<activation>

sdk/clientcore/core/spotbugs-exclude.xml

Lines changed: 12 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
<Match>
1414
<Bug pattern="BC_UNCONFIRMED_CAST_OF_RETURN_VALUE" />
1515
<Or>
16-
<Class name="io.clientcore.core.http.client.DefaultHttpClient" />
1716
<Class name="io.clientcore.core.http.models.HttpRequest" />
1817
<Class name="io.clientcore.core.http.models.RequestOptions" />
1918
<Class name="io.clientcore.core.http.pipeline.HttpPipelineNextPolicy" />
2019
<Class name="io.clientcore.core.http.pipeline.HttpRetryPolicy" />
20+
<Class name="io.clientcore.core.implementation.ReflectionUtilsMethodHandle" />
2121
<Class name="io.clientcore.core.implementation.http.HttpPipelineCallState" />
2222
<Class name="io.clientcore.core.implementation.http.rest.PercentEscaper" />
2323
<Class name="io.clientcore.core.implementation.http.rest.ResponseConstructorsCache" />
@@ -26,7 +26,6 @@
2626
<Class name="io.clientcore.core.implementation.http.rest.ResponseConstructorsNoCacheReflection" />
2727
<Class name="io.clientcore.core.implementation.http.rest.ResponseExceptionConstructorCache" />
2828
<Class name="io.clientcore.core.implementation.http.rest.RestProxyImpl" />
29-
<Class name="io.clientcore.core.implementation.http.serializer.CompositeSerializer" />
3029
<Class name="io.clientcore.core.implementation.util.DateTimeRfc1123" />
3130
<Class name="io.clientcore.core.implementation.util.InternalContext" />
3231
<Class name="io.clientcore.core.implementation.util.JsonSerializer" />
@@ -66,13 +65,14 @@
6665
<Bug pattern="CT_CONSTRUCTOR_THROW" />
6766
<Or>
6867
<Class name="io.clientcore.core.credential.KeyCredential" />
68+
<Class name="io.clientcore.core.http.client.DefaultHttpClient" />
69+
<Class name="io.clientcore.core.http.client.DefaultHttpClientBuilder" />
6970
<Class name="io.clientcore.core.http.models.HttpRequest" />
7071
<Class name="io.clientcore.core.http.pipeline.KeyCredentialPolicy" />
7172
<Class name="io.clientcore.core.implementation.http.rest.SwaggerMethodParser" />
7273
<Class name="io.clientcore.core.implementation.instrumentation.otel.OTelInstrumentation" />
73-
<Class name="io.clientcore.core.serialization.json.implementation.jackson.core.util.RequestPayload" />
7474
<Class name="io.clientcore.core.instrumentation.logging.ClientLogger" />
75-
<Class name="io.clientcore.core.implementation.instrumentation.otel.OTelInstrumentation" />
75+
<Class name="io.clientcore.core.serialization.json.implementation.jackson.core.util.RequestPayload" />
7676
</Or>
7777
</Match>
7878
<Match>
@@ -104,7 +104,7 @@
104104
<Bug pattern="DM_DEFAULT_ENCODING" />
105105
<Or>
106106
<Class name="io.clientcore.core.http.RestProxyTests" />
107-
<Class name="io.clientcore.core.http.client.DefaultHttpClientTest" />
107+
<Class name="io.clientcore.core.http.client.DefaultHttpClientIT" />
108108
<Class name="io.clientcore.core.http.client.SimpleBasicAuthHttpProxyServer" />
109109
<Class name="io.clientcore.core.implementation.http.rest.RestProxyImplTests" />
110110
<Class name="io.clientcore.core.implementation.serializer.AdditionalPropertiesSerializerTests" />
@@ -113,13 +113,13 @@
113113
<Class name="io.clientcore.core.implementation.serializer.BinaryDataSerializationTests$MapProperty" />
114114
<Class name="io.clientcore.core.implementation.serializer.BinaryDataSerializationTests$SimpleProperty" />
115115
<Class name="io.clientcore.core.implementation.serializer.JsonSerializableEndToEndTests" />
116+
<Class name="io.clientcore.core.instrumentation.logging.ClientLoggerTests" />
117+
<Class name="io.clientcore.core.instrumentation.logging.InstrumentationTestUtils" />
116118
<Class name="io.clientcore.core.serialization.json.implementation.DefaultJsonReader" />
117119
<Class name="io.clientcore.core.serialization.json.implementation.DefaultJsonWriter" />
118120
<Class name="io.clientcore.core.serialization.xml.XmlReader" />
119121
<Class name="io.clientcore.core.shared.HttpClientTests" />
120122
<Class name="io.clientcore.core.shared.HttpClientTestsServer" />
121-
<Class name="io.clientcore.core.instrumentation.logging.ClientLoggerTests" />
122-
<Class name="io.clientcore.core.instrumentation.logging.InstrumentationTestUtils" />
123123
<Class name="io.clientcore.core.util.binarydata.BinaryDataTest" />
124124
<Class name="io.clientcore.core.util.serializer.JsonSerializerTests" />
125125
</Or>
@@ -163,8 +163,8 @@
163163
<Bug pattern="INFORMATION_EXPOSURE_THROUGH_AN_ERROR_MESSAGE" />
164164
<Or>
165165
<Class name="io.clientcore.core.implementation.instrumentation.DefaultLogger" />
166-
<Class name="io.clientcore.core.serialization.xml.implementation.aalto.UncheckedStreamException" />
167166
<Class name="io.clientcore.core.instrumentation.logging.ClientLoggerTests" />
167+
<Class name="io.clientcore.core.serialization.xml.implementation.aalto.UncheckedStreamException" />
168168
</Or>
169169
</Match>
170170
<Match>
@@ -232,32 +232,29 @@
232232
<Bug pattern="NP_NULL_PARAM_DEREF_NONVIRTUAL" />
233233
<Or>
234234
<Class name="io.clientcore.core.implementation.http.rest.LengthValidatingInputStreamTests" />
235+
<Class name="io.clientcore.core.implementation.instrumentation.fallback.FallbackInstrumentationTests" />
235236
<Class name="io.clientcore.core.serialization.json.implementation.StringBuilderWriterTests" />
236237
<Class name="io.clientcore.core.util.binarydata.BinaryDataTest" />
237-
<Class name="io.clientcore.core.implementation.instrumentation.fallback.FallbackInstrumentationTests" />
238238
</Or>
239239
</Match>
240240
<Match>
241241
<Bug pattern="OS_OPEN_STREAM" />
242242
<Or>
243-
<Class name="io.clientcore.core.serialization.json.implementation.StringBuilderWriterTests" />
244243
<Class name="io.clientcore.core.http.pipeline.HttpInstrumentationLoggingTests" />
244+
<Class name="io.clientcore.core.serialization.json.implementation.StringBuilderWriterTests" />
245245
</Or>
246246
</Match>
247247
<Match>
248248
<Bug pattern="PATH_TRAVERSAL_IN" />
249-
<Or>
250-
<Class name="io.clientcore.core.http.client.DefaultHttpClientBuilder" />
251-
<Class name="io.clientcore.core.models.MockFile" />
252-
</Or>
249+
<Class name="io.clientcore.core.models.MockFile" />
253250
</Match>
254251
<Match>
255252
<Bug pattern="PREDICTABLE_RANDOM" />
256253
<Or>
257254
<Class name="io.clientcore.core.http.pipeline.HttpRetryPolicy" />
255+
<Class name="io.clientcore.core.implementation.instrumentation.fallback.RandomIdUtils" />
258256
<Class name="io.clientcore.core.shared.HttpClientTests" />
259257
<Class name="io.clientcore.core.shared.HttpClientTestsServer" />
260-
<Class name="io.clientcore.core.implementation.instrumentation.fallback.RandomIdUtils" />
261258
</Or>
262259
</Match>
263260
<Match>
@@ -398,16 +395,4 @@
398395
<Bug pattern="XXE_XMLSTREAMREADER" />
399396
<Class name="io.clientcore.core.serialization.xml.XmlReader" />
400397
</Match>
401-
<Match>
402-
<Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE" />
403-
<Class name="io.clientcore.core.http.pipeline.HttpInstrumentationPolicy" />
404-
</Match>
405-
<Match>
406-
<Bug pattern="NP_LOAD_OF_KNOWN_NULL_VALUE" />
407-
<Class name="io.clientcore.core.http.pipeline.HttpInstrumentationPolicy" />
408-
</Match>
409-
<Match>
410-
<Bug pattern="AA_ASSERTION_OF_ARGUMENTS" />
411-
<Class name="io.clientcore.core.implementation.instrumentation.otel.tracing.OTelSpanContext" />
412-
</Match>
413398
</FindBugsFilter>

0 commit comments

Comments
 (0)