On Thu, 15 Aug 2024 at 17:18, Eirik Bakke <eba...@ultorg.com.invalid> wrote: > > Lets agree to phase out iCoS and remove it at some point. Some of its > > functionality can be directly mapped to "on save" actions, e.g "Apply Code > > Changes"-on-save during debugging which currently doesn't even have a > > hotkey. > > Downvote on that. For myself, Compile-on-Save in NetBeans has worked very > well for for over a decade, and it saves a _lot_ of build time for my rather > large Maven project.
I'm with Michael on this. I'd like to see invasive-CoS (nice name!) killed with fire, as I've said numerous times. I've been the exact opposite, religiously turning it off on every project for well over a decade. One NetBeans' ethos has been to be a UI to the build system, and it's one I completely agree with. I think our time would be better spent looking at default configurations, etc. to make better use of the build tools themselves, towards a state where people don't feel that CoS offers additional value. At the same time, some people will want to keep using CoS, at least as long as it remains functional (I'm not quite sure how long that will be). I've thought for a while we could possibly make use of a single legacy features switch, that's off by default, to hide some things from the default UI. > From: Michael Bien <mbie...@gmail.com> > - if the build fails in CLI, it should also fail in your IDE ... > The IDEs job there would be to give hints to the > user how to get out of the situation. in short: IDE workarounds would > become user facing hints where possible with the goal to improve the > project instead of hiding issues. +1 > > But there is more, even darker, magic: iCoS and priming ... > project priming: > > Many features require build dependencies, like maven plugins or project > dependencies, to be available first, before NB can make sense of the > project. ... > This is currently also likely the reason why NetBeans doesn't support > maven 4 split-repos (#6190). Proposal: ask user to run 'maven > dependency:go-offline' or offer to skip it and build/run the project > right away. I'm in agreement here. The whole priming, and currently in discussion project reload API, would ideally be centred around direct use of the build tools, and explicit control from the user. In particular where such tasks require executing things such as Maven wrapper. We should probably enhance the idea of project trust, which is currently on/off. If certain tasks, say editing a POM, are going to require execution of the build tool, then I'm happy for a UI option that enables auto-running that task for that project, as long as the user has given informed consent. I'm curious how much our embedded Maven is going to cause problems as we try and support v3 and v4 simultaneously. It would be great IMO if we ever got to a stage where we didn't ship with Maven at all (like Gradle), but a lightweight library and Maven wrapper - a Maven Tooling API?? I guess that's .. unlikely at the moment! > - be more transparent for the user by removing some of the magic ... > let build tools do the work instead of reinventing the wheel inside the > IDE (and let us finally remove iCoS :)) Wholeheartedly +1. Best wishes, Neil --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org For additional commands, e-mail: dev-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists