quarkusio / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
13.87k stars 2.71k forks source link

Maven auto-transform Jakarta extension #23847

Open n1hility opened 2 years ago

n1hility commented 2 years ago

Description

Summary

A bytecode transformation plugin that generates artificial artifacts by transforming the javax version into a jakarta variant

Rationale

A temporary solution is needed to break/unblock dependency conflicts where a third-party (non-extension) library is depending on javax. packages.

Implementation

@stuartwdouglas has a working prototype of this concept that could serve as the baseline for this feature

quarkus-bot[bot] commented 2 years ago

/cc @quarkusio/devtools

ppalaga commented 2 years ago

This sounds like this would allow us (Camel Quarkus) to upgrade to Quarkus version that already relies on jakarta.* classes while still depending on Camel using their javax.* counterparts? What is the status of implementing this?

bmarwell commented 1 year ago

There's already the maven-shade-plugin, but it only operates in the package phase. I am looking for something which works in the compile phase, so other modules can be compiled using mvn compile. Otherwise it would require mvn package OR previous installation (yikes).