Both Apache Client and Netty are included in the runtime scope by default
- Dominant language
- Java
- Stars
- 2.6k
- Forks
- 1k
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 51
Description
### Describe the bug
When simply including a service, say `ec2` in a Gradle build, both the Apache Client and Netty get pulled in as runtime transitive dependencies by default.
This is due to https://github.com/aws/aws-sdk-java-v2/blob/2f4b44d7a08a4e2f0b26fe26b0325b065e4547c3/services/pom.xml#L381 and https://github.com/aws/aws-sdk-java-v2/blob/2f4b44d7a08a4e2f0b26fe26b0325b065e4547c3/services/pom.xml#L387
This then automatically gets picked up by the Gradle application plugin and needlessly includes tons of jars in the final package.
### Expected behavior
Default to a single client, preferably the plain and lightweight `url-connection-client`.
### Current behavior
Dozens of additional jars are pulled in by default.
### Steps to Reproduce
Create a new `build.gradle.kts` file and add the following dependency: `implementation("software.amazon.awssdk:ec2:2.17.131")`.
Now run `gradle dependencies` and check the `runtimeClasspath` section.
### Possible Solution
Only depend on `url-connection-client` by default.
### Context
_No response_
### AWS Java SDK version used
2.17.131
### JDK version used
17.0.2
### Operating System and version
Win11 x64
Contributor guide
Assessment
This issue has not been assessed yet.