Skip to content

Instantly share code, notes, and snippets.

@NickWilton
Last active April 29, 2020 23:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NickWilton/dc1602fff24509154c076daa404bacb5 to your computer and use it in GitHub Desktop.
Save NickWilton/dc1602fff24509154c076daa404bacb5 to your computer and use it in GitHub Desktop.
Example SmartGWT 4.1 & GWT 2.8 Maven build
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='app'>
<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User' />
<!-- Inherit debug extensions. Required. -->
<inherits name="com.google.gwt.user.Debug"/>
<inherits name="com.google.gwt.logging.Logging"/>
<!-- enables SDM -->
<add-linker name="xsiframe"/>
<!-- Whitelist DevMode to dev server -->
<set-configuration-property name="devModeUrlWhitelistRegexp" value="http://(localhost|www\.xxx\.yyy\.zzz)(:\d+)?/.*" />
<!-- Fixing warning about the doc type: See http://forums.smartclient.com/showthread.php?t=20292 -->
<extend-configuration-property name="document.compatMode" value="BackCompat" />
<!-- Configure Logging -->
<set-property name="gwt.logging.logLevel" value="FINEST"/> # To change the default logLevel
<set-property name="gwt.logging.enabled" value="TRUE"/> # To enable logging
<set-property name="gwt.logging.consoleHandler" value="ENABLED"/> # To enable console handler
<!-- Enable the use of symbol maps -->
<set-property name="compiler.stackMode" value="emulated" />
<set-property name="compiler.useSourceMaps" value="true"/>
<set-configuration-property name="compiler.emulatedStack.recordFileNames" value="true" />
<set-configuration-property name="compiler.emulatedStack.recordLineNumbers" value="true" />
<!-- Set Safari/Chrome Browser Only -->
<set-property name="user.agent" value="safari,gecko1_8"/>
<!-- Specify English only -->
<extend-property name='locale' values='en'/>
<!-- Other SmartGWT inherits -->
<inherits name="com.smartgwtee.SmartGwtEENoScript"/>
<inherits name="com.smartgwt.DrawingNoScript"/>
<inherits name="com.smartgwt.ChartsNoScript"/>
<inherits name="com.smartgwt.tools.SmartGwtTools"/>
<inherits name="com.smartclient.theme.graphite.GraphiteResources"/>
<inherits name="com.smartclient.theme.enterpriseblue.EnterpriseBlueResources"/>
<inherits name="com.smartclient.theme.enterprise.EnterpriseResources"/>
<!-- Specify the app entry point class. -->
<entry-point class='yourproject.client.DesignerEntryPoint' />
<!-- Specify the paths for translatable code -->
<source path='client' />
<source path='shared' />
<public path='public' />
</module>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>yourproject</artifactId>
<packaging>jar</packaging>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<gwt.mojoplugin.version>2.8.0-rc3</gwt.mojoplugin.version>
<smartgwt.version>4.1-p20160927</smartgwt.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt</artifactId>
<version>${gwt.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- GWT -->
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-dev</artifactId>
<scope>provided</scope>
</dependency>
<!-- Used with Super Dev Mode -->
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-codeserver</artifactId>
<scope>provided</scope>
</dependency>
<!-- GWT Servlet - When Using RPC -->
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-servlet</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.isomorphic.smartgwt.pro</groupId>
<artifactId>smartgwt-pro</artifactId>
<version>${smartgwt.version}</version>
</dependency>
<!-- Server Side Dependencies -->
<!-- YOUR CODE DEPENDENCES GO HERE -->
</dependencies>
<build>
<resources>
<resource>
<directory>${basedir}/src/main/java</directory>
<includes>
<include>**/*.class</include>
</includes>
</resource>
<resource>
<directory>${basedir}/src/main/resources</directory>
</resource>
</resources>
<plugins>
<!-- INITIALIZE: Clean Target -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>auto-clean</id>
<phase>initialize</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- COMPILE: Compile GWT -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>${gwt.version}</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>compile</goal>
<goal>generateAsync</goal>
<goal>test</goal>
</goals>
<configuration>
<module>yourproject.module</module>
<localWorkers>1</localWorkers>
<extraJvmArgs>-Xmx2048m</extraJvmArgs>
</configuration>
</execution>
</executions>
</plugin>
<!-- COMPILE: Compile Classes -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<compilerArgs>
<arg>-Xlint:unchecked</arg>
</compilerArgs>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
<outputDirectory>${project.build.directory}/${project.build.finalName}</outputDirectory>
</configuration>
</plugin>
<!--PREPARE-PACKAGE: Copy Webapp Resources -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>copy-web-resources</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/${project.build.finalName}</outputDirectory>
<resources>
<resource>
<directory>${project.build.sourceDirectory}/../webapp</directory>
<includes>
<include>**</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<!--PREPARE-PACKAGE: Copy Main Resources -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>resources</id>
<phase>prepare-package</phase>
<goals>
<goal>resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/classes</outputDirectory>
<resources>
<resource>
<directory>${project.build.sourceDirectory}/../resources</directory>
<includes>
<include>**</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<!-- PACKAGE: Create Jar -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>default-jar</id>
<phase>package</phase>
</execution>
</executions>
<configuration>
<classesDirectory>${project.build.directory}/${project.build.finalName}</classesDirectory>
</configuration>
</plugin>
</plugins>
</build>
</project>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment