After the Compile on Save feature is implemented, build action no more makes sense for majority of projects, including
Java SE, Java EE, Ruby, PHP and others. For some projects (such as Mobility) it can be used but reportedly does not
bring much advantage compared to Clean & Build action.
To reduce UI clutter, all occurrences of this action in the UI of these project types *should be removed*: main menu
item, main toolbar icon, Build items in contextual menus on projects, QuickSearch list item. Clean & Build action should
remain as it is.
However, for some projects (probably C/C++, but still to be discussed with CND team) this action may still remain.
Since this is a cross-team change, could someone from the development team advice on implementation, please?
One possibility is to treat this action like ActiveConfigAction (the configurations dropdown): display it in the toolbar
only when it makes sense for the current main project. (C++ project, Java SE w/ CoS disabled, ...) Sensible to remove
from project context menus where it is not needed. Regarding the main menu and keyboard shortcut, I think it is OK to
remove it though it should remain in the actions customizers.
(In general I am in favor of killing the main-project-sensitive actions anyway and replacing them with their
selection-sensitive variants. These variants are already available for those power users who have figured out how to
customize menus and keyboard bindings, but are not shown by default.)
maven projects (and probably also Java SE w/ CoS disabled) would still need the build action. clean build is usually
more time consuming and i'm not sure CoS will be implemented for maven projects in 6.5 timeframe and even if it does I
can imagine a lot of people disabling the feature (guessing by feedback I note with regard to Eclipse+Maven integration
and Compile on Save)
What Compile on Save really does? If it does just what it says in the name of the action - compile a file during save operation then IMO we cannot remove
Build Project action, because it does lot more than compilation - it actually creates Jar file of the project, copies required libraries - in fact it creates
distribution. How would this be done if we remove Build Project action? Also Java Web Start support is in fact effective during building of the project, so it
would not work.
Milane, take a look at wiki page (url)
BTW "Clean project" sounds like a more likely candidate for removal. I can't think of a usecase where I would like to
clean the project without immediately building it... ok, maybe if I would like to zip up the project folder or something..
I'm not strictly against the removal of Clean action as mkleint suggests if we think there's no real-life use-case for
it. However, I don't consider it as important as removal of build action as the clean action is only available from the
project contextual menu right now (which means it causes way less UI clutter than the build action).
UI Specification is available, see the URL field.
olangr wrote: "To reduce UI clutter, all occurrences of this action in the UI of these project types *should be
removed*: main menu item, main toolbar icon, Build items in contextual menus on projects, QuickSearch list item. Clean &
Build action should remain as it is."
...just a small and probably unbelievably stupid question: what if I want to turn compile on save off, for example
because I have laptop AMD-M1900+ with 448MB RAM and I still want to (well you know what I mean by "want to...") use
netbeans? I would like the project to be compiled when I want it, but I need to do save much more frequently...
The wiki page says only: "There will be a new option to turn on/off automatic building of project. Modified source will
be compiled immediately after modifications are saved. It will not be required to invoke build to be able to test the
joshis: Reasonable question. The answer is not on wiki as the wiki deals with technical side of that. It is "hidden" in
the second sentence in the UI spec.:
"Given the space limitations (main toolbar should fit on 1024x768) and UI clutter, this action should be removed from
the UI (all main menu, main toolbar and contextual menus), except for situations/projects where it is necessary. This is
the case of the C/C++ projects and also Java projects with Compile on Save disabled."
In other words, the "build" action will be there whenever Java project with CoS disabled is set as main. And it is going
to be in the contextual menu of all such projects.
olangr: Thank you for the explanation, this will be quite sufficient solution...
This should be solved for Beta
This issue is no more up-to-date. To track changes to main toolbar and menus, see issue:
Also somewhat related is the issue