Hey Denis,
I took a chance to look through your TCK project and I think I understand a bit better.
So it seems like you are using your own custom Arquillian protocol where after you run the annotation processor, recompile the classes, and send them off to a temp file.
Instead of deploying the application to a web container, you are just running the application in a separate thread?
I think the issue here is that traditionally when you use the Arquillian Servlet / REST protocol libraries, those libraries intercept the deployment and add in extra classes
into the application to handle the `@Before` `@After` annotations.
If I understand correctly, the root of the issue here is that you are "deploying" the application to the same JVM, just a different thread.
You need to have `jakarta.tck.skip.deployment=false` so that we go through the deployment process and you can run your annotation processor.
However, setting the property also makes it so we skip the `@Before` `@After` annotations because we expect them to run AFTER deployment.
But, since the deployment is on the same JVM the same system property `jakarta.tck.skip.deployment=false` is set and therefore the `@Before` `@After` annotations cannot be processed.
I guess the options here would be to deploy to a separate JVM, or you would have to synchronize deployments and change the value of jakarta.tck.skip.deployment.
Let me know if I understood everything correctly,
Kyle Jon Aure