When I specify an extension ID via the lucee.extensions java system property, the code in DeployHandler.java passes "false" to the HTTPService.get() for "redirect" and then promptly rejects the HTTP request if it returns a 301 or 302 redirect. Since ForgeBox redirects for all downloads, this makes auto-installing an extension from ForgeBox basically useless.
It's interesting to note that ForgeBox can still be used to install extensions but only if manually hit via the web admin UI. Whatever code is run when installing an extension via the web admin, redirects must be followed in that case.
Also, why is there an exception thrown in these cases? it muddles the deploy log and the stack trace tells us nothing. If a given provider does not contain an extension, then log it and move on to the next provider in the loop after cleaning up the response. Imagining if a user had 10 providers specified and the first 9 didn't contain the extension. The current code would place 9 errors in the logs which doesn't serve any purpose. Also, all 2xx status codes need to be used (there is another ticket in for this)