che-server/ide
Artem Zatsarynnyi ee8a8bbf65
Update the command for launching GWT Super DevMode (#7356)
* Update the command for launching GWT SDM

Signed-off-by: Artem Zatsarynnyi <azatsary@redhat.com>
2017-11-14 13:01:12 +02:00
..
che-core-dyna-provider-generator-maven-plugin RELEASE: Set next development version (#7112) 2017-10-31 16:46:30 +02:00
che-core-ide-api Base of Git Panel (#7235) 2017-11-13 09:24:40 +02:00
che-core-ide-app Base of Git Panel (#7235) 2017-11-13 09:24:40 +02:00
che-core-ide-generators RELEASE: Set next development version (#7112) 2017-10-31 16:46:30 +02:00
che-core-ide-stacks Remove snapshotting mechanism; 2017-11-13 14:25:40 +02:00
che-core-ide-templates CHE-6215. Fix parsing of servers for creating preview URL 2017-11-07 09:43:39 +01:00
che-core-ide-ui Base of Git Panel (#7235) 2017-11-13 09:24:40 +02:00
che-core-orion-editor RELEASE: Set next development version (#7112) 2017-10-31 16:46:30 +02:00
che-ide-core RELEASE: Set next development version (#7112) 2017-10-31 16:46:30 +02:00
che-ide-gwt-app 5231 Workspace Loading Sequence (#7225) 2017-11-08 16:32:18 +02:00
commons-gwt 5231 Workspace Loading Sequence (#7225) 2017-11-08 16:32:18 +02:00
gwt-logger RELEASE: Set next development version (#7112) 2017-10-31 16:46:30 +02:00
README.md Update the command for launching GWT Super DevMode (#7356) 2017-11-14 13:01:12 +02:00
pom.xml RELEASE: Set next development version (#7112) 2017-10-31 16:46:30 +02:00

README.md

Che IDE

Making a GWT library for the IDE GWT app

GWT library it's a JAR that contains compiled classes, project's (re-)sources, GWT module descriptor (*.gwt.xml) and possibly other GWT-specific files.

pom.xml

To make a GWT library (e.g., IDE plugin) for using it in IDE GWT app just do the two steps in your pom.xml:

  • add the gwt-maven-plugin configuring GWT module name:
    <plugin>
       <groupId>net.ltgt.gwt.maven</groupId>
       <artifactId>gwt-maven-plugin</artifactId>
       <extensions>true</extensions>
       <configuration>
          <moduleName>org.eclipse.che.plugin.python.Python</moduleName>
       </configuration>
    </plugin>
    
  • set packaging to gwt-lib which triggers a Maven lifecycle that will build a gwt-lib artifact.

*.gwt.xml

Project's *.gwt.xml file is generated within the gwt-lib Maven lifecycle and contains:

  • the declarations for the default source folders:
    <source path="client"/>
    <source path="shared"/>
    <super-source path="super"/>
    
  • <inherits/> directives for the project's direct dependencies which were packaged as a gwt-lib.

Optional template may be provided in src/main/module.gwt.xml for generating project's *.gwt.xml file. The most common cases when you may require a template:

  • need to override the default source folders, like here;
  • need to add <inherits/> directive for a GWT lib that isn't packaged as a gwt-lib artifact (doesn't contain GWT-specific meta information).

Consuming the shared libraries

The shared libraries don't require any GWT-specific files or configuration in pom.xml to be consumed by a GWT library.

To use shared code in a GWT library:

  • declare a dependency on the "normal" artifact (JAR with compiled classes);
  • declare a dependency on the "sources" artifact (with <classifier>sources</classifier>).

See an example here.

Including an IDE plugin to the IDE GWT app

Just add a Maven dependency on the appropriate artifact (gwt-lib) to the che-ide-gwt-app's pom.xml.

In case the added artifact represents Che's sub-project, dependency should be declared with <type>gwt-lib</type> or <classifier>sources</classifier> to be able to use it with Super DevMode.

GWT Super DevMode

To launch GWT Super DevMode run the following command from the root folder of the Che project:

mvn gwt:codeserver -pl :che-ide-gwt-app -am -Dmaven.main.skip -Dmaven.resources.skip -Dche.dto.skip -Dskip-enforce -Dskip-validate-sources.