This is an automated email from the ASF dual-hosted git repository. daim pushed a commit to branch OAK-12008 in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit 45872f769d339923ae52c04faa76438359fea523 Author: Rishabh Kumar <[email protected]> AuthorDate: Thu Nov 20 15:50:09 2025 +0530 OAK-12008 : Embed aws sdk 2.x jars into oak-blob-cloud bundle (#2616) --- oak-blob-cloud/pom.xml | 250 ++++++++++++++++++++++++++++++++++++++++++++++++- oak-parent/pom.xml | 3 +- 2 files changed, 247 insertions(+), 6 deletions(-) diff --git a/oak-blob-cloud/pom.xml b/oak-blob-cloud/pom.xml index 0c076ad63d..9cc054b2cc 100644 --- a/oak-blob-cloud/pom.xml +++ b/oak-blob-cloud/pom.xml @@ -43,6 +43,100 @@ </Import-Package> <Export-Package>org.apache.jackrabbit.oak.blob.cloud.aws.s3,org.apache.jackrabbit.oak.blob.cloud.s3.stats</Export-Package> <DynamicImport-Package>sun.io</DynamicImport-Package> + <Import-Package> + <!-- Apache Commons --> + org.apache.commons.io.*;version="[1.4,2)", + org.apache.commons.lang3.*;version="[3.17,4)", + + <!-- Jackrabbit/Oak --> + org.apache.jackrabbit.core.data, + org.apache.jackrabbit.guava.common.cache, + org.apache.jackrabbit.oak.commons.*, + org.apache.jackrabbit.oak.plugins.blob.*, + org.apache.jackrabbit.oak.spi.blob, + org.apache.jackrabbit.oak.stats, + + <!-- OSGi --> + org.osgi.framework, + org.osgi.service.component, + + <!-- SLF4J --> + org.slf4j;version="[1.7,2)", + + <!-- AWS SDK CRT (truly optional - only needed for CRT HTTP client) --> + software.amazon.awssdk.crt;resolution:=optional, + software.amazon.awssdk.crt.*;resolution:=optional, + + <!-- AWS SDK (embedded, don't import) --> + !software.amazon.awssdk.*, + !software.amazon.eventstream, + + <!-- Netty (embedded, don't import) --> + !io.netty.*, + + <!-- Reactive Streams (embedded, don't import) --> + !org.reactivestreams, + + <!-- Truly optional: not used by AWS SDK Java client --> + kotlin;resolution:=optional, + kotlin.*;resolution:=optional, + scala.*;resolution:=optional, + + <!-- Import everything else --> + * + </Import-Package> + <Embed-Dependency> + <!-- AWS SDK Core --> + s3, + apache-client, + s3-transfer-manager, + netty-nio-client, + aws-xml-protocol, + aws-query-protocol, + protocol-core, + arns, + profiles, + crt-core, + http-auth, + identity-spi, + http-auth-spi, + http-auth-aws, + checksums, + checksums-spi, + retries-spi, + sdk-core, + retries, + auth, + http-auth-aws-eventstream, + http-client-spi, + regions, + annotations, + utils, + aws-core, + utils-lite, + metrics-spi, + json-utils, + third-party-jackson-core, + endpoints-spi, + <!-- EventStream --> + eventstream, + <!-- Reactive Streams --> + reactive-streams, + <!-- Netty - explicit list instead of wildcard --> + netty-codec-http, + netty-codec-http2, + netty-codec, + netty-codec-dns, + netty-transport, + netty-common, + netty-buffer, + netty-handler, + netty-transport-native-unix-common, + netty-transport-classes-epoll, + netty-resolver, + netty-resolver-dns + </Embed-Dependency> + <Bundle-ClassPath>.,{maven-dependencies}</Bundle-ClassPath> </instructions> </configuration> </plugin> @@ -138,18 +232,137 @@ <artifactId>s3-transfer-manager</artifactId> </dependency> <dependency> + <groupId>software.amazon.awssdk</groupId> <artifactId>netty-nio-client</artifactId> + </dependency> + + <!-- AWS SDK Core dependencies --> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>aws-xml-protocol</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>aws-query-protocol</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>protocol-core</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>arns</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>profiles</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>crt-core</artifactId> + <version>${aws.sdk.version}</version> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>http-auth</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>identity-spi</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>http-auth-spi</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>http-auth-aws</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>checksums</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>checksums-spi</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>retries-spi</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>sdk-core</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>retries</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>auth</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>http-auth-aws-eventstream</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>http-client-spi</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>regions</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>annotations</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>utils</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>aws-core</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>utils-lite</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>metrics-spi</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>json-utils</artifactId> + </dependency> + <dependency> + <groupId>software.amazon.awssdk</groupId> + <artifactId>third-party-jackson-core</artifactId> + </dependency> + <dependency> <groupId>software.amazon.awssdk</groupId> + <artifactId>endpoints-spi</artifactId> </dependency> + <!-- EventStream --> <dependency> - <groupId>com.fasterxml.jackson.core</groupId> - <artifactId>jackson-annotations</artifactId> + <groupId>software.amazon.eventstream</groupId> + <artifactId>eventstream</artifactId> + <version>1.0.1</version> </dependency> + <!-- Netty --> <dependency> <groupId>io.netty</groupId> - <artifactId>netty-buffer</artifactId> + <artifactId>netty-codec-http</artifactId> + <version>${netty.version}</version> + </dependency> + <dependency> + <groupId>io.netty</groupId> + <artifactId>netty-codec-http2</artifactId> <version>${netty.version}</version> </dependency> <dependency> @@ -159,7 +372,12 @@ </dependency> <dependency> <groupId>io.netty</groupId> - <artifactId>netty-codec-http</artifactId> + <artifactId>netty-codec-dns</artifactId> + <version>${netty.version}</version> + </dependency> + <dependency> + <groupId>io.netty</groupId> + <artifactId>netty-transport</artifactId> <version>${netty.version}</version> </dependency> <dependency> @@ -167,11 +385,26 @@ <artifactId>netty-common</artifactId> <version>${netty.version}</version> </dependency> + <dependency> + <groupId>io.netty</groupId> + <artifactId>netty-buffer</artifactId> + <version>${netty.version}</version> + </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-handler</artifactId> <version>${netty.version}</version> </dependency> + <dependency> + <groupId>io.netty</groupId> + <artifactId>netty-transport-native-unix-common</artifactId> + <version>${netty.version}</version> + </dependency> + <dependency> + <groupId>io.netty</groupId> + <artifactId>netty-transport-classes-epoll</artifactId> + <version>${netty.version}</version> + </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-resolver</artifactId> @@ -179,10 +412,17 @@ </dependency> <dependency> <groupId>io.netty</groupId> - <artifactId>netty-transport</artifactId> + <artifactId>netty-resolver-dns</artifactId> <version>${netty.version}</version> </dependency> + <!-- Reactive Streams --> + <dependency> + <groupId>org.reactivestreams</groupId> + <artifactId>reactive-streams</artifactId> + <version>1.0.4</version> + </dependency> + <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> diff --git a/oak-parent/pom.xml b/oak-parent/pom.xml index 8520e026cf..535698c234 100644 --- a/oak-parent/pom.xml +++ b/oak-parent/pom.xml @@ -72,6 +72,7 @@ <testcontainers.version>1.19.7</testcontainers.version> <groovy.version>2.5.23</groovy.version> <netty.version>4.1.127.Final</netty.version> + <aws.sdk.version>2.34.1</aws.sdk.version> <!-- determines the bytecode version (i.e. the minimum JRE required to run the build artifact) --> <javaTargetVersion>8</javaTargetVersion> <maven.compiler.release>${javaTargetVersion}</maven.compiler.release> @@ -692,7 +693,7 @@ <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>bom</artifactId> - <version>2.34.1</version> + <version>${aws.sdk.version}</version> <type>pom</type> <scope>import</scope> </dependency>
