Index: src/main/java/org/codehaus/mojo/gwt/shell/CompileMojo.java
===================================================================
--- src/main/java/org/codehaus/mojo/gwt/shell/CompileMojo.java	(revision 10044)
+++ src/main/java/org/codehaus/mojo/gwt/shell/CompileMojo.java	(working copy)
@@ -22,13 +22,12 @@
  */
 package org.codehaus.mojo.gwt.shell;
 
-import static org.apache.maven.artifact.Artifact.SCOPE_COMPILE;
-
 import java.io.File;
 import java.util.Collection;
 import java.util.HashSet;
 
 import org.apache.maven.artifact.Artifact;
+import static org.apache.maven.artifact.Artifact.SCOPE_COMPILE;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.codehaus.mojo.gwt.GwtRuntime;
@@ -77,6 +76,20 @@
      */
     private boolean enableAssertions;
 
+   /**
+    * Whether or not to enable story of your compile (-soyc).
+    *
+    * @parameter default-value="false" expression="${gwt.compiler.soyc}"
+    */
+    private boolean soyc;
+
+    /**
+     * The directory into which extra, non-deployed files will be written.
+     *
+     * @parameter default-value="${project.build.directory}/extra"
+     */
+    private File extra;
+
     public void doExecute( GwtRuntime runtime )
         throws MojoExecutionException, MojoFailureException
     {
@@ -128,6 +141,14 @@
             cmd.arg( "-localWorkers" )
                .arg( String.valueOf( getLocalWorkers() ) );
         }
+
+		if ( soyc )
+        {
+            cmd.arg( "-soyc" )
+               .arg( "-extra")
+               .arg( quote(extra.getAbsolutePath()) );
+        }
+
         for ( String target : modules )
         {
             if ( !compilationRequired( target, getOutputDirectory() ) )
