arquillian / arquillian-extension-transaction

9 stars 10 forks source link

fix(#33) NoClassDefFoundError: javax.transaction.UserTransaction on W… #34

Closed rimuln closed 1 year ago

rimuln commented 1 year ago

…ildfly 28 /Jakarta EE 10

Short description of what this resolves:

Fix for #33

Changes proposed in this pull request:

chengfang commented 1 year ago

@rimuln thanks for sending the PR, which brings up a bigger task - support jakartaee, which I expect will be achieved by a series of fixes and enhancement.

If possible, I think we should make code changes directly to support jakartaee, rather than relying on transformer. From a cursory look, the dependency graph is relatively simple so I think such direct change should be doable.

Can you move the first 2 changes (jboss-parent and maven.compiler.source) to a separate PR, which in itself is significant one.

rimuln commented 1 year ago

@chengfang Hi, is some easy way how split it? Or only new branch, cherry pick etc.?

From long term I agree that direct fix source code for Jakarta EE is better. But we need it working in next few days during our 14days sprint. If will not be release of this and fixed Arquilian BOM for 1.7.0.Final (https://github.com/arquillian/arquillian-core/issues/475) we will do own internal company releases for some time.

It is in fact 1 class in this module that contains import javax.transaction.UserTransaction, if I looked correctly.

Current solution have benefit that still library supports Java EE and Jakarta EE. It is same as I found in QueryDSL library.

chengfang commented 1 year ago

@rimuln I think the easiest way is to include the relevant changes in a separate branch of yours, and submit a new PR.

rimuln commented 1 year ago

ok I will another branch and PR for the main pom.xml later evening

rimuln commented 1 year ago

@chengfang so what next steps? I see that you merge jboss-parent to master create another PR for 1.7.0.Final as it seems that now it is correctly synced? What about the jakarta create direct replace in JTaTransactionProvider class to change from import javax.transaction to jakarta.transaction? or first 1.0.6 will be last for both with transformer and next 2.0.0 or just 1.1.0 only for jakarta e.g.?

chengfang commented 1 year ago

As outlined in https://github.com/arquillian/arquillian-extension-transaction/discussions/42 , the current plan is to do a direct pkg replacement in source code in the master branch, and when everything is ready the next release 2.x will include the support for jakarata.* api. No transformer is needed.

The future branch to be created 1.x will be for javax.* api only.

@rimuln Would you mind working on the jakarta.* api changes?

rimuln commented 1 year ago

I've created PR with the change to Jakarta. https://github.com/arquillian/arquillian-extension-transaction/pull/45

chengfang commented 1 year ago

2.0.0 released. See https://github.com/arquillian/arquillian-extension-transaction/discussions/42