gnodet commented on PR #437: URL: https://github.com/apache/maven-resolver/pull/437#issuecomment-1971524721
> Benefits are manifold, but let me turn around the thing: I don't see any benefit in "failing the build/processing in usual way" by maven. In fact, there is only one (easily fixable) aspect where I do agree: the error output written to console. But in both case, user will have to intervene, as in case of install (usually disk full, or some permission error) or deploy (wrong URL, auth or simply network outage) in both cases user must intervene somehow (free disk space, fix perms, fix URL and/or auth, etc). > > OTOH, the real benefit is that install/deploy flow already goes thru Resolver, and now that resolver became aware when session ends, I really see this as "natural fit" to place this logic. Just look at install/deploy plugins how convoluted is their logic (or Takari logic that uses LifecycleParticipant to achieve same). It just makes things natural and a LOT simpler. > > And the other huge benefit is that resolver can, if needed "rearrange" and better parallelize deploys even (not done). And last but not least, generators, that may handle some sort of "time limited session" can be invoked in rather snappy way (although current PR contains "simplistic" deferred implementation, that can be improved in this regard). > > To me, this really just moves things to their "proper place". I'm not really convinced. I don't think the logic in the resolver is very different from the one in the install/deploy plugin, and parallelisation can be done when submitting the big install/deploy request to the resolver. Anyway, no big deal... > And about error handling, IMO Maven core would need anyway some handling of errors that may happen on session or system close, as currently we have none of those in place (but baby steps). Yes, this is a very important aspect imho. The error needs to properly get back to Maven, so that it can be handled correctly. The build needs to be flagged as not successful with proper reporting, etc..., especially with `mvnd` and a remote process for example. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
