modules == project

hi.

I have been reading a lot of the commentary around the new module infra.... here's my take on it:

I want a module to be something I can work on in isolation just as well as I can work on it with other modules.

For example: Many projects I work on have a "server", "client", and "common" sub-divisions. So, I intuitively and by design would like to work with different configurations:

-common (example: modify implementation)
-common & client (example: development)
-common & server (example: development)
-common & client & server (example: refactoring)
(and many other combinations)

So for me a module represents a few things:
-It's a logical application component
-It's an atomic part of my framework... most likely to be a single released library(1 module = 1 jar)
-It serves to define dependencies/decoupling
-Load into IDE only the codebase I need to load for the task at hand.
-Easily manage a project to depend on a module or a known build of that module(ie: developing agains editable source code vs developing against a versioned build)

Does anyone know what the final feature set of Modules will be like? Will all the things I mention be part of the final Module imlpementation in IDE?

Florian

6 comments

Hi,
As i can understand, module is a configurable part of project.

Before modules support, the entire project was whole configurable module
part. But now project is set of modules, each module is configured content
paths and libraries across application/project/module context.

The main differense between module and project now, that project have not
any content path or JDK. If you will compare module at present, and project
at past, then you right - it equals. But now one project may consists of
many modules.

Thanks!


"Florian Hehlen" <florian.hehlen@ubsw.com> wrote in message
news:28518940.1070274424652.JavaMail.javamailuser@localhost...

hi.

>

I have been reading a lot of the commentary around the new module

infra.... here's my take on it:
>

I want a module to be something I can work on in isolation just as well as

I can work on it with other modules.
>

For example: Many projects I work on have a "server", "client", and

"common" sub-divisions. So, I intuitively and by design would like to work
with different configurations:
>

-common (example: modify implementation)
-common & client (example: development)
-common & server (example: development)
-common & client & server (example: refactoring)
(and many other combinations)

>

So for me a module represents a few things:
-It's a logical application component
-It's an atomic part of my framework... most likely to be a single

released library(1 module = 1 jar)

-It serves to define dependencies/decoupling
-Load into IDE only the codebase I need to load for the task at hand.
-Easily manage a project to depend on a module or a known build of that

module(ie: developing agains editable source code vs developing against a
versioned build)
>

Does anyone know what the final feature set of Modules will be like? Will

all the things I mention be part of the final Module imlpementation in IDE?
>

Florian



0

ok

will we be able to share modules across projects. For example will I be able to define an API as a module I want to use in many implementations defined by many projects?

Florian

0

will we be able to share modules across projects


Yes.

--
Valentin Kipiatkov
JetBrains, Inc
http://www.intellij.com
"Develop with pleasure!"

"Florian Hehlen" <florian.hehlen@ubsw.com> wrote in message
news:30329601.1070278598075.JavaMail.javamailuser@localhost...

ok

>

will we be able to share modules across projects. For example will I be

able to define an API as a module I want to use in many implementations
defined by many projects?
>

Florian



0

And a final question...

Will the Main Module of a project be just like any other module sharable?

The reason why I ask this is clear if you onsider the following development scenario. I create a project in which I have only one module. It's some kind of API or framework. Then I want to start implementing against that API/framework. Will I then be able to open a new project; add the API/Framework module to it and start working on a module that is for example an implementation of it.

If the answer is yes then great... otherwise I am not sure I see the real added value of modules.

0

will we be able to share modules across projects

>

Yes.

Is it will posible to use ZIPed modules?

Thanks!


0

Florian Hehlen wrote:

And a final question...

Will the Main Module of a project be just like any other module sharable?


The Main module is going to disappear.

Friendly,
Dmitry


The reason why I ask this is clear if you onsider the following
development scenario. I create a project in which I have only one module.
It's some kind of API or framework. Then I want to start implementing
against that API/framework. Will I then be able to open a new project; add
the API/Framework module to it and start working on a module that is for
example an implementation of it.

If the answer is yes then great... otherwise I am not sure I see the real
added value of modules.


--
Dmitry Lomov
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"

0

Please sign in to leave a comment.