My favorites | Sign in
Google
                
New issue | Search
for
| Advanced search | Search tips
Issue 3583: Google Eclipse Plugin configuration is too strict
51 people starred this issue and may be notified of changes. Back to list
 
Reported by diaz.salvador, Apr 21, 2009
*Found in GWT Release:* first release of Google Eclipse Plugin

A "Google Web App problem" is reported in Eclipse's problems view when
default output folder for project is not /projectname/war/WEB-INF/classes

*Encountered on OS:* all supported operating systems

*Detailed description:*

I'm currently evaluating the effort needed to migrate our GWT 1.5
projects to 1.6 and one of the prerequisites is that it should
integrate perfectly with our maven-based continuous integration build
process. So following that logic, we should stick with the basic principles
of maven: keeping your source tree clean, separating
source code from resources and putting all artifacts under a transient
folder (tipically called target). Separating source code from
resources can be easily accomplished by making another "source
folder" (as eclipse calls them) in the project and keeping all of our
resources there (*.gwt.xml, *.css, images, etc). The problem is that
we have to keep clean the original war folder so the default output
folder for all of the source folders should not be /projectname/war/
WEB-INF/classes but the transient copy of that under /projectname/target/
war/WEB-INF/classes, and it's when making that change that I got the error
I'm reporting.

*Shortest code snippet which demonstrates issue:*

Right click on project root > Properties > Java Build Path > Source tab and
in the "Default output folder" textbox enter anything other than
projectname/war/WEB-INF/classes.
At his point a "Google Web App problem" appears in the Problems view saying
that default output folder should be projectname/war/WEB-INF/classes

*Workaround if you have one:*

Ignore the error, it all seems to work just fine (and this precisely is the
reason why GEP should report a warning an not an error).

*Links to relevant GWT Developer Forum posts:*
http://groups.google.com/group/Google-Web-Toolkit-Contributors/msg/733176a661f51035
http://groups.google.com/group/Google-Web-Toolkit-Contributors/msg/801cab63ac6b8519

*Links to relevant GWT User Forum posts:*
http://groups.google.com/group/Google-Web-Toolkit/msg/0fd1dc905817ff31
http://groups.google.com/group/Google-Web-Toolkit/msg/9ae105112586b816
http://groups.google.com/group/Google-Web-Toolkit/msg/589178efeab9742b

Comment 1 by sumitcha...@google.com, Apr 21, 2009
Sounds like a simple fix that would allow us to be friendlier with other build 
systems, like Maven for example.
Owner: mmen...@google.com
Labels: Category-EclipsePlugin Type-Enhancement q2-2009-fixit
Comment 2 by mmendez+personal@google.com, Apr 21, 2009
We flag it as an error because the Web App launch configurations will not work correctly if the output folder is 
not war/WEB-INF/classes.  If you don't use those configurations then it will work for you.

The issue is more about whether or not the war directory should be treated as an input and an output or 
simply an output.  If the latter, then we could create staging directories from which to execute and that would 
guarantee that the war folder remains clean.  It would also cleanly address the dependent projects problem as 
well.  We had long debates internally and settled for the current approach for the first release.



Comment 3 by sumitcha...@google.com, May 01, 2009
Bumping to critical to make sure this gets addressed within the next point release. 
This is causing a hard time for developer who are using maven build systems. See 
groups thread link for more details:

http://groups.google.com/group/Google-Web-
Toolkit/browse_thread/thread/791832a0e177e87e

Labels: Priority-Critical
Comment 4 by mmendez+personal@google.com, May 01, 2009
Summit the scope of this bug is larger than what can be addressed in the upcoming point release.  Is there a 
particular aspect would you suggest we address in the point release?
Comment 5 by diaz.salvador, May 03, 2009
Hi,
After some discussion with Sumit, we realised that the war folder issue is just one
of the issues of the plugin. I think the ideal solution for this would be to be able
to configure input and output locations for the hosted mode (Sumit has thought about
this and he'll be able to explain it better than I do).

There are other issues though and I think that they should be easier to address. For
example, the entry point modules selection dialog doesn't work when the *.gwt.xml
files are not in the same source folder as the source code. Concretely, when
following maven conventions, java source code is located in src/main/java and
resources needed in the classpath are in src/main/resources. Following this logic in
a gwt project, the module declarations have to live in src/main/resources and that
results in the module selection dialog not being able to detect available modules.

Another issue with the plugin (probably related to the module detection) is that
warnings about unavailable classes are not available in the configuration previously
described.

You should try out the tutorial available at my blog (http://blog.salvadordiaz.fr) if
you want to know what I'm talking about.

Hope that helps.
Comment 6 by sumitcha...@google.com, May 13, 2009
After some even further thought about this issue, it seems like getting GWT to play 
with the Maven build process in a flawlessly simple fashion would require changes 
that go beyond the plugin and start touching at the level of the GWT compiler.

Once the necessary tweaks have been made to a project that does want to use Maven 
with GWT, however, it would definitely help if we loosened up restrictions in the 
plugin. For starters, I think Miguel's suggestion of removing the war folder 
structure as an input source to the compilation process and using a staged directory, 
and perhaps even introducing options to specify the staged directory that should be 
used instead (such as the /projectname/target/war/WEB-INF/classes directory used for 
Maven) would help take steps to easier integration.
Comment 7 by sumitcha...@google.com, Jun 17, 2009
 Issue 3755  has been merged into this issue.
Comment 8 by mmendez+personal@google.com, Aug 13, 2009
 Issue 3928  has been merged into this issue.
Comment 9 by mmendez+personal@google.com, Aug 13, 2009
 Issue 3877  has been merged into this issue.
Comment 10 by sumitcha...@google.com, Sep 15, 2009
(No comment was entered for this change.)
Labels: -q2-2009-fixit Fixit
Comment 11 by giulio.roggero, Nov 17, 2009
This issue is a problem also if you are developing a gwt application as a Equinox OSGi 
Bundle. In that case you need to put the WEB-INF directory in the root of the project 
and not in war. But if you but the WEB-INF in the root you cannot use anymore the GWT 
Eclipse plug-in!
Comment 12 by zun...@google.com, Dec 21, 2009
(No comment was entered for this change.)
Owner: mmen...@google.com
Sign in to add a comment