/* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ import org.elasticsearch.gradle.internal.AbstractDependenciesTask import org.elasticsearch.gradle.transform.FilteringJarTransform apply plugin: 'elasticsearch.internal-es-plugin' apply plugin: 'elasticsearch.internal-cluster-test' apply plugin: 'elasticsearch.internal-yaml-rest-test' apply plugin: 'elasticsearch.internal-test-artifact' restResources { restApi { include '_common', 'bulk', 'indices', 'inference', 'index', 'get', 'update', 'reindex', 'search', 'field_caps', 'capabilities' } } esplugin { name = 'x-pack-inference' description = 'Configuration and evaluation of inference models' classname = 'org.elasticsearch.xpack.inference.InferencePlugin' extendedPlugins = ['x-pack-core'] } base { archivesName = 'x-pack-inference' } def guavaDependency = 'com.google.guava:guava:33.7.2-jre' def failureAccessDependency = 'com.google.guava:failureaccess:1.0.3' configurations { unmodularGuava { canBeConsumed = false canBeResolved = true transitive = false attributes { attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category, Category.LIBRARY)) attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage, Usage.JAVA_RUNTIME)) attribute(TargetJvmEnvironment.TARGET_JVM_ENVIRONMENT_ATTRIBUTE, objects.named(TargetJvmEnvironment, TargetJvmEnvironment.STANDARD_JVM)) attribute(ArtifactTypeDefinition.ARTIFACT_TYPE_ATTRIBUTE, FilteringJarTransform.FILTERED_JAR_TYPE) } } } FilteringJarTransform.registerTransform(dependencies) { spec -> spec.exclude('module-info.class') spec.exclude('META-INF/versions/*/module-info.class') } // Guava's and failureaccess' explicit modules are never resolved into the plugin's module layer, so bundle them as automatic modules def unmodularGuavaFiles = configurations.unmodularGuava esplugin.bundleSpec.from(unmodularGuavaFiles) esplugin.bundleSpec.exclude { FileTreeElement e -> (e.file.name.startsWith('guava-') || e.file.name.startsWith('failureaccess-')) && unmodularGuavaFiles.files.contains(e.file) == false } dependencies { implementation project(path: ':libs:logging') compileOnly project(":server") compileOnly project(path: xpackModule('core')) testImplementation(testArtifact(project(xpackModule('core')))) testImplementation(testArtifact(project(':server'))) internalClusterTestImplementation(testArtifact(project(':server'), 'internalClusterTest')) testImplementation(project(':x-pack:plugin:inference:qa:test-service-plugin')) testImplementation project(':x-pack:plugin:diskbbq') testImplementation project(':modules:reindex') testImplementation project(':modules:mapper-extras') testImplementation project(':x-pack:plugin:ml') clusterPlugins project(':x-pack:plugin:inference:qa:test-service-plugin') runtimeOnly guavaDependency unmodularGuava guavaDependency runtimeOnly failureAccessDependency unmodularGuava failureAccessDependency implementation 'com.google.code.gson:gson:2.10' implementation "com.google.protobuf:protobuf-java-util:${versions.protobuf}" implementation "com.google.protobuf:protobuf-java:${versions.protobuf}" implementation 'com.google.api.grpc:proto-google-iam-v1:1.6.2' implementation 'com.google.auth:google-auth-library-credentials:1.11.0' implementation 'com.google.auth:google-auth-library-oauth2-http:1.11.0' implementation "com.google.oauth-client:google-oauth-client:${versions.google_oauth_client}" implementation 'com.google.api-client:google-api-client:2.1.1' implementation 'com.google.http-client:google-http-client:1.42.3' implementation 'com.google.http-client:google-http-client-gson:1.42.3' implementation 'com.google.http-client:google-http-client-appengine:1.42.3' implementation 'com.google.http-client:google-http-client-jackson2:1.42.3' implementation "com.fasterxml.jackson.core:jackson-core:${versions.jackson}" implementation 'com.google.api:gax-httpjson:0.105.1' implementation 'io.grpc:grpc-context:1.49.2' implementation 'io.opencensus:opencensus-api:0.31.1' implementation 'io.opencensus:opencensus-contrib-http-util:0.31.1' implementation 'org.apache.commons:commons-lang3:3.20.0' implementation 'org.apache.commons:commons-text:1.15.0' /* Apache HttpClient 5 reactive bridge for streaming responses (httpclient5/httpcore5 themselves are provided by x-pack-core) */ implementation("org.apache.httpcomponents.core5:httpcore5-reactive:${versions.httpcore5}") { // httpcore5 is already provided at runtime by the extended plugin x-pack-core exclude group: 'org.apache.httpcomponents.core5', module: 'httpcore5' } /* AWS SDK v2 */ implementation("software.amazon.awssdk:bedrockruntime:${versions.awsv2sdk}") implementation("software.amazon.awssdk:sagemakerruntime:${versions.awsv2sdk}") api "software.amazon.awssdk:protocol-core:${versions.awsv2sdk}" api "software.amazon.awssdk:aws-json-protocol:${versions.awsv2sdk}" api "software.amazon.awssdk:third-party-jackson-core:${versions.awsv2sdk}" api "software.amazon.awssdk:http-auth-aws:${versions.awsv2sdk}" api "software.amazon.awssdk:checksums-spi:${versions.awsv2sdk}" api "software.amazon.awssdk:checksums:${versions.awsv2sdk}" api "software.amazon.awssdk:sdk-core:${versions.awsv2sdk}" api "org.reactivestreams:reactive-streams:${versions.reactive_streams}" api "org.reactivestreams:reactive-streams-tck:${versions.reactive_streams}" api "software.amazon.awssdk:profiles:${versions.awsv2sdk}" api "software.amazon.awssdk:retries:${versions.awsv2sdk}" api "software.amazon.awssdk:auth:${versions.awsv2sdk}" api "software.amazon.awssdk:http-auth-aws-eventstream:${versions.awsv2sdk}" api "software.amazon.eventstream:eventstream:1.0.1" api "software.amazon.awssdk:http-auth-spi:${versions.awsv2sdk}" api "software.amazon.awssdk:http-auth:${versions.awsv2sdk}" api "software.amazon.awssdk:identity-spi:${versions.awsv2sdk}" api "software.amazon.awssdk:http-client-spi:${versions.awsv2sdk}" api "software.amazon.awssdk:regions:${versions.awsv2sdk}" api "software.amazon.awssdk:annotations:${versions.awsv2sdk}" api "software.amazon.awssdk:utils:${versions.awsv2sdk}" api "software.amazon.awssdk:aws-core:${versions.awsv2sdk}" api "software.amazon.awssdk:metrics-spi:${versions.awsv2sdk}" api "software.amazon.awssdk:json-utils:${versions.awsv2sdk}" api "software.amazon.awssdk:endpoints-spi:${versions.awsv2sdk}" api "software.amazon.awssdk:retries-spi:${versions.awsv2sdk}" /* Netty (via AWS SDKv2) */ implementation "software.amazon.awssdk:netty-nio-client:${versions.awsv2sdk}" runtimeOnly "io.netty:netty-buffer:${versions.netty}" runtimeOnly "io.netty:netty-codec-dns:${versions.netty}" runtimeOnly "io.netty:netty-codec-http2:${versions.netty}" runtimeOnly "io.netty:netty-codec-http:${versions.netty}" runtimeOnly "io.netty:netty-codec:${versions.netty}" runtimeOnly "io.netty:netty-common:${versions.netty}" runtimeOnly "io.netty:netty-handler:${versions.netty}" runtimeOnly "io.netty:netty-resolver-dns:${versions.netty}" runtimeOnly "io.netty:netty-resolver:${versions.netty}" runtimeOnly "io.netty:netty-transport-classes-epoll:${versions.netty}" runtimeOnly "io.netty:netty-transport-native-unix-common:${versions.netty}" runtimeOnly "io.netty:netty-transport:${versions.netty}" /* Azure */ /* Nimbus OAuth2/OIDC (required by azure-identity/MSAL at runtime) */ api "com.nimbusds:content-type:2.3" api "com.nimbusds:lang-tag:1.7" api("com.nimbusds:nimbus-jose-jwt:10.0.2") { exclude group: 'com.google.crypto.tink', module: 'tink' } api("com.nimbusds:oauth2-oidc-sdk:11.22.2") { exclude group: 'com.google.crypto.tink', module: 'tink' } api "jakarta.activation:jakarta.activation-api:1.2.1" api "jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" api "net.minidev:accessors-smart:2.5.2" api "net.minidev:json-smart:2.5.2" /* SLF4J (via AWS SDKv2) */ api "org.slf4j:slf4j-api:${versions.slf4j}" runtimeOnly "org.slf4j:slf4j-nop:${versions.slf4j}" api "com.azure:azure-identity:1.18.2" api "com.azure:azure-core:1.57.1" api "com.azure:azure-core-http-netty:1.16.3" api "com.azure:azure-json:1.5.0" api "com.azure:azure-xml:1.2.0" api "com.microsoft.azure:msal4j-persistence-extension:1.3.0" api "com.microsoft.azure:msal4j:1.19.1" api "net.java.dev.jna:jna:${versions.jna}" api "net.java.dev.jna:jna-platform:${versions.jna}" // Jackson api "com.fasterxml.jackson.core:jackson-databind:${versions.jackson}" api "com.fasterxml.jackson.core:jackson-annotations:${versions.jackson_annotations}" api "com.fasterxml.jackson.dataformat:jackson-dataformat-xml:${versions.jackson}" api "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${versions.jackson}" api "com.fasterxml.jackson.module:jackson-module-jaxb-annotations:${versions.jackson}" // Netty api "io.netty:netty-codec-dns:${versions.netty}" api "io.netty:netty-codec-http2:${versions.netty}" api "io.netty:netty-codec-socks:${versions.netty}" api "io.netty:netty-handler-proxy:${versions.netty}" api "io.netty:netty-resolver-dns:${versions.netty}" // Reactor api "io.projectreactor.netty:reactor-netty-core:${versions.azureReactorNetty}" api "io.projectreactor.netty:reactor-netty-http:${versions.azureReactorNetty}" api "io.projectreactor:reactor-core:3.8.7" api "org.reactivestreams:reactive-streams:${versions.reactive_streams}" runtimeOnly "org.cryptomator:siv-mode:1.5.2" api "org.codehaus.woodstox:stax2-api:4.2.2" api "org.ow2.asm:asm:9.10.1" /* End packages for Azure */ } tasks.withType(AbstractDependenciesTask).configureEach { mapping from: /azure-.*/, to: 'azure' mapping from: /google-auth-.*/, to: 'google-auth' mapping from: /failureaccess.*/, to: 'guava' mapping from: /google-http-.*/, to: 'google-http' mapping from: /msal4j.*/, to: 'msal4j' mapping from: /reactor-netty-.*/, to: 'reactor-netty' mapping from: /reactor-core/, to: 'reactor-core' mapping from: /opencensus.*/, to: 'opencensus' mapping from: /protobuf.*/, to: 'protobuf' mapping from: /proto-google.*/, to: 'proto-google' mapping from: /jackson.*/, to: 'jackson' mapping from: /reactive-streams.*/, to: 'reactive-streams' mapping from: /eventstream.*/, to: 'eventstream' mapping from: /slf4j.*/, to: 'slf4j' mapping from: /protocol-core.*/, to: 'aws-sdk-2' mapping from: /aws-json-protocol.*/, to: 'aws-sdk-2' mapping from: /third-party-jackson-core.*/, to: 'aws-sdk-2' mapping from: /checksums-spi.*/, to: 'aws-sdk-2' mapping from: /checksums.*/, to: 'aws-sdk-2' mapping from: /sdk-core.*/, to: 'aws-sdk-2' mapping from: /profiles.*/, to: 'aws-sdk-2' mapping from: /retries.*/, to: 'aws-sdk-2' mapping from: /auth.*/, to: 'aws-sdk-2' mapping from: /http-auth-aws-eventstream.*/, to: 'aws-sdk-2' mapping from: /http-auth-spi.*/, to: 'aws-sdk-2' mapping from: /http-auth.*/, to: 'aws-sdk-2' mapping from: /http-auth-aws.*/, to: 'aws-sdk-2' mapping from: /identity-spi.*/, to: 'aws-sdk-2' mapping from: /http-client-spi.*/, to: 'aws-sdk-2' mapping from: /regions.*/, to: 'aws-sdk-2' mapping from: /annotations.*/, to: 'aws-sdk-2' mapping from: /utils.*/, to: 'aws-sdk-2' mapping from: /aws-core.*/, to: 'aws-sdk-2' mapping from: /metrics-spi.*/, to: 'aws-sdk-2' mapping from: /json-utils.*/, to: 'aws-sdk-2' mapping from: /endpoints-spi.*/, to: 'aws-sdk-2' mapping from: /bedrockruntime.*/, to: 'aws-sdk-2' mapping from: /sagemakerruntime.*/, to: 'aws-sdk-2' mapping from: /netty-nio-client/, to: 'aws-sdk-2' /* Cannot use REGEX to match netty-* because netty-nio-client is an AWS package */ mapping from: /netty-buffer/, to: 'netty' mapping from: /netty-codec-dns/, to: 'netty' mapping from: /netty-codec-http2/, to: 'netty' mapping from: /netty-codec-http/, to: 'netty' mapping from: /netty-codec-socks/, to: 'netty' mapping from: /netty-codec/, to: 'netty' mapping from: /netty-common/, to: 'netty' mapping from: /netty-handler-proxy/, to: 'netty' mapping from: /netty-handler/, to: 'netty' mapping from: /netty-resolver-dns/, to: 'netty' mapping from: /netty-resolver/, to: 'netty' mapping from: /netty-transport-classes-epoll/, to: 'netty' mapping from: /netty-transport-native-unix-common/, to: 'netty' mapping from: /netty-transport/, to: 'netty' } tasks.named("thirdPartyAudit").configure { ignoreViolations( // uses internal java api: sun.misc.Unsafe 'com.google.protobuf.UnsafeUtil', 'com.google.protobuf.UnsafeUtil$1', 'com.google.protobuf.UnsafeUtil$JvmMemoryAccessor', 'com.google.protobuf.UnsafeUtil$MemoryAccessor', 'com.google.protobuf.MessageSchema', 'com.google.protobuf.UnsafeUtil$Android32MemoryAccessor', 'com.google.protobuf.UnsafeUtil$Android64MemoryAccessor', 'com.google.common.hash.LittleEndianByteArray$UnsafeByteArray', 'com.google.common.hash.LittleEndianByteArray$UnsafeByteArray$1', 'com.google.common.hash.LittleEndianByteArray$UnsafeByteArray$2', 'com.google.common.hash.LittleEndianByteArray$UnsafeByteArray', 'com.google.common.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator', 'com.google.common.util.concurrent.AbstractFutureState$UnsafeAtomicHelper', 'io.netty.util.internal.PlatformDependent0', 'io.netty.util.internal.PlatformDependent0$1', 'io.netty.util.internal.PlatformDependent0$2', 'io.netty.util.internal.PlatformDependent0$3', 'io.netty.util.internal.PlatformDependent0$4', 'io.netty.util.internal.PlatformDependent0$6', 'io.netty.util.internal.shaded.org.jctools.queues.BaseLinkedQueueConsumerNodeRef', 'io.netty.util.internal.shaded.org.jctools.queues.BaseLinkedQueueProducerNodeRef', 'io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueColdProducerFields', 'io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueConsumerFields', 'io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueProducerFields', 'io.netty.util.internal.shaded.org.jctools.queues.LinkedQueueNode', 'io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueueConsumerIndexField', 'io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueueProducerIndexField', 'io.netty.util.internal.shaded.org.jctools.queues.MpscArrayQueueProducerLimitField', 'io.netty.util.internal.shaded.org.jctools.queues.MpmcArrayQueueConsumerIndexField', 'io.netty.util.internal.shaded.org.jctools.queues.MpmcArrayQueueProducerIndexField', 'io.netty.util.internal.shaded.org.jctools.queues.unpadded.MpscUnpaddedArrayQueueConsumerIndexField', 'io.netty.util.internal.shaded.org.jctools.queues.unpadded.MpscUnpaddedArrayQueueProducerIndexField', 'io.netty.util.internal.shaded.org.jctools.queues.unpadded.MpscUnpaddedArrayQueueProducerLimitField', 'io.netty.util.internal.shaded.org.jctools.util.UnsafeAccess', 'io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess', 'io.netty.util.internal.shaded.org.jctools.util.UnsafeLongArrayAccess', 'javax.activation.MailcapCommandMap', 'javax.activation.MimetypesFileTypeMap', 'reactor.core.publisher.CallSiteSupplierFactory$SharedSecretsCallSiteSupplierFactory', 'reactor.core.publisher.CallSiteSupplierFactory$SharedSecretsCallSiteSupplierFactory$TracingException' ) ignoreMissingClasses( 'com.google.api.AnnotationsProto', 'com.google.api.ClientProto', 'com.google.api.FieldBehaviorProto', 'com.google.api.ResourceProto', 'com.google.api.core.AbstractApiFuture', 'com.google.api.core.ApiFunction', 'com.google.api.core.ApiFuture', 'com.google.api.core.ApiFutureCallback', 'com.google.api.core.ApiFutures', 'com.google.api.gax.core.BackgroundResource', 'com.google.api.gax.core.ExecutorProvider', 'com.google.api.gax.core.GaxProperties', 'com.google.api.gax.core.GoogleCredentialsProvider', 'com.google.api.gax.core.GoogleCredentialsProvider$Builder', 'com.google.api.gax.core.InstantiatingExecutorProvider', 'com.google.api.gax.core.InstantiatingExecutorProvider$Builder', 'com.google.api.gax.longrunning.OperationSnapshot', 'com.google.api.gax.paging.AbstractFixedSizeCollection', 'com.google.api.gax.paging.AbstractPage', 'com.google.api.gax.paging.AbstractPagedListResponse', 'com.google.api.gax.retrying.RetrySettings', 'com.google.api.gax.retrying.RetrySettings$Builder', 'com.google.api.gax.rpc.ApiCallContext', 'com.google.api.gax.rpc.ApiCallContext$Key', 'com.google.api.gax.rpc.ApiClientHeaderProvider', 'com.google.api.gax.rpc.ApiClientHeaderProvider$Builder', 'com.google.api.gax.rpc.ApiException', 'com.google.api.gax.rpc.ApiExceptionFactory', 'com.google.api.gax.rpc.BatchingCallSettings', 'com.google.api.gax.rpc.Callables', 'com.google.api.gax.rpc.ClientContext', 'com.google.api.gax.rpc.ClientSettings', 'com.google.api.gax.rpc.ClientSettings$Builder', 'com.google.api.gax.rpc.FixedHeaderProvider', 'com.google.api.gax.rpc.HeaderProvider', 'com.google.api.gax.rpc.LongRunningClient', 'com.google.api.gax.rpc.OperationCallSettings', 'com.google.api.gax.rpc.OperationCallable', 'com.google.api.gax.rpc.PageContext', 'com.google.api.gax.rpc.PagedCallSettings', 'com.google.api.gax.rpc.PagedCallSettings$Builder', 'com.google.api.gax.rpc.PagedListDescriptor', 'com.google.api.gax.rpc.PagedListResponseFactory', 'com.google.api.gax.rpc.ResponseObserver', 'com.google.api.gax.rpc.ServerStreamingCallSettings', 'com.google.api.gax.rpc.ServerStreamingCallable', 'com.google.api.gax.rpc.StateCheckingResponseObserver', 'com.google.api.gax.rpc.StatusCode', 'com.google.api.gax.rpc.StatusCode$Code', 'com.google.api.gax.rpc.StreamController', 'com.google.api.gax.rpc.StubSettings', 'com.google.api.gax.rpc.StubSettings$Builder', 'com.google.api.gax.rpc.TranslatingUnaryCallable', 'com.google.api.gax.rpc.TransportChannel', 'com.google.api.gax.rpc.TransportChannelProvider', 'com.google.api.gax.rpc.UnaryCallSettings', 'com.google.api.gax.rpc.UnaryCallSettings$Builder', 'com.google.api.gax.rpc.UnaryCallable', 'com.google.api.gax.rpc.internal.ApiCallContextOptions', 'com.google.api.gax.rpc.internal.Headers', 'com.google.api.gax.rpc.mtls.MtlsProvider', 'com.google.api.gax.tracing.ApiTracer', 'com.google.api.gax.tracing.BaseApiTracer', 'com.google.api.gax.tracing.SpanName', 'com.google.api.pathtemplate.PathTemplate', 'com.google.longrunning.CancelOperationRequest', 'com.google.longrunning.CancelOperationRequest$Builder', 'com.google.longrunning.DeleteOperationRequest', 'com.google.longrunning.DeleteOperationRequest$Builder', 'com.google.longrunning.GetOperationRequest', 'com.google.longrunning.GetOperationRequest$Builder', 'com.google.longrunning.ListOperationsRequest', 'com.google.longrunning.ListOperationsRequest$Builder', 'com.google.longrunning.ListOperationsResponse', 'com.google.longrunning.Operation', 'com.google.rpc.Code', 'com.google.rpc.Status', 'com.google.type.Expr', 'com.google.type.Expr$Builder', 'com.google.type.ExprOrBuilder', 'com.google.type.ExprProto', 'org.threeten.bp.Duration', 'org.threeten.bp.Instant', 'com.google.api.client.http.apache.v2.ApacheHttpTransport', 'com.google.appengine.api.datastore.Blob', 'com.google.appengine.api.datastore.DatastoreService', 'com.google.appengine.api.datastore.DatastoreServiceFactory', 'com.google.appengine.api.datastore.Entity', 'com.google.appengine.api.datastore.Key', 'com.google.appengine.api.datastore.KeyFactory', 'com.google.appengine.api.datastore.PreparedQuery', 'com.google.appengine.api.datastore.Query', 'com.google.appengine.api.memcache.Expiration', 'com.google.appengine.api.memcache.MemcacheService', 'com.google.appengine.api.memcache.MemcacheServiceFactory', 'com.google.appengine.api.urlfetch.FetchOptions$Builder', 'com.google.appengine.api.urlfetch.FetchOptions', 'com.google.appengine.api.urlfetch.HTTPHeader', 'com.google.appengine.api.urlfetch.HTTPMethod', 'com.google.appengine.api.urlfetch.HTTPRequest', 'com.google.appengine.api.urlfetch.HTTPResponse', 'com.google.appengine.api.urlfetch.URLFetchService', 'com.aayushatharva.brotli4j.Brotli4jLoader', 'com.aayushatharva.brotli4j.decoder.DecoderJNI$Status', 'com.aayushatharva.brotli4j.decoder.DecoderJNI$Wrapper', 'com.aayushatharva.brotli4j.encoder.BrotliEncoderChannel', 'com.aayushatharva.brotli4j.encoder.Encoder$Mode', 'com.aayushatharva.brotli4j.encoder.Encoder$Parameters', 'com.github.luben.zstd.Zstd', 'com.github.luben.zstd.ZstdInputStreamNoFinalizer', 'com.github.luben.zstd.util.Native', 'com.google.appengine.api.urlfetch.URLFetchServiceFactory', 'com.google.protobuf.nano.CodedOutputByteBufferNano', 'com.google.protobuf.nano.MessageNano', 'com.jcraft.jzlib.Deflater', 'com.jcraft.jzlib.Inflater', 'com.jcraft.jzlib.JZlib', 'com.jcraft.jzlib.JZlib$WrapperType', 'com.ning.compress.BufferRecycler', 'com.ning.compress.lzf.ChunkDecoder', 'com.ning.compress.lzf.ChunkEncoder', 'com.ning.compress.lzf.LZFChunk', 'com.ning.compress.lzf.LZFEncoder', 'com.ning.compress.lzf.util.ChunkDecoderFactory', 'com.ning.compress.lzf.util.ChunkEncoderFactory', 'io.netty.internal.tcnative.AsyncSSLPrivateKeyMethod', 'io.netty.internal.tcnative.AsyncTask', 'io.netty.internal.tcnative.Buffer', 'io.netty.internal.tcnative.CertificateCallback', 'io.netty.internal.tcnative.CertificateCompressionAlgo', 'io.netty.internal.tcnative.CertificateVerifier', 'io.netty.internal.tcnative.Library', 'io.netty.internal.tcnative.ResultCallback', 'io.netty.internal.tcnative.SSL', 'io.netty.internal.tcnative.SSLContext', 'io.netty.internal.tcnative.SSLPrivateKeyMethod', 'io.netty.internal.tcnative.SSLSession', 'io.netty.internal.tcnative.SSLSessionCache', 'io.netty.internal.tcnative.SessionTicketKey', 'io.netty.internal.tcnative.SniHostNameMatcher', 'lzma.sdk.lzma.Encoder', 'org.bouncycastle.cert.X509v3CertificateBuilder', 'org.bouncycastle.cert.jcajce.JcaX509CertificateConverter', 'org.bouncycastle.openssl.PEMEncryptedKeyPair', 'org.bouncycastle.openssl.PEMParser', 'org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter', 'org.bouncycastle.openssl.jcajce.JceOpenSSLPKCS8DecryptorProviderBuilder', 'org.bouncycastle.openssl.jcajce.JcePEMDecryptorProviderBuilder', 'org.bouncycastle.operator.jcajce.JcaContentSignerBuilder', 'org.bouncycastle.pkcs.PKCS8EncryptedPrivateKeyInfo', 'org.conscrypt.AllocatedBuffer', 'org.conscrypt.BufferAllocator', 'org.conscrypt.Conscrypt', 'org.conscrypt.HandshakeListener', 'org.eclipse.jetty.alpn.ALPN', 'org.eclipse.jetty.alpn.ALPN$ClientProvider', 'org.eclipse.jetty.alpn.ALPN$ServerProvider', 'org.eclipse.jetty.npn.NextProtoNego', 'org.eclipse.jetty.npn.NextProtoNego$ClientProvider', 'org.eclipse.jetty.npn.NextProtoNego$ServerProvider', 'org.jboss.marshalling.ByteInput', 'org.jboss.marshalling.ByteOutput', 'org.jboss.marshalling.Marshaller', 'org.jboss.marshalling.MarshallerFactory', 'org.jboss.marshalling.MarshallingConfiguration', 'org.jboss.marshalling.Unmarshaller', 'org.reactivestreams.example.unicast.AsyncIterablePublisher', 'org.testng.Assert', 'reactor.blockhound.BlockHound$Builder', 'reactor.blockhound.integration.BlockHoundIntegration', 'software.amazon.awssdk.crt.auth.credentials.Credentials', 'software.amazon.awssdk.crt.auth.signing.AwsSigner', 'software.amazon.awssdk.crt.auth.signing.AwsSigningConfig', 'software.amazon.awssdk.crt.auth.signing.AwsSigningConfig$AwsSignatureType', 'software.amazon.awssdk.crt.auth.signing.AwsSigningConfig$AwsSignedBodyHeaderType', 'software.amazon.awssdk.crt.auth.signing.AwsSigningConfig$AwsSigningAlgorithm', 'software.amazon.awssdk.crt.auth.signing.AwsSigningResult', 'software.amazon.awssdk.crt.http.HttpHeader', 'software.amazon.awssdk.crt.http.HttpRequest', 'software.amazon.awssdk.crt.http.HttpRequestBodyStream', ) // Optional/platform-specific and transitive dependencies not on audit classpath ignoreMissingClasses( // optional Apache HttpClient 4 transport of google-http-client; inference uses the default NetHttpTransport 'org.apache.http.ConnectionReuseStrategy', 'org.apache.http.Header', 'org.apache.http.HttpEntity', 'org.apache.http.HttpEntityEnclosingRequest', 'org.apache.http.HttpHost', 'org.apache.http.HttpRequest', 'org.apache.http.HttpResponse', 'org.apache.http.HttpVersion', 'org.apache.http.RequestLine', 'org.apache.http.StatusLine', 'org.apache.http.client.AuthenticationHandler', 'org.apache.http.client.HttpClient', 'org.apache.http.client.HttpRequestRetryHandler', 'org.apache.http.client.RedirectHandler', 'org.apache.http.client.RequestDirector', 'org.apache.http.client.UserTokenHandler', 'org.apache.http.client.methods.HttpEntityEnclosingRequestBase', 'org.apache.http.client.methods.HttpRequestBase', 'org.apache.http.config.Registry', 'org.apache.http.config.RegistryBuilder', 'org.apache.http.conn.ClientConnectionManager', 'org.apache.http.conn.ConnectionKeepAliveStrategy', 'org.apache.http.conn.params.ConnManagerParams', 'org.apache.http.conn.params.ConnRouteParams', 'org.apache.http.conn.routing.HttpRoutePlanner', 'org.apache.http.conn.scheme.PlainSocketFactory', 'org.apache.http.conn.scheme.SchemeRegistry', 'org.apache.http.conn.socket.PlainConnectionSocketFactory', 'org.apache.http.conn.ssl.SSLSocketFactory', 'org.apache.http.conn.ssl.X509HostnameVerifier', 'org.apache.http.entity.AbstractHttpEntity', 'org.apache.http.impl.client.DefaultHttpClient', 'org.apache.http.impl.client.HttpClientBuilder', 'org.apache.http.impl.conn.PoolingHttpClientConnectionManager', 'org.apache.http.params.HttpConnectionParams', 'org.apache.http.params.HttpParams', 'org.apache.http.params.HttpProtocolParams', 'org.apache.http.protocol.HttpContext', 'org.apache.http.protocol.HttpProcessor', 'org.apache.http.protocol.HttpRequestExecutor', // from reactory-netty metric collection 'io.micrometer.context.ContextAccessor', 'io.micrometer.context.ContextRegistry', 'io.micrometer.context.ContextSnapshot', 'io.micrometer.context.ContextSnapshot$Scope', 'io.micrometer.context.ContextSnapshotFactory', 'io.micrometer.context.ContextSnapshotFactory$Builder', 'io.micrometer.context.ThreadLocalAccessor', 'io.micrometer.core.instrument.Clock', 'io.micrometer.core.instrument.Counter', 'io.micrometer.core.instrument.Counter$Builder', 'io.micrometer.core.instrument.DistributionSummary', 'io.micrometer.core.instrument.DistributionSummary$Builder', 'io.micrometer.core.instrument.Meter', 'io.micrometer.core.instrument.MeterRegistry', 'io.micrometer.core.instrument.Metrics', 'io.micrometer.core.instrument.Tag', 'io.micrometer.core.instrument.Tags', 'io.micrometer.core.instrument.Timer', 'io.micrometer.core.instrument.Timer$Builder', 'io.micrometer.core.instrument.Timer$Sample', 'io.micrometer.core.instrument.binder.jvm.ExecutorServiceMetrics', 'io.micrometer.core.instrument.composite.CompositeMeterRegistry', 'io.micrometer.core.instrument.search.Search', 'io.micrometer.core.instrument.Gauge', 'io.micrometer.core.instrument.Gauge$Builder', 'io.micrometer.core.instrument.Meter$Type', // it uses NIO 'io.netty.channel.kqueue.KQueue', 'io.netty.channel.kqueue.KQueueDatagramChannel', 'io.netty.channel.kqueue.KQueueServerSocketChannel', 'io.netty.channel.kqueue.KQueueSocketChannel', 'io.netty.incubator.channel.uring.IOUring', 'io.netty.incubator.channel.uring.IOUringDatagramChannel', 'io.netty.incubator.channel.uring.IOUringServerSocketChannel', 'io.netty.incubator.channel.uring.IOUringSocketChannel', // from reactor.netty.http.server.HttpServer (reactor-netty) 'io.netty.handler.codec.haproxy.HAProxyMessage', 'io.netty.handler.codec.haproxy.HAProxyMessageDecoder', // from reactor-netty HTTP/3 support (optional QUIC/HTTP3 incubator, not bundled) 'io.netty.incubator.codec.http3.Http3', 'io.netty.incubator.codec.http3.Http3ClientConnectionHandler', 'io.netty.incubator.codec.http3.Http3DataFrame', 'io.netty.incubator.codec.http3.Http3Headers', 'io.netty.incubator.codec.http3.Http3HeadersFrame', 'io.netty.incubator.codec.quic.QuicChannel', 'io.netty.incubator.codec.quic.QuicChannelBootstrap', 'io.netty.incubator.codec.quic.QuicClientCodecBuilder', 'io.netty.incubator.codec.quic.QuicServerCodecBuilder', 'io.netty.incubator.codec.quic.QuicSslContext', 'io.netty.incubator.codec.quic.QuicSslContextBuilder', 'io.netty.incubator.codec.quic.QuicStreamChannel', 'io.netty.incubator.codec.quic.QuicStreamChannelBootstrap', 'io.netty.incubator.codec.quic.QuicTokenHandler', // from reactor-netty Micrometer Observation support (optional, not bundled) 'io.micrometer.common.docs.KeyName', 'io.micrometer.common.KeyValue', 'io.micrometer.common.KeyValues', 'io.micrometer.core.instrument.docs.MeterDocumentation', 'io.micrometer.core.instrument.observation.MeterObservationHandler', 'io.micrometer.observation.Observation', 'io.micrometer.observation.Observation$Context', 'io.micrometer.observation.ObservationHandler', 'io.micrometer.observation.ObservationRegistry', 'io.micrometer.observation.ObservationRegistry$ObservationConfig', 'io.micrometer.observation.docs.ObservationDocumentation', 'io.micrometer.observation.transport.ReceiverContext', 'io.micrometer.observation.transport.RequestReplyReceiverContext', 'io.micrometer.observation.transport.RequestReplySenderContext', 'io.micrometer.observation.transport.SenderContext', 'io.micrometer.tracing.docs.SpanDocumentation', 'io.micrometer.tracing.handler.DefaultTracingObservationHandler', 'io.micrometer.tracing.handler.PropagatingReceiverTracingObservationHandler', 'io.micrometer.tracing.handler.PropagatingSenderTracingObservationHandler', 'io.micrometer.tracing.propagation.Propagator', 'io.micrometer.tracing.Span', 'io.micrometer.tracing.Tracer', // Optional dependency of tink 'com.google.crypto.tink.subtle.Ed25519Sign', 'com.google.crypto.tink.subtle.Ed25519Sign$KeyPair', 'com.google.crypto.tink.subtle.Ed25519Verify', 'com.google.crypto.tink.subtle.X25519', 'com.google.crypto.tink.subtle.XChaCha20Poly1305', // Optional dependency of nimbus-jose-jwt and oauth2-oidc-sdk 'org.bouncycastle.asn1.pkcs.PrivateKeyInfo', 'org.bouncycastle.asn1.x509.AlgorithmIdentifier', 'org.bouncycastle.asn1.x509.SubjectPublicKeyInfo', 'org.bouncycastle.cert.X509CertificateHolder', 'org.bouncycastle.cert.jcajce.JcaX509CertificateHolder', 'org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder', 'org.bouncycastle.openssl.PEMKeyPair', // OAuth servlet support is optional and not required 'jakarta.servlet.ServletRequest', 'jakarta.servlet.http.HttpServletRequest', 'jakarta.servlet.http.HttpServletResponse', 'javax.servlet.ServletRequest', 'javax.servlet.http.HttpServletRequest', 'javax.servlet.http.HttpServletResponse', // OpenSAML support is optional 'org.joda.time.DateTime', 'net.shibboleth.utilities.java.support.xml.SerializeSupport', 'org.opensaml.core.config.InitializationException', 'org.opensaml.core.config.InitializationService', 'org.opensaml.core.xml.XMLObject', 'org.opensaml.core.xml.XMLObjectBuilder', 'org.opensaml.core.xml.XMLObjectBuilderFactory', 'org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport', 'org.opensaml.core.xml.io.Marshaller', 'org.opensaml.core.xml.io.MarshallerFactory', 'org.opensaml.core.xml.io.MarshallingException', 'org.opensaml.core.xml.io.Unmarshaller', 'org.opensaml.core.xml.io.UnmarshallerFactory', 'org.opensaml.core.xml.schema.XSString', 'org.opensaml.core.xml.schema.impl.XSStringBuilder', 'org.opensaml.saml.saml2.core.Assertion', 'org.opensaml.saml.saml2.core.Attribute', 'org.opensaml.saml.saml2.core.AttributeStatement', 'org.opensaml.saml.saml2.core.AttributeValue', 'org.opensaml.saml.saml2.core.Audience', 'org.opensaml.saml.saml2.core.AudienceRestriction', 'org.opensaml.saml.saml2.core.AuthnContext', 'org.opensaml.saml.saml2.core.AuthnContextClassRef', 'org.opensaml.saml.saml2.core.AuthnStatement', 'org.opensaml.saml.saml2.core.Conditions', 'org.opensaml.saml.saml2.core.Issuer', 'org.opensaml.saml.saml2.core.NameID', 'org.opensaml.saml.saml2.core.Subject', 'org.opensaml.saml.saml2.core.SubjectConfirmation', 'org.opensaml.saml.saml2.core.SubjectConfirmationData', 'org.opensaml.saml.security.impl.SAMLSignatureProfileValidator', 'org.opensaml.security.credential.BasicCredential', 'org.opensaml.security.credential.Credential', 'org.opensaml.security.credential.UsageType', 'org.opensaml.xmlsec.signature.Signature', 'org.opensaml.xmlsec.signature.support.SignatureException', 'org.opensaml.xmlsec.signature.support.SignatureValidator', 'org.opensaml.xmlsec.signature.support.Signer', ) } tasks.named('yamlRestTest') { usesDefaultDistribution("Uses the inference API") if (buildParams.snapshotBuild == false) { // The columnar index mode is not available in release builds. def snapshotOnlyTests = [ 'inference/173_semantic_field_columnar_source/*', 'inference/181_semantic_text_columnar_source/*' ] systemProperty 'tests.rest.blacklist', snapshotOnlyTests.join(',') } } artifacts { restXpackTests(new File(projectDir, "src/yamlRestTest/resources/rest-api-spec/test")) }