Powermock is a nigh-dead upstream, with a long history of technical issues w.r.t. integration with other tools – notably Mockito and JaCoCo.
The Mockito issues seem to be solved at this point, but JaCoCo integration still does not work with on-the-fly instrumentation – as noted in ODLPARENT-27. I believe it is time we removed Powermock from the global picture and let downstreams deal with it however they like.
There are four projects alive at this point using powermock:
lispflowmapping
transportpce
ovsdb
unimgr
Of these, transportpce manages powermock on its own (and is way behind at 2.0.2) and unimgr is still on odlparent-5 – hence they will not be negatively impacted by us removing the declaration.
Lispflowmapping has only three tests which use Powermock and hence it is feasible to migrate.
OVSDB has quite a few tests, but is also almost dead, so just declaring versions just as transportpce does should do the trick.
Furthermore Mockito now has the ability to mock/spy static methods and final classes, which should work nicely as it is based on ByteBuddy.
Powermock is a nigh-dead upstream, with a long history of technical issues w.r.t. integration with other tools – notably Mockito and JaCoCo.
The Mockito issues seem to be solved at this point, but JaCoCo integration still does not work with on-the-fly instrumentation – as noted in ODLPARENT-27. I believe it is time we removed Powermock from the global picture and let downstreams deal with it however they like.
There are four projects alive at this point using powermock:
lispflowmapping
transportpce
ovsdb
unimgr
Of these, transportpce manages powermock on its own (and is way behind at 2.0.2) and unimgr is still on odlparent-5 – hence they will not be negatively impacted by us removing the declaration.
Lispflowmapping has only three tests which use Powermock and hence it is feasible to migrate.
OVSDB has quite a few tests, but is also almost dead, so just declaring versions just as transportpce does should do the trick.
Furthermore Mockito now has the ability to mock/spy static methods and final classes, which should work nicely as it is based on ByteBuddy.