Tuesday, January 29, 2013

Re: [POLL RESULTS] Maven project layout, what to "standardize"?

+1 Option 3

On Tuesday, January 29, 2013 4:23:23 AM UTC+11, James Nelson wrote:
Personally, I store all super source and .gwt.xml in src/main/resources, and never have a problem. (Eclipse 4.2; not too painful if you don't use GTK window manager)

No filtering, especially on src/main/java; the contract of maven is source goes into src/main/java, and it will go into the jar as compiled classes, while everything in src/main/resources goes in the jar, no filters needed.

When I want to produce a jar for gwt compiles, rather than include source into the jar of every module, I just make a single uber-module, which pulls in all the modules it needs, then using maven assembly plugin to combine all the dependencies and their sources into a single uber jar.  It works quite well; library code sticks to the specific modules it needs and no more, while the consuming code that gets deployed to the server simply pulls in the uber jar to get all the features bundled together.

This is also very good for code-sharing with the server; I can make the uber-jar provided so it's there for compiles, but rather than deploy a massive jar full of sources and resources to the server, it can just declare runtime dependency only on the submodules it needs, which only contain class files, like a good artifact ought to.  If any other modules needs the source of one of the gwt modules, it's free to use the sources classifier and get the sources jar, or the uber module and uber classifier to get everything bundled up.

On Monday, January 28, 2013 8:22:33 AM UTC-7, olivier.nouguier wrote:
IMHO GEP is to blame, please note that is is only the new GWT Launch UI that suffer from this issue ! If you move the *.gwt.xml file to "resources" afterward it will work. 
I will take a closer look asap.



On Mon, Jan 28, 2013 at 3:16 PM, Abraham Lin <atomknig...@gmail.com> wrote:
This is typically caused by incorrect project classpath settings (check the includes/excludes for the resources folder). It's not clear whether m2e or GPE is to blame here.

-Abraham


On Mon, Jan 28, 2013 at 4:02 AM, Olivier NOUGUIER <olivier....@gmail.com> wrote:
Hum 
  Sorry to say, that :

On Fri, Nov 16, 2012 at 2:34 PM, Thomas Broyer <t.br...@gmail.com> wrote:

Poll results: option 3, aka src/main/resources + src/main/super.

Bonus: it apparently works with the latest version of the GPE (wasn't the case before, where it –basically– only looked into src/main/java)

Is not true :(
In fact, from a fresh project, the *.gwt.xml file are not detected if they lies in src/main/resources ... 
Once the Launch configuration exists the file can be moved from src/main/java to src/main/resources.

On Tuesday, November 13, 2012 1:51:36 PM UTC+1, Thomas Broyer wrote:
Hi all,

As some of view may already know, I'm porting GWT to use Maven as the build system (instead of Ant). I'm also about to "reboot" GWT+Maven integration (more to come by the end of the week, stay tuned).

As part of this effort, I'm wondering which project structure to use as the default, "standard" layout for GWT projects using Maven? I'm particularly looking for advice/preferences for GWT library projects (such as GWT itself, mgwt, Errai, GXT, etc.), not much for GWT applications (the one you run the GWT Compiler on).


NOTE: this poll is cross-posted to the GWT and gwt-maven-plugin groups, please answer only once! (wherever you want)


The question is about where to put files such as: GWT module descriptors (*.gwt.xml), GWT "processed resources" (*.ui.xml, etc.), and super-sources.
It comes without saying (for me at least) that Java sources would go into src/main/java and "public resources" (i.e. the things within **/public/**, e.g. the CSS and image files from the themes) into src/main/resources, so the "everything" below only refers to those other files listed above.
Remember I'm only interested in defining the "standard layout" for GWT libraries, and please think about them as GWT-only libraries, not the kind with server-side and client/server-shared code!
Note that in any case, src/main/java is also added as a resource folder (packaged within the JAR)

Here are the alternatives I thought about:
  1. everything in src/main/java
    super-sources in src/main/resources
  2. everything in src/main/resources
  3. everything in src/main/resources
    super-sources in src/main/super (or gwt-super, or some other name, let's discuss that later as I suspect it's a bikeshed)
When casting your vote, do not hesitate to explain why you prefer that particular layout over the others, or why you don't like one of the proposed layouts. Also feel free to propose a fourth alternative.

--
You received this message because you are subscribed to the Google Groups "Codehaus Mojo gwt-maven-plugin Users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/codehaus-mojo-gwt-maven-plugin-users/-/JXHDJbf3zW0J.

To post to this group, send email to codehaus-mojo-gwt-maven-plugin-users@googlegroups.com.
To unsubscribe from this group, send email to codehaus-mojo-gwt-maven-plugin-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/codehaus-mojo-gwt-maven-plugin-users?hl=en.



--
"Computers are useless. They can only give you answers."
- Pablo Picasso -

--
You received this message because you are subscribed to the Google Groups "Codehaus Mojo gwt-maven-plugin Users" group.
To post to this group, send email to codehaus-mojo-gwt-maven-plugin-users@googlegroups.com.
To unsubscribe from this group, send email to codehaus-mojo-gwt-maven-plugin-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
You received this message because you are subscribed to the Google Groups "Codehaus Mojo gwt-maven-plugin Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to codehaus-mojo-gwt-maven-plugin-users+unsubscribe@googlegroups.com.

To post to this group, send email to codehaus-mojo-gwt-maven-plugin-users@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
"Computers are useless. They can only give you answers."
- Pablo Picasso -

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

No comments:

Post a Comment