-
Notifications
You must be signed in to change notification settings - Fork 889
[NETBEANS-1802] Basic infrastructure to load a project with a Project Type #1403
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Yes, with the growing number of cases where people mix various build technologies into the same directories, it is becoming more and more clear that the NetBeans system of one project type per directory doesn't fit many real world projects anymore. My friend told me two months ago about his struggle with a project combining Of course, this is not always what the user wants, so I was thinking of a UI that would allow the user to select the (set of) project(s) to delegate to. E.g. user could choose that only Gradle is preferred and the IDE should only invoke Gradle actions. Later, the user could switch to NPM view and work with the project only from the node.js perspective, completely ignoring Gradle. Such "Multi Project" would implement "natures" in a reasonably natural way. "natures" - e.g. the current As far as I can tell @lkishalmi attempt is heading in the same direction. Just it starts with API change, I wanted to prototype the solution from outside. Solving the problem may turn into significant effort and having the ability to offer it as an extension module could help us get some user feedback before we change such a core functionality of the IDE. Ideally, once we succeed, all Btw. let's CC @jglick - he introduced the |
I am afraid I am not sure how exactly this patch should help? Projects are often through the FileOwnerQuery, which does not know currently which type of project it is trying to load. When I was thinking of this, I was imagining two possible approaches:
I think that the code here might be to some degree useful for either of these, but details on what is needed will likely be more clear only when the actual UI so this is implemented. |
Well, this patch is just a very first step. I'm planning to add some others down on the road, I just would like it to be visible from the start, to be able to talk this through as a process not just one big change.
I have something half working on 3., but need to do some real work on 2. |
What is the progress of this PR here and how can I help here? |
Well, it is hard to say. It requires some dedication and coordination. Right now we have a ProjectFactory2 interface to implemented by project providers, but most projects do not even implement ProjectFactory correctly. This is easily fixable for Maven and Gradle projects, but the others needs some serious attention. |
Well this would be a possible start of a long journey. To make folders which has multiple build flavors be loaded as a specific project. Please check the code it should be backward compatible.