quarkusio / quarkus

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

Document purpose and usage of `io.quarkus.arc.arquillian.DeploymentClassLoader` #43731

Closed dmlloyd closed 1 month ago

dmlloyd commented 1 month ago

Description

It's not clear what the purpose and usage of io.quarkus.arc.arquillian.DeploymentClassLoader is in the arc/tcks/arquillian submodule. It should at least be documented what the purpose and expected behavior of this class loader is.

/cc @Ladicek

Implementation ideas

No response

quarkus-bot[bot] commented 1 month ago

/cc @Ladicek (arc), @manovotn (arc), @mkouba (arc)

manovotn commented 1 month ago

I think the need was to have a single CL that has access to both, app classes and classes generated by Arc (plus the ComponentsProvider). But I wouldn't bet on it at this point; maybe @Ladicek remembers more :-)

Ladicek commented 1 month ago

Yeah, @manovotn is right on the money. The TCK runner creates a directory to which it puts the ShrinkWrap Archive and all classes and resources generated by ArC. The CL then loads classes and resources from this directory.