For a while now we've been talking about doing a conversion of standard
WildFly to the jakarta.* namespace and to EE 10. We've often used the term
'big bang' for this change, although the reality is the work needs to be
done in discrete steps.
Talking with various folks working on different aspects of WF 27, it looks
like the week of July 18-22 is a good time to do the big bang. But we don't
want to delay work on the needed discrete steps, so I've created a new
'big-bang' topic branch[1] where we can coordinate work on the various
steps needed for the big change. The actual big bang will then be us
merging that topic branch into main.
How the branch will be managed:
1) No force pushes.
2) We'll periodically merge main into it so it's up to date with other work.
3) Branch will be deleted once it's merged.
4) We'll get CI set up for it (pull requests, nightly jobs).
These are the kinds of things to do in the 'big-bang' branch:
1) Changes of the actual source code to jakarta.*.
2) Temporary changes to testsuite modules to get them to test WildFly
Preview by default instead of testing standard WildFly.
2) Feature pack stuff to get the standard WildFly feature packs to use
jakarta.* dependencies.
Other work, including work related to EE 10 support in WF Preview, should
be done in main.
The basic steps toward the 'big bang' are:
1) In main we remove the need to bytecode transform any artifacts when
building a feature pack.
2) In parallel with 1) in the 'big-bang' branch we migrate the testsuite
modules' source code to jakarta.* namespace and dependencies. Migrated
testsuites temporarily test against WFP instead of standard WF. (I hope to
send up a PR doing this for testsuite/integration/basic soon.)
3) Once 1) and 2) are done, we switch the standard WF feature packs to use
jakarta.* dependencies.
4) The testsuites we migrated in step 2) are switched back to testing by
default against standard WF.
Once that's done and passing testing, we can merge. We'll tag main before
we merge, as a kind of memento of life before the big bang.
Changing the various product code maven module source code from javax.* to
jakarta.* is NOT in scope for the big bang. It's not required, as the
source-transform artifacts we already have are sufficient for our immediate
requirements. We're going to be very busy this next month so processing a
lot of source code pakage rename commits is not a priority. If some module
really needs to change to jakarta.* we can sort out how to handle that.
The testsuite is different; we are changing that source because using
source-transform for the testsuites is feasible but overly resource
intensive.
[1]
https://github.com/wildfly/wildfly/tree/big-bang
Best regards,
--
Brian Stansberry
Project Lead, WildFly