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 f6f15059c512c596874bb7bd2f8fc341d5d35100 Author: rishabhdaim <[email protected]> AuthorDate: Mon Nov 17 18:15:55 2025 +0530 OAK-12008 : Embed aws sdk 2.x jars into oak-blob-cloud bundle --- oak-blob-cloud/pom.xml | 250 +++++++++++++++++++++++++++++++++++++++++++++++- oak-parent/pom.xml | 3 +- oak-run-elastic/pom.xml | 3 +- 3 files changed, 249 insertions(+), 7 deletions(-) diff --git a/oak-blob-cloud/pom.xml b/oak-blob-cloud/pom.xml index f67e594fce..58f49a4b28 100644 --- a/oak-blob-cloud/pom.xml +++ b/oak-blob-cloud/pom.xml @@ -39,6 +39,100 @@ <instructions> <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> @@ -140,18 +234,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> @@ -161,7 +374,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> @@ -169,11 +387,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> @@ -181,10 +414,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>org.apache.jackrabbit</groupId> <artifactId>oak-shaded-guava</artifactId> diff --git a/oak-parent/pom.xml b/oak-parent/pom.xml index 5186f82411..2fc4cb6c8c 100644 --- a/oak-parent/pom.xml +++ b/oak-parent/pom.xml @@ -69,6 +69,7 @@ <pax-exam.version>4.13.1</pax-exam.version> <groovy.version>3.0.25</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>11</javaTargetVersion> <maven.compiler.release>${javaTargetVersion}</maven.compiler.release> @@ -788,7 +789,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> diff --git a/oak-run-elastic/pom.xml b/oak-run-elastic/pom.xml index 6cbb0c9696..a7c5111347 100644 --- a/oak-run-elastic/pom.xml +++ b/oak-run-elastic/pom.xml @@ -43,8 +43,9 @@ 107 MB: RDB/Tomcat (OAK-10752) 120 MB: added commons-csv for csv parsing (OAK-10790) 124 MB: Aws Sdk 2.x (OAK-11935) + 130 MB: Embed Aws Sdk 2.x in oak-blob-cloud (OAK-12008) --> - <max.jar.size>130000000</max.jar.size> + <max.jar.size>140000000</max.jar.size> </properties>
