Current Modules support status is still sorely lacking IMHO
Here are a few requests that are not yet slated for Aurora but that I feel strongly will undermine greatly the usefulness of one of the major reason to upgrade from 3.5.
I use Modules in a great part to reuse common modules across multiple projects. The current implementation is sorely deficient in that respect:
Module exporting library: http://www.intellij.net/tracker/idea/viewSCR?publicId=19263 & http://www.intellij.net/tracker/idea/viewSCR?publicId=21410 (really a dup)
Support opening at the same time multiple projects that use the same shared module
http://www.intellij.net/tracker/idea/viewSCR?publicId=24223
Please implement some support for these before 4.0
Jacques
Please sign in to leave a comment.
Jacques Morel wrote:
of the major reason to upgrade from 3.5.
that respect:
http://www.intellij.net/tracker/idea/viewSCR?publicId=21410 (really a dup)
100% agreed. This kinda kills the possibility to have "utility" projects that can be used as
modules and need external libraries. Way to much hassle to set those up as app-libraries.
Um, didn't notice that yet, but sounds like it could impose serious inconveniences.
Sascha
Oh, I just tripped over something else but don't know if anybody else thinks this is strange:
I have a utility project/module ("Utility") that is to be used in two projects ("Project A", "Project B").
I configured Project A & B to include the module. Then, not thinking much about what I'm doing,
I changed the output path of the Utility module to be under "]]>/build/ext/utility/classes".
This was done by the intention to build all classes into the project's output path.
However, I had to realize the obvious: The outputpath is defined per module, regardless of where the
module is used. This is not a killer (yet) but anyway I think the output paths of each module should be
stored per project. IMO, a module doesn't need to (shoudn't?) have information about where it is
used/built.
Anyone else thinking the same? It's not a SCR yet because I'm not sure if I'm thinking/doing something
nasty here. Any feedback is welcome.
Sorry for hijacking this thread a little, but I think it's not too OT to come up with it here :)
Sascha
No hijacking. This is the thread to discuss problem with Modules so we can have something useful out of them.
I am not sure about the Module output path. My initial reaction was the same surprise. Why?
But then I thought that Modules are supposed to be self-contained software pieces that can be built and tested in isolation.
What if I use them in 2 projects? If they build to the project classpath I would have to rebuild them on each project. In addition if they build to the project path what prevents someobody to introduce dependencies from the utility module to the projects (not that somebody would do such a thing ;-)?
Because of these reasons I think it is better to have IDEA deal with the complexity of figuring out the project classpath by appending all modules output paths, don't you? As long of course we can multiple projects opened using the same module...
Jacques
I disagree. I think the module should store it's own output path (and also be able to export libraries and classpath, hint, hint).
A module should be self-contained. From the "reusable component" perspective, I don't want to know where each component is build. I just want to use them.
Thanks for bringing this topic up.
I like most of what I see in the latest build except for the fact that I can't make the jar/zip files in a module available to other modules which depend on it. IDEA is forcing me to create a project or global library to do this!
Creating project level libraries sounds reasonable until one tries sharing many modules between many projects. Then the project-level library definition is spread out across the various project files. Global libraries are even worse because developers don't share those files, they are stored in the IDEA installation directory.
Modules should be self-contained and reusable. No metadata for the module should be expressed outside the module (i.e. project/global libraries). For those using Eclipse, modules are just like Eclipse projects. Projects are a really clean part of the Eclipse IDE.
The whole module UI would be simpler and more intuitive if there were no project/global libraries at all! The use of project/global libraries is an old concept that is being carried over from the IDEA 3.0 thinking and limiting what should be a corner stone feature of IDEA 4.0.
IDEA developers, please give us tracker request # 21410 as soon as possible.
Thanks.
Thanks Tim for clarifying our position.
In addition I forgot to add another problem not slated to Aurora right now: sub-dependencies of Modules are not automatically setup when a module with dependent is added a project unless that project already contains these sub-dependencies (I guess they would not be called sub-dependencies anymore, would they ;) (http://www.intellij.net/tracker/idea/viewSCR?publicId=24320 & http://www.intellij.net/tracker/idea/viewSCR?publicId=24097).
Another point is what settings should go with Modules? If a module is a self-contained black box, it should also have a lot of things that could be specific to how it is edited, built and tested.
There has been talks about making the VCS settings something configurable on a Module basis (http://www.intellij.net/tracker/idea/viewSCR?publicId=24331). However there are more things like that like Code style, compile options like (the assert keyword and this related bug http://www.intellij.net/tracker/idea/viewSCR?publicId=24322)
What about the UI? Is the new Settings design taking into account this? Would we have a row of icons for each Module?
Now that 24223 has been fixed, is there any chance to get 19263/21410 taken care of before aurora ships?
Please please please
Jacques
We will adress these issues in a short release after Aurora (it's planned to
have a very short 2-3 months release after Aurora).
--
Valentin Kipiatkov
Chief Scientist, Vice President of Product Development
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"
"Jacques Morel" <jacmorel@yahoo.com> wrote in message
news:23097214.1073368549983.JavaMail.itn@is.intellij.net...
taken care of before aurora ships?
>
>
Thanks Valentin for the quick response.
This is good news. The key here is not to do too much in these 2 months so you can deliver as soon as possible. BTW what is your target date for 4.0?
Jacques
Middle of February, I think.
--
Valentin Kipiatkov
Chief Scientist, Vice President of Product Development
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"
"Jacques Morel" <jacmorel@yahoo.com> wrote in message
news:12815528.1073399938099.JavaMail.itn@is.intellij.net...
>
you can deliver as soon as possible. BTW what is your target date for 4.0?
>
Valentin Kipiatkov (JetBrains) wrote:
>>BTW what is your target date for 4.0?
>>
>>
>Middle of February, I think.
>
Excellent choice: 28/2 = 14.
If you ignore the fatwa on Salman Rushdie, a lot of good things happened
on the 14th of February, one of them being my birth.
Alain
If it were released then would that make it "Valentin's Day"?
Sorry, that was shameful. I'll get my coat... ;)
Alain Ravet wrote:
>>> BTW what is your target date for 4.0?
>>>
>>
>> Middle of February, I think.
>>
>>