This is an automated email from the ASF dual-hosted git repository.
daim pushed a commit to branch 1.22
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
The following commit(s) were added to refs/heads/1.22 by this push:
new 074fc0b6b7 OAK-12008 : Embed aws sdk 2.x jars into oak-blob-cloud
bundle (#2616) (#2674)
074fc0b6b7 is described below
commit 074fc0b6b7f956e6b18516db142c6ae511c02bbe
Author: Rishabh Kumar <[email protected]>
AuthorDate: Mon Jan 5 13:22:19 2026 +0530
OAK-12008 : Embed aws sdk 2.x jars into oak-blob-cloud bundle (#2616)
(#2674)
---
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>