Could you guys give this a spin?
An attempt to move the Before/After Arquillian lifecycle to Around Rules. Rules should automatically be ignore if the Before phase LifecycleMethodExecutor is not invoked (e.g. via @RunAsClient)
The After phase LifecycleMethodExecutor is simply ignored. To my knowledge they are never really controlled separately anyway, so it shouldn’t cause any problems.
The missing piece to get full Rule support would be to add a TestEnricher to junit-core that scan for @Rule and re-execute the TestEnricher chain on each Rule found.