It seems that optional=true dependencies that are transitively added force the resolution of the optional dependencies, e.g
vertx-junit5 -> vertx-rx-java2 -> vertx-micrometer-metrics (optional=true)
resolves vertx-micrometer-metrics jar
It can be reproduced by adding vertx-junit5 in the full stack json file and call resolve.