You can't use the target directories for the JS?

On Sat, Apr 24, 2010 at 10:50 AM, Ramon Buckland <[email protected]>wrote:

> Hi Steve,
>
> I think I have what you are after.
>
> What does this pom.xml do ?
>
> a. mvn package  - Creates the war, compiles the java source code.
> b. mvn jetty:run - compiles the GWT to JS into the target/war
> directory and launches jetty (with a debug profile, you can start
> eclipse debugger onto it)
> c. with a launch configuration, Run GWT2 DevMode and run the GWT Jetty
> in eclipse, with the Browser plugin of your choice as google has
> intended it.
> d. a separate launch configuration, (not yet polished)  that starts
> the DevMode as -noserver, Combine this with (b) and you have Maven
> running jetty and Eclipse running te debugger.. and you can debug the
> two separate instances.
>
> What I have NOT yet worked out. the GWT DevMode compiles the GWT
> classes to JS, and lays the into my src/main/webapp folder. I don't
> like this as my Project is under source control, and the JS is a
> compile artefact, not something I want to checkin.
> The compilation of the JS and placing in the src/main/webapp is a
> design of the DevMode, kind of required because jetty needs to serve
> out the JS files.
>  .. other attempts to change it, short of making a new DevMode
> ServletContainer (am working on this) prove fruitless.
>
> Here is what you will want.
>
> -=============== Snippets from pom.xml ==================-
>
> ....
>  <properties>
>     <version-gwt>2.0.3</version-gwt>
>  </properties>
>
> ....
>  <dependencies>
>
>    <dependency>
>      <groupId>com.google.gwt</groupId>
>      <artifactId>gwt-user</artifactId>
>      <version>${version-gwt}</version>
>      <scope>provided</scope>
>    </dependency>
>
>    <dependency>
>      <groupId>com.google.gwt</groupId>
>      <artifactId>gwt-dev</artifactId>
>      <version>${version-gwt}</version>
>      <scope>test</scope>
>    </dependency>
>
>    <dependency>
>      <groupId>com.google.gwt</groupId>
>      <artifactId>gwt-servlet</artifactId>
>      <version>${version-gwt}</version>
>      <scope>runtime</scope>
>    </dependency>
>
>  </dependencies>
>  <build>
>    <plugins>
>
>      <plugin>
>        <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-compiler-plugin</artifactId>
>        <configuration>
>          <source>1.6</source>
>          <target>1.6</target>
>        </configuration>
>      </plugin>
>
>      <plugin>
>        <groupId>org.mortbay.jetty</groupId>
>        <artifactId>maven-jetty-plugin</artifactId>
>                <version>6.1.16</version>
>        <configuration>
>          <webAppConfig>
>            <contextPath>/</contextPath>
>            <baseResource
> implementation="org.mortbay.resource.ResourceCollection">
>              <!-- this magic helps us have static resources in src/
> main/webapp, and with the gwt-maven-plugin, the GWT Compile JS in
> target/ -->
>              <resources>src/main/webapp,target/sample-gwt-webapp</
> resources>
>            </baseResource>
>          </webAppConfig>
>          <connectors>
>            <connector
> implementation="org.mortbay.jetty.nio.SelectChannelConnector">
>              <port>9977</port>
>              <maxIdleTime>60000</maxIdleTime>
>            </connector>
>          </connectors>
>        </configuration>
>      </plugin>
>      <plugin>
>        <groupId>org.codehaus.mojo</groupId>
>        <artifactId>gwt-maven-plugin</artifactId>
>        <!-- version>1.1</version -->
>        <configuration>
>          <hostedWebapp>${project.build.directory}/$
> {project.artifactId}</hostedWebapp>
>          <module>org.mygwt.gwtsample.ui.SampleStackPanel</module>
>        </configuration>
>        <executions>
>          <execution>
>            <id>compile-gwt</id>
>            <phase>compile</phase>
>            <goals>
>              <goal>compile</goal>
>            </goals>
>          </execution>
>          <execution>
>            <id>generate-async-gwt</id>
>            <phase>generate-sources</phase>
>            <goals>
>              <goal>generateAsync</goal>
>            </goals>
>          </execution>
>        </executions>
>      </plugin>
>       <plugin>
>        <groupId>org.apache.maven.plugins</groupId>
>        <artifactId>maven-eclipse-plugin</artifactId>
>         <version>2.8</version>
>        <configuration>
>          <additionalBuildcommands>
>            <buildCommand>
>
> <name>com.google.gdt.eclipse.core.webAppProjectValidator</name>
>            </buildCommand>
>            <buildCommand>
>              <name>com.google.gwt.eclipse.core.gwtProjectValidator</
> name>
>            </buildCommand>
>          </additionalBuildcommands>
>          <classpathContainers>
>
> <classpathContainer>com.google.gwt.eclipse.core.GWT_CONTAINER</
> classpathContainer>
>
> <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</
> classpathContainer>
>          </classpathContainers>
>                  <!-- we need to exclude the dev and user libs from maven
> eclipse
> adding them to the .classpath
>                       as 1. they are already provided by
> com.google.gwt.eclipse.core.GWT_CONTAINER
>                              2. the GWT Plugin complains that it cannot
> find a GWT SDK, if
> these two are in there
>                                     I found, if I moved the GWT SDK
> Container (properties in
> eclipse, move build path dep) up the tree
>                                         above these two jars, the problem
> went away.. so .. just
> removing  them works, as you don't have
>                                         control over the order of deps in
> the .classpath, by the maven-
> eclipse-plugin
>                                we need these two jars in our pom, for the
> gwt-maven-plugin (which
> compiles our final GWT classes)
>                  -->
>                  <excludes>
>                    <exclude>com.google.gwt:gwt-dev</exclude>
>                        <exclude>com.google.gwt:gwt-user</exclude>
>              </excludes>
>          <additionalProjectnatures>
>            <projectnature>org.eclipse.jdt.core.javanature</
> projectnature>
>
> <projectnature>org.springframework.ide.eclipse.core.springnature</
> projectnature>
>             <projectnature>com.google.gwt.eclipse.core.gwtNature</
> projectnature>
>          </additionalProjectnatures>
>         </configuration>
>      </plugin>
>    </plugins>
>    <!--
>                        by default the project id and version are the
> final name, we don't
>                        want the version And this matches the GWT
> plugins job of compiling to
>                        the same hostedWebApp folder (above)
>                -->
>    <finalName>${project.artifactId}</finalName>
>  </build>
>
> -=============== launch configuration files in src/eclipse
> ==================-
>
> No Server Launch - In these launch configurations - change sample-gwt-
> webapp to your project name (there is a better eclipse variable
> project_loc but I could not seem to get it working .. so it is kind of
> hard coded in these launch configs.
>
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <launchConfiguration type="com.google.gdt.eclipse.suite.webapp">
> <booleanAttribute
> key="com.google.gdt.eclipse.core.AUTO_PORT_SELECTION" value="true"/>
> <booleanAttribute key="com.google.gdt.eclipse.core.RUN_SERVER"
> value="false"/>
> <stringAttribute
>
> key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME"
> value="com.google.gwt.dev.GWTShell"/>
> <booleanAttribute
>
> key="com.google.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES"
> value="true"/>
> <stringAttribute key="com.google.gwt.eclipse.core.URL" value="http://
> localhost:9977/index.jsp"/>
> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
> <listEntry value="/sample-gwt-webapp"/>
> </listAttribute>
> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
> <listEntry value="4"/>
> </listAttribute>
> <listAttribute key="org.eclipse.debug.ui.favoriteGroups">
> <listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
> <listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
> </listAttribute>
> <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"
> value="com.google.gwt.eclipse.core.moduleClasspathProvider"/>
> <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE"
> value="com.google.gwt.dev.DevMode"/>
> <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"
> value="-noserver -war &quot;${workspace_loc:sample-gwt-webapp/target}/
> eclipse-gwt-war&quot; -startupUrl http://localhost:9977/index.jsp -
> logLevel INFO org.mygwt.gwtsample.ui.SampleStackPanel"/>
> <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR"
> value="sample-gwt-webapp"/>
> <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-
> Xmx512m"/>
> <stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY"
> value="${workspace_loc:sample-gwt-webapp/target}"/>
> </launchConfiguration>
>
>
> --- The DevMode launcher.
>
>
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <launchConfiguration type="com.google.gdt.eclipse.suite.webapp">
> <booleanAttribute
> key="com.google.gdt.eclipse.core.AUTO_PORT_SELECTION" value="true"/>
> <stringAttribute
>
> key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME"
> value="com.google.gwt.dev.GWTShell"/>
> <booleanAttribute
>
> key="com.google.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES"
> value="true"/>
> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
> <listEntry value="/sample-gwt-webapp"/>
> </listAttribute>
> <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
> <listEntry value="4"/>
> </listAttribute>
> <listAttribute key="org.eclipse.debug.ui.favoriteGroups">
> <listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
> <listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
> </listAttribute>
> <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER"
> value="com.google.gwt.eclipse.core.moduleClasspathProvider"/>
> <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE"
> value="com.google.gwt.dev.DevMode"/>
> <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS"
> value="-logLevel INFO -war &quot;${workspace_loc:sample-gwt-webapp/src/
> main/webapp}&quot; -gen &quot;${workspace_loc:sample-gwt-webapp/target}
> &quot; -remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot;
> -logLevel INFO -port auto org.mygwt.gwtsample.ui.SampleStackPanel"/>
> <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR"
> value="sample-gwt-webapp"/>
> <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-
> Xmx512m"/>
> <stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY"
> value="${workspace_loc:sample-gwt-webapp/target}"/>
> </launchConfiguration>
>
>
> Hope that helps..
>
> I am working on a replacement DevMode Jetty Container which will do
> exactly what we will need it to do for Maven. Stay tuned.
>
> Ramon
> On Apr 18, 6:55 pm, Steve <[email protected]> wrote:
> > I'm getting very frustrated -- reading dozens of messages, faqs,
> > whatever I can find on the subject, but I haven't found all the info I
> > need in one place and haven't been able to piece it all together ...
> > maybe I just missed it, but hopefully someone here can help.
> >
> > What I'd like to do ...
> >
> > Create a GWT project, useMaveninstead of Ant to build.  Be able to
> > debug in DevMode, be able to "mvn package" and manually deploy my war
> > to a container.
> >
> > Using Eclipse (3.5.2), m2eclipse, GPE 1.3.2 -- what do I need to do?
> > What is the directory structure I need?  Is there amavenarchetype to
> > create the directory structure?
> >
> > I tried the MavenAppRpc project.  I was successful in building it and
> > deploying the war to Tomcat.  However, I could never get it to work in
> > DevMode.
> >
> > Is there a 1-2-3 type tutorial available that can get me started?
> >
> > Thanks
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> "Google Web Toolkit" group.
> > To post to this group, send email to [email protected]
> .
> > To unsubscribe from this group, send email to
> [email protected]<google-web-toolkit%[email protected]>
> .
> > For more options, visit this group athttp://
> groups.google.com/group/google-web-toolkit?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google Web Toolkit" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-web-toolkit%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-web-toolkit?hl=en.
>
>


-- 
Joseph B. Ottinger
http://enigmastation.com

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

Reply via email to