Large Project Structure

105 views
Skip to first unread message

Niraj Salot

unread,
May 29, 2012, 7:26:10 AM5/29/12
to Google Web Toolkit
Hi All,

What should be consider as Best Practice for Large Project Structure ?

We have multiple modules inside the projects. Also We would like to
make sure that single change in one module does not require compile of
all the files. It should be just that module only.

How to achieve this in GWT Project Structure ?

Regards,Niraj Salot/

Кирилл Карпенко

unread,
May 29, 2012, 7:30:42 AM5/29/12
to google-we...@googlegroups.com
You can think about Maven as building toolkit for your project.

It's allow you to make a hierarchical and linear dependencies between modules
which decrease project total complexity.

More details you can find here: http://maven.apache.org and here: http://mojo.codehaus.org/gwt-maven-plugin/

This article also could be informative for you: http://code.google.com/p/gwt-maven/wiki/BigProjectBestPractices


--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-we...@googlegroups.com.
To unsubscribe from this group, send email to google-web-tool...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.


Thomas Broyer

unread,
May 29, 2012, 8:03:30 AM5/29/12
to google-we...@googlegroups.com
GWT does not provide tools to determine whether a compiled GWT module is up-to-date wrt its sources. If you use Maven though, gwt-maven-plugin does it.
This is assuming that by "module" you mean a GWT "app" module (one that you give to the GWT Compiler), rather than a GWT "library" module (one that you <inherits/> in an "app" module), because the GWT compilation is "monolithic"; there's no such thing like "incremental compilation" of a GWT app.

For a large project, I'd rather modularize the build, as Кирилл Карпенко suggests.
Using Maven, you can look at https://github.com/tbroyer/gwt-maven-archetypes as starting point (see http://tbroyer.posterous.com/announcing-gwt-maven-archetypes-project for a quick overview), and then simply create as many `client` module as the number of GWT "app" modules you have.

Niraj Salot

unread,
May 30, 2012, 8:30:47 AM5/30/12
to Google Web Toolkit
Some more details..

Can I have the structure like this way:

Core -
- Client
- Server
- Shared

Account
- Client
- Server
- Shared

Billing
- Client
- Server
- Shared

User
- Client
- Server
- Shared

like this many more. Each module will have it;s own POM.xml and there
will be one overall POM.xml which will the parent one.

Now question is : For this structure , each module should not have
cyclic reference. is this correct ?

Also IF I understand correctly , there will be one project per module
in Eclipse.

Can show one throw some light weather the upper mentioned structure is
right OR I am going on a wrong path.

On May 29, 5:03 pm, Thomas Broyer <t.bro...@gmail.com> wrote:
> On Tuesday, May 29, 2012 1:26:10 PM UTC+2, Niraj Salot wrote:
>
> > Hi All,
>
> > What should be consider as Best Practice for Large Project Structure ?
>
> > We have multiple modules inside the projects. Also We would like to
> > make sure that single change in one module does not require compile of
> > all the files. It should be just that module only.
>
> > How to achieve this in GWT Project Structure ?
>
> GWT does not provide tools to determine whether a compiled GWT module is
> up-to-date wrt its sources. If you use Maven though, gwt-maven-plugin<http://mojo.codehaus.org/gwt-maven-plugin/>does it.
> This is assuming that by "module" you mean a GWT "app" module (one that you
> give to the GWT Compiler), rather than a GWT "library" module (one that you
> <inherits/> in an "app" module), because the GWT compilation is
> "monolithic"; there's no such thing like "incremental compilation" of a GWT
> app.
>
> For a large project, I'd rather modularize the build, as Кирилл Карпенко
> suggests.
> Using Maven, you can look
> athttps://github.com/tbroyer/gwt-maven-archetypesas starting point
> (seehttp://tbroyer.posterous.com/announcing-gwt-maven-archetypes-project
Reply all
Reply to author
Forward
0 new messages