aws / aws/aws-sdk-java-v2

Add full Java module descriptors

Aperta
#3,871 11 commenti 3 reazioni 0 assegnatari Vedi su GitHub
feature-request p3
Lingua principale
Java
Stelle
2.6k
Fork
1k
Merge medio
2g 9h
PR unite (30g)
51

Descrizione

### 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

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia esaminando la AWS SDK BOM e l'elenco degli artefatti segnalati, quindi confronta i metadati dei moduli attuali con i requisiti di ModiTect e jlink. Il lavoro è considerato completato quando gli artefatti SDK dispongono di descrittori di moduli Java espliciti e completi, pur rimanendo compatibili con il bytecode Java 8, inclusi codegen-lite-maven-plugin, appsync e cloudwatch-metric-publisher.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
build-system
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.