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 231523

Summary: Ability to mark project's include path as private
Product: php Reporter: vmattila
Component: ProjectAssignee: Tomas Mysik <tmysik>
Status: RESOLVED FIXED    
Severity: normal CC: mmolda
Priority: P3    
Version: 7.3   
Hardware: All   
OS: All   
Issue Type: ENHANCEMENT Exception Reporter:

Description vmattila 2013-06-19 14:06:53 UTC
NetBeans allows us to add folders to project's include path. The path is stored to nbproject/project.properties and thus gets distributed over the source control (ie. Git) to other developers.

It would be useful, if the developer could add private folders to the include path. As a result, the private include path would be stored under nbproject/private/ that is normally excluded from the source control.

The reason behind this enchancement is that I add some external libraries to my include path just to enable code completion and docblock hints. The libraries are stored in very unstandard locations around my personal workstation, making the include path reference invalid for other developers (and they remove it -> gets removed from my project too).

The actual project dependencies are managed over composer.json that NB does not support... yet ;)
Comment 1 Tomas Mysik 2013-06-20 04:48:34 UTC
I see. Well, this could be done but the problem, as usually, is how to present it in the UI... Maybe add a checkbox to each entry or have 2 separate lists?

(In reply to comment #0)
> The actual project dependencies are managed over composer.json that NB does not
> support... yet ;)

Could you please provide more details? Not sure what you mean exactly, what is your use case, what do you expect from NetBeans etc. Please, feel free to submit a new enhancement for it.

Thanks for reporting.
Comment 2 vmattila 2013-07-14 11:10:54 UTC
(In reply to comment #1)
> I see. Well, this could be done but the problem, as usually, is how to present
> it in the UI... Maybe add a checkbox to each entry or have 2 separate lists?

I think they could be in one list. When adding new entries to the list, there could be a checkbox where to make a folder private. Private folders could have a different icon or just a text "(private)" or something.

Maybe it's worth of considering the whole include path folder list as private? I can't (to be honest) figure out any use case where the include paths were shared between developers.
Comment 3 Tomas Mysik 2013-07-15 04:54:35 UTC
(In reply to comment #2)
> I think they could be in one list. When adding new entries to the list, there
> could be a checkbox where to make a folder private. Private folders could have
> a different icon or just a text "(private)" or something.

Good idea but currently, the path is selected simply by using file browser - this would need to be changed.

> Maybe it's worth of considering the whole include path folder list as private?
> I can't (to be honest) figure out any use case where the include paths were
> shared between developers.

On Unix, you have a standard path for it ("/usr/share/php") and what the original motivation. But it is a good idea as well, we will think about it (unfortunately, it would mean backward incompatible change).

Thanks.
Comment 4 vmattila 2013-07-15 12:52:24 UTC
(In reply to comment #3)
> > I think they could be in one list. When adding new entries to the list, there
> > could be a checkbox where to make a folder private. Private folders could have
> > a different icon or just a text "(private)" or something.
> 
> Good idea but currently, the path is selected simply by using file browser -
> this would need to be changed.

That what I was afraid of... ;) Backward compatibility in mind, I'd prefer two lists then: one for current include path and second for private paths. They could be on the same "Include Paths" screen, maybe with a horizontal line as a separator. Both lists would have same command buttons at right (Add, Remove, Move Up/Down).

If you will decide to drop shared paths, the change is not that large then anymore - just need to convert shared paths to private paths and the user can then decide what to do with them in their private world.
Comment 5 Tomas Mysik 2013-07-26 09:22:04 UTC
Done, will be part of the next version of NetBeans (after 7.4).

Thanks.

http://hg.netbeans.org/web-main/rev/e886bc024bd2
Comment 6 Tomas Mysik 2013-07-26 09:22:46 UTC
Adding Milan, we will need to verify it for the next NB version.

Thanks.