laeubi commented on PR #12576:
URL: https://github.com/apache/maven/pull/12576#issuecomment-5174408372

   > Plexus Build API also provides context aware (file, line) logging. Would 
be good to add here as well
   > 
   > Update: Seems this is part of resource now and therefore already 
considered.
   
   Just one note from experience with 
https://github.com/codehaus-plexus/plexus-build-api:
   
   1. Please don't call it `BuildContext` this is just ambiguous and confusing 
(e.g. it has nothing to do with *maven build* that maven plugins usually work 
with - see also https://github.com/codehaus-plexus/plexus-build-api/issues/76) 
and is hardly implementable as it mixes different concerns. Instead I have 
tried to reworked it (still wip) into small, self-contained semantic APIs e.g. 
[messages-api](https://github.com/codehaus-plexus/plexus-build-api#messages-api),
 [progress-api](https://github.com/codehaus-plexus/plexus-build-api#progress) 
and 
[resources-api](https://github.com/codehaus-plexus/plexus-build-api/pull/104) 
(and more are on the pipeline e.g 
[process-api](https://github.com/codehaus-plexus/plexus-build-api/pull/79)
   2. Don't focus too much on that part "IDE will detect changes" - this has 
not worked out well and often failed (see especially the clarification of 
`hasDelta(Path file) - Check if file has changes (documented as "best effort" 
hint)` in PR. An IDE has mostly the same problems as maven that it can not 
prevent files from changing externally (e.g. git branch, user deletes stuff, 
external process (maven included) and so on. So most of this should be 
implementable at maven itself without any help of the IDE, what is only 
interesting is the part about a mojo is informing about things it changed (so 
family of `refresh` / `newOutputStream`) or `copy` / `move` - one new thing 
will be `markDerived` (useful for code generator mojos
   3. The most valuable one could do for the IDE from a mojo is adding messages 
(see above) that give context of errors / warning that otherwise is hidden in 
the build logs.


-- 
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]

Reply via email to