This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 137828

Summary: Remove the Build action from the UI
Product: projects Reporter: Ondrej Langr <olangr>
Component: Generic Projects UIAssignee: Milan Kubec <mkubec>
Status: RESOLVED WONTFIX    
Severity: blocker CC: anebuzelsky, dbalek, jbecicka, jglick, jlahoda, joshis, jrojcek, mkleint, mkubec, mmirilovic, pbuzek, pjiricka
Priority: P2    
Version: 6.x   
Hardware: All   
OS: All   
URL: http://ui.netbeans.org/docs/ui/toolbar_for_65/index.html
Issue Type: DEFECT Exception Reporter:
Bug Depends on: 132165    
Bug Blocks:    

Description Ondrej Langr 2008-06-20 16:05:58 UTC
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?
Comment 1 Jesse Glick 2008-06-20 16:35:03 UTC
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.)
Comment 2 Milos Kleint 2008-06-23 10:33:26 UTC
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)
Comment 3 Milan Kubec 2008-06-23 13:38:03 UTC
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.
Comment 4 Jan Becicka 2008-06-23 13:43:14 UTC
Milane, take a look at wiki page (url)
Comment 5 Milos Kleint 2008-06-23 13:45:35 UTC
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..
Comment 6 Ondrej Langr 2008-06-30 13:54:38 UTC
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).
Comment 7 Ondrej Langr 2008-06-30 14:24:01 UTC
UI Specification is available, see the URL field. 
Comment 8 Petr Dvorak 2008-07-01 09:35:48 UTC
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
project."
Comment 9 Ondrej Langr 2008-07-01 10:57:28 UTC
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. 
Comment 10 Petr Dvorak 2008-07-01 11:23:42 UTC
olangr: Thank you for the explanation, this will be quite sufficient solution...
Comment 11 Marian Mirilovic 2008-07-15 07:50:06 UTC
This should be solved for Beta
Comment 12 Ondrej Langr 2008-07-17 10:28:15 UTC
This issue is no more up-to-date. To track changes to main toolbar and menus, see issue:
   http://www.netbeans.org/issues/show_bug.cgi?id=140370

Also somewhat related is the issue
   http://www.netbeans.org/issues/show_bug.cgi?id=139019