Multiple Projects in Selena?

One of the main reasons why I'm sometimes switching to other IDEs for some projects is that they allow me to have multiple projects open at once. I know IDEA allows you to open multiple projects in two frames but I usually need something more structural.

It is mostly about the ability to work in two projects at the same time and then run the two projects 'as one'. Many of my projects have dependencies on eachother and right now I have to switch to project A, build and install it and then switch bakc to project B which will reload those jars. Which is kind of a pain.

I know it is possible to hack around this by simply creating a project that includes the source of both but in many cases that is not very practical.

Not sure if the feature roadmap of Selena has been defined and closed already but I'm sure many people would really enjoy a feature like this.

S.

14 comments
Comment actions Permalink

Just create one project containing your different modules (yes, in Eclipse
modules are called "projects"). You can run different applications in one
window in IDEA without problems.

0
Comment actions Permalink

What I discussed with JetBrains folks once is cross-project "Find Usages" and refactoring .. Sometimes project A provides an API for another projects and changing this API requires going over all projects and editing them one-by-one. It would be really-really nice if one was able to say "Group all projects (not modules ! those are really different projects developed by different people) A, B, C, and D in one super-project" with an ability to refactor and run "Find Usages". How that sounds to you, guys ?

0
Comment actions Permalink

Evgeny Goldin wrote:

not modules!


Why?

Max

0
Comment actions Permalink

The "simple" solution would be to be able to use a whole project as a module.
This covers the case where some utility stuff is set up as an own project that
depends on a few modules and is also used in a bigger project. Maintaining all
the module-dependencies of the utility project in the larger one is tedious and
error-prone and should not be necessary at all.

Apart from that, I think the module system works quite well.

Sascha

0
Comment actions Permalink

Because they're already not. We develop a big product with something like 10 different teams. Each team has it's own project, build files, team leaders, bugs, etc .. It's not even an option to develop the whole product in one IDEA project - it's simply too big and it'll take ages for IDEA to start-up. Now, some of those projects are "infra" projects, i.e they provide an API used by other projects. That's where it could be comfortable being able to run a cross-project refactorings or find usages ..

0
Comment actions Permalink

That's where it could be comfortable being able to run a cross-project refactorings or find usages ..


Since modules are not necessarily bound to a single project, you can
already do this by creating a new project containing all the relevant
modules.

0
Comment actions Permalink

Evgeny Goldin wrote:

Because they're already not. We develop a big product with something like 10 different teams. Each team has it's own project, build files, team leaders, bugs, etc .. It's not even an option to develop the whole product in one IDEA project - it's simply too big and it'll take ages for IDEA to start-up. Now, some of those projects are "infra" projects, i.e they provide an API used by other projects. That's where it could be comfortable being able to run a cross-project refactorings or find usages ..


Now that's something strange. You wouldn't like to have IDEA scanning
all those "client" modules yet, asking for finding usages and
refactorings there. It's just not possible!

Max

0
Comment actions Permalink

No, that's not what I meant. I said that working for all teams in the same IDEA project is not feasible, i.e the multi-projects structure that we have today really has to stay.
But what if there was an option in IDEA to point to existing *.ipr files and create some kind of "super-project" ? This "super-project" is not intended for daily work of all teams, of course - people will continue working in their own projects, as before. But it allows to occasionally run cross-projects refactorings/find usages, if somebody needs it.

0
Comment actions Permalink

Btw, I had a chance to discuss briefly this feature with Dmitry Jemerov after his JavaOne 2006 presentation .. His response back then was something like "Nice idea but we'll have to think about that"

0
Comment actions Permalink

Btw, I had a chance to discuss briefly this feature with Dmitry Jemerov after his JavaOne 2006 presentation .. His response back then was something like "Nice idea but we'll have to think about that"

0
Comment actions Permalink

Because they're already not. We develop a big product
with something like 10 different teams. Each team has
it's own project, build files, team leaders, bugs,
etc .. It's not even an option to develop the whole
product in one IDEA project - it's simply too big and
it'll take ages for IDEA to start-up. *Now, some of
those projects are "infra" projects, i.e they provide
an API used by other projects. That's where it could
be comfortable being able to run a cross-project
refactorings or find usages ..*


I think you answered your own question. Only the "infra" projects need to
create a super IDEA project containing all the source of the other
projects. If they don't really care about distinguishing one project from
another, they can just lump all the source together in one module, and
have one module for the SDK (infra code). The "infra" project would still
have a simple IDEA project also with just the infra code; That smaller
IDEA project could be used most of the time if performance is a problem.

0
Comment actions Permalink

Guys I understand that it can be done using other ways by creating manually a new project and looking for all other modules of all other projects and adding them .. All this completely manually. It's like instead of refactoring support you was suggesting "God, you can always run Search and Replace" by yourself. Of course I can. But if IDEA was supporting the "super-project" feature - all one had to do is to point to existing *.ipr files and that's it. Same way one hits Shift+F6 instead of doing the same thing manually and hoping he didn't miss anything - as simple as that. I don't think I need to defend my suggestion - IDEA folks are free to do with it whatever they feel like, of course. If I'm the only one thinking it's convenient - then be it, I can always live with it :)

0
Comment actions Permalink

No you are not the only one.

It is nice that people here are suggesting workarounds. But really, we are at the beginning of a major version again. So instead of workarounds it would be much nicer to have a structural solution/improvement.

There is ALWAYS a workaround of some kind for something that IDEA is lacking. But that hardly makes it a better product in the long run.

S.

0

Please sign in to leave a comment.