aws / aws/aws-sdk-java-v2

Add full Java module descriptors

Offen
#3,871 11 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
feature-request p3
Vorherrschende Sprache
Java
Sterne
2.6k
Forks
1k
Ø Merge
2 T. 9 Std.
Gemergte PRs (30 T.)
51

Beschreibung

### Describe the feature

I'd be great if AWS Java SDK supplied full Java module descriptors.

### Use Case

This will help modular projects that consume the SDK, specifically those that create custom Java Runtimes with jlink, as the latter does not support automatic modules but explicit modules.

### Proposed Solution

It's possible to keep bytecode baseline compatible with Java 8 while providing a full module descriptor thanks to [ModiTect](https://github.com/moditect/moditect).

### Other Information

I've checked all artifacts defined by the [BOM](https://repo1.maven.org/maven2/software/amazon/awssdk/bom/2.20.35/bom-2.20.35.pom) using https://github.com/kordamp/jarviz/ to see if there are any split packages. There are none! 🎉

Most artifacts have an explicit automatic module name via the Automatic-Module-Name manifest attribute, with the following artifacts missing such attribute:
- codegen-lite-maven-plugin-2.20.35.jar
- appsync-2.20.35.jar
- cloudwatch-metric-publisher-2.20.35.jar

### Acknowledgements

- [ ] I may be able to implement this feature request
- [ ] This feature might incur a breaking change

### AWS Java SDK version used

2.20.35

### JDK version used

openjdk version "11.0.17" 2022-10-18 LTS OpenJDK Runtime Environment Zulu11.60+19-CA (build 11.0.17+8-LTS) OpenJDK 64-Bit Server VM Zulu11.60+19-CA (build 11.0.17+8-LTS, mixed mode)

### Operating System and version

Darwin 20.6.0 Darwin Kernel Version 20.6.0: Tue Feb 22 21:10:41 PST 2022; root:xnu-7195.141.26~1/RELEASE_X86_64 x86_64

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit der Prüfung der AWS SDK BOM und der gemeldeten Artefaktliste und vergleiche anschließend die aktuellen Modulmetadaten mit den Anforderungen von ModiTect und jlink. Als erledigt gilt die Aufgabe, wenn die SDK-Artefakte über vollständige explizite Java-Moduldeskriptoren verfügen und gleichzeitig mit Java-8-Bytecode kompatibel bleiben, einschließlich codegen-lite-maven-plugin, appsync und cloudwatch-metric-publisher.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
build-system
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.