Title: [waffle-scm] [101] trunk: Added reporting profile to avoid javadoc and source attachments being generated at every build.
Revision
101
Author
mauro
Date
2007-05-28 07:47:12 -0500 (Mon, 28 May 2007)

Log Message

Added reporting profile to avoid javadoc and source attachments being generated at every build.
Cleaned up examples.

Modified Paths

Added Paths

Removed Paths

Diff

Modified: trunk/.classpath (100 => 101)

--- trunk/.classpath	2007-05-28 11:43:57 UTC (rev 100)
+++ trunk/.classpath	2007-05-28 12:47:12 UTC (rev 101)
@@ -8,10 +8,14 @@
   <classpathentry kind="src" path="extensions/webcontainer/src/main/java" />
   <classpathentry kind="src" path="extensions/webcontainer/src/test/java" />
   <classpathentry kind="src" path="examples/freemarker-example/src/main/java" />
+  <classpathentry kind="src" path="examples/freemarker-example/src/test/java" />
   <classpathentry kind="src" path="examples/jruby-example/src/main/java" />
+  <classpathentry kind="src" path="examples/jruby-example/src/test/java" />
   <classpathentry kind="src" path="examples/migration-example/src/main/java" />
   <classpathentry kind="src" path="examples/paranamer-example/src/main/java" />
+  <classpathentry kind="src" path="examples/paranamer-example/src/test/java" />
   <classpathentry kind="src" path="examples/simple-example/src/main/java" />
+  <classpathentry kind="src" path="examples/simple-example/src/test/java" />
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER" />
   <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER" />
   <!-- These following deps are as well since the M2 container only picks up deps in the default profile -->

Modified: trunk/core/pom.xml (100 => 101)

--- trunk/core/pom.xml	2007-05-28 11:43:57 UTC (rev 100)
+++ trunk/core/pom.xml	2007-05-28 12:47:12 UTC (rev 101)
@@ -56,29 +56,6 @@
     </resources>
     <plugins>
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-javadoc-plugin</artifactId>
-        <version>2.0</version>
-        <executions>
-          <execution>
-            <id>attach-javadoc</id>
-            <phase>package</phase>
-            <goals>
-              <goal>jar</goal>
-            </goals>
-            <configuration>
-              <links>
-                <link>http://java.sun.com/j2se/1.5/docs/api</link>
-              </links>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-source-plugin</artifactId>
-      </plugin>
-      <plugin>
         <groupId>com.thoughtworks.paranamer</groupId>
         <artifactId>paranamer-maven-plugin</artifactId>
         <configuration>

Modified: trunk/examples/freemarker-example/resources/people/person.htm (100 => 101)

--- trunk/examples/freemarker-example/resources/people/person.htm	2007-05-28 11:43:57 UTC (rev 100)
+++ trunk/examples/freemarker-example/resources/people/person.htm	2007-05-28 12:47:12 UTC (rev 101)
@@ -35,7 +35,11 @@
                 <td>${person.firstName}</td>
                 <td>${person.lastName}</td>
                 <td>${person.email}</td>
-                <td>${person.dateOfBirth?string("MMMMM dd, yyyy")}</td>
+		        <#if controller.dateOfBirth?has_content>
+	                <td>${person.dateOfBirth?string("dd-MM-yyyy")}</td>
+	            <#else>
+	                <td></td>	            
+		        </#if> 
             </tr>
         </#list>
     </table>

Copied: trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/FreemarkerRegistrar.java (from rev 94, trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/MyRegistrar.java) (0 => 101)

--- trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/FreemarkerRegistrar.java	                        (rev 0)
+++ trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/FreemarkerRegistrar.java	2007-05-28 12:47:12 UTC (rev 101)
@@ -0,0 +1,26 @@
+package org.codehaus.waffle.example.freemarker;
+
+import org.codehaus.waffle.registrar.AbstractRegistrar;
+import org.codehaus.waffle.registrar.Registrar;
+import org.codehaus.waffle.example.freemarker.action.PersonController;
+import org.codehaus.waffle.example.freemarker.dao.SimplePersonDAO;
+
+public class FreemarkerRegistrar extends AbstractRegistrar {
+
+    public FreemarkerRegistrar(Registrar delegate) {
+        super(delegate);
+    }
+
+    @Override
+    public void application() {
+        register(SimplePersonDAO.class);
+        register("people/person", PersonController.class);
+    }
+
+    @Override
+    public void session() {
+        // TODO it fails if registered at session with 
+        // Waffle could not find session-level context container.
+        //register("people/person", PersonController.class);
+    }
+}

Deleted: trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/MyRegistrar.java (100 => 101)

--- trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/MyRegistrar.java	2007-05-28 11:43:57 UTC (rev 100)
+++ trunk/examples/freemarker-example/src/main/java/org/codehaus/waffle/example/freemarker/MyRegistrar.java	2007-05-28 12:47:12 UTC (rev 101)
@@ -1,23 +0,0 @@
-package org.codehaus.waffle.example.freemarker;
-
-import org.codehaus.waffle.registrar.AbstractRegistrar;
-import org.codehaus.waffle.registrar.Registrar;
-import org.codehaus.waffle.example.freemarker.action.PersonController;
-import org.codehaus.waffle.example.freemarker.dao.SimplePersonDAO;
-
-public class MyRegistrar extends AbstractRegistrar {
-
-    public MyRegistrar(Registrar delegate) {
-        super(delegate);
-    }
-
-    @Override
-    public void application() {
-        register(SimplePersonDAO.class);
-    }
-
-    @Override
-    public void session() {
-        register("people/person", PersonController.class);
-    }
-}

Modified: trunk/examples/freemarker-example/src/main/webapp/WEB-INF/web.xml (100 => 101)

--- trunk/examples/freemarker-example/src/main/webapp/WEB-INF/web.xml	2007-05-28 11:43:57 UTC (rev 100)
+++ trunk/examples/freemarker-example/src/main/webapp/WEB-INF/web.xml	2007-05-28 12:47:12 UTC (rev 101)
@@ -10,7 +10,7 @@
     <!-- 1. This is how an application registers its custom Registrar -->
     <context-param>
         <param-name>org.codehaus.waffle.registrar.Registrar</param-name>
-        <param-value>org.codehaus.waffle.example.freemarker.MyRegistrar</param-value>
+        <param-value>org.codehaus.waffle.example.freemarker.FreemarkerRegistrar</param-value>
     </context-param>
     <context-param>
         <param-name>org.codehaus.waffle.action.MethodDefinitionFinder</param-name>

Copied: trunk/examples/freemarker-example/src/test/java/org/codehaus/waffle/example/freemarker/FreemarkerRegistrarTest.java (from rev 94, trunk/examples/freemarker-example/src/test/java/org/codehaus/waffle/example/freemarker/MyRegistrarTest.java) (0 => 101)

--- trunk/examples/freemarker-example/src/test/java/org/codehaus/waffle/example/freemarker/FreemarkerRegistrarTest.java	                        (rev 0)
+++ trunk/examples/freemarker-example/src/test/java/org/codehaus/waffle/example/freemarker/FreemarkerRegistrarTest.java	2007-05-28 12:47:12 UTC (rev 101)
@@ -0,0 +1,11 @@
+package org.codehaus.waffle.example.freemarker;
+
+import org.codehaus.waffle.example.freemarker.FreemarkerRegistrar;
+import org.codehaus.waffle.registrar.mock.AbstractPicoRegistrarTestCase;
+
+public class FreemarkerRegistrarTest extends AbstractPicoRegistrarTestCase {
+
+    public void testConfiguration() {
+        assertConfiguration(FreemarkerRegistrar.class);
+    }
+}

Deleted: trunk/examples/freemarker-example/src/test/java/org/codehaus/waffle/example/freemarker/MyRegistrarTest.java (100 => 101)

--- trunk/examples/freemarker-example/src/test/java/org/codehaus/waffle/example/freemarker/MyRegistrarTest.java	2007-05-28 11:43:57 UTC (rev 100)
+++ trunk/examples/freemarker-example/src/test/java/org/codehaus/waffle/example/freemarker/MyRegistrarTest.java	2007-05-28 12:47:12 UTC (rev 101)
@@ -1,11 +0,0 @@
-package org.codehaus.waffle.example.freemarker;
-
-import org.codehaus.waffle.example.freemarker.MyRegistrar;
-import org.codehaus.waffle.registrar.mock.AbstractPicoRegistrarTestCase;
-
-public class MyRegistrarTest extends AbstractPicoRegistrarTestCase {
-
-    public void testConfiguration() {
-        assertConfiguration(MyRegistrar.class);
-    }
-}

Deleted: trunk/examples/paranamer-example/src/main/java/org/codehaus/waffle/example/paranamer/MyRegistrar.java (100 => 101)

--- trunk/examples/paranamer-example/src/main/java/org/codehaus/waffle/example/paranamer/MyRegistrar.java	2007-05-28 11:43:57 UTC (rev 100)
+++ trunk/examples/paranamer-example/src/main/java/org/codehaus/waffle/example/paranamer/MyRegistrar.java	2007-05-28 12:47:12 UTC (rev 101)
@@ -1,28 +0,0 @@
-package org.codehaus.waffle.example.paranamer;
-
-import org.codehaus.waffle.registrar.AbstractRegistrar;
-import org.codehaus.waffle.registrar.Registrar;
-import org.codehaus.waffle.example.paranamer.action.CalculatorController;
-import org.codehaus.waffle.example.paranamer.action.HelloWorldController;
-import org.codehaus.waffle.example.paranamer.action.PersonController;
-import org.codehaus.waffle.example.paranamer.dao.SimplePersonDAO;
-
-public class MyRegistrar extends AbstractRegistrar {
-
-    public MyRegistrar(Registrar delegate) {
-        super(delegate);
-    }
-
-    @Override
-    public void application() {
-        register(SimplePersonDAO.class);
-        register("helloworld", HelloWorldController.class);
-        register("ajaxexample", AjaxExample.class);
-    }
-
-    @Override
-    public void session() {
-        register("calculator", CalculatorController.class);
-        register("people/person", PersonController.class);
-    }
-}

Copied: trunk/examples/paranamer-example/src/main/java/org/codehaus/waffle/example/paranamer/ParanamerRegistrar.java (from rev 94, trunk/examples/paranamer-example/src/main/java/org/codehaus/waffle/example/paranamer/MyRegistrar.java) (0 => 101)

--- trunk/examples/paranamer-example/src/main/java/org/codehaus/waffle/example/paranamer/ParanamerRegistrar.java	                        (rev 0)
+++ trunk/examples/paranamer-example/src/main/java/org/codehaus/waffle/example/paranamer/ParanamerRegistrar.java	2007-05-28 12:47:12 UTC (rev 101)
@@ -0,0 +1,28 @@
+package org.codehaus.waffle.example.paranamer;
+
+import org.codehaus.waffle.registrar.AbstractRegistrar;
+import org.codehaus.waffle.registrar.Registrar;
+import org.codehaus.waffle.example.paranamer.action.CalculatorController;
+import org.codehaus.waffle.example.paranamer.action.HelloWorldController;
+import org.codehaus.waffle.example.paranamer.action.PersonController;
+import org.codehaus.waffle.example.paranamer.dao.SimplePersonDAO;
+
+public class ParanamerRegistrar extends AbstractRegistrar {
+
+    public ParanamerRegistrar(Registrar delegate) {
+        super(delegate);
+    }
+
+    @Override
+    public void application() {
+        register(SimplePersonDAO.class);
+        register("helloworld", HelloWorldController.class);
+        register("ajaxexample", AjaxExample.class);
+    }
+
+    @Override
+    public void session() {
+        register("calculator", CalculatorController.class);
+        register("people/person", PersonController.class);
+    }
+}

Modified: trunk/examples/paranamer-example/src/main/webapp/WEB-INF/web.xml (100 => 101)

--- trunk/examples/paranamer-example/src/main/webapp/WEB-INF/web.xml	2007-05-28 11:43:57 UTC (rev 100)
+++ trunk/examples/paranamer-example/src/main/webapp/WEB-INF/web.xml	2007-05-28 12:47:12 UTC (rev 101)
@@ -10,7 +10,7 @@
     <!-- 1. This is how an application registers its custom Registrar -->
     <context-param>
         <param-name>org.codehaus.waffle.registrar.Registrar</param-name>
-        <param-value>org.codehaus.waffle.example.paranamer.MyRegistrar</param-value>
+        <param-value>org.codehaus.waffle.example.paranamer.ParanamerRegistrar</param-value>
     </context-param>
     <context-param>
         <param-name>org.codehaus.waffle.action.MethodDefinitionFinder</param-name>

Deleted: trunk/examples/paranamer-example/src/test/java/org/codehaus/waffle/example/paranamer/MyRegistrarTest.java (100 => 101)

--- trunk/examples/paranamer-example/src/test/java/org/codehaus/waffle/example/paranamer/MyRegistrarTest.java	2007-05-28 11:43:57 UTC (rev 100)
+++ trunk/examples/paranamer-example/src/test/java/org/codehaus/waffle/example/paranamer/MyRegistrarTest.java	2007-05-28 12:47:12 UTC (rev 101)
@@ -1,11 +0,0 @@
-package org.codehaus.waffle.example.paranamer;
-
-import org.codehaus.waffle.example.paranamer.MyRegistrar;
-import org.codehaus.waffle.registrar.mock.AbstractPicoRegistrarTestCase;
-
-public class MyRegistrarTest extends AbstractPicoRegistrarTestCase {
-
-    public void testConfiguration() {
-        assertConfiguration(MyRegistrar.class);
-    }
-}

Copied: trunk/examples/paranamer-example/src/test/java/org/codehaus/waffle/example/paranamer/ParanamerRegistrarTest.java (from rev 94, trunk/examples/paranamer-example/src/test/java/org/codehaus/waffle/example/paranamer/MyRegistrarTest.java) (0 => 101)

--- trunk/examples/paranamer-example/src/test/java/org/codehaus/waffle/example/paranamer/ParanamerRegistrarTest.java	                        (rev 0)
+++ trunk/examples/paranamer-example/src/test/java/org/codehaus/waffle/example/paranamer/ParanamerRegistrarTest.java	2007-05-28 12:47:12 UTC (rev 101)
@@ -0,0 +1,11 @@
+package org.codehaus.waffle.example.paranamer;
+
+import org.codehaus.waffle.example.paranamer.ParanamerRegistrar;
+import org.codehaus.waffle.registrar.mock.AbstractPicoRegistrarTestCase;
+
+public class ParanamerRegistrarTest extends AbstractPicoRegistrarTestCase {
+
+    public void testConfiguration() {
+        assertConfiguration(ParanamerRegistrar.class);
+    }
+}

Deleted: trunk/examples/simple-example/src/main/java/org/codehaus/waffle/example/simple/MyRegistrar.java (100 => 101)

--- trunk/examples/simple-example/src/main/java/org/codehaus/waffle/example/simple/MyRegistrar.java	2007-05-28 11:43:57 UTC (rev 100)
+++ trunk/examples/simple-example/src/main/java/org/codehaus/waffle/example/simple/MyRegistrar.java	2007-05-28 12:47:12 UTC (rev 101)
@@ -1,32 +0,0 @@
-package org.codehaus.waffle.example.simple;
-
-import org.codehaus.waffle.registrar.AbstractRegistrar;
-import org.codehaus.waffle.registrar.Registrar;
-import org.codehaus.waffle.example.simple.action.CalculatorController;
-import org.codehaus.waffle.example.simple.action.HelloWorldController;
-import org.codehaus.waffle.example.simple.action.PersonController;
-import org.codehaus.waffle.example.simple.dao.SimplePersonDAO;
-
-public class MyRegistrar extends AbstractRegistrar {
-
-    public MyRegistrar(Registrar delegate) {
-        super(delegate);
-    }
-
-    @Override
-    public void application() {
-        register(SimplePersonDAO.class);
-        register("helloworld", HelloWorldController.class);
-        register("ajaxexample", AjaxExample.class);
-    }
-
-    @Override
-    public void session() {
-        register("calculator", CalculatorController.class);
-        register("automobile", AutomobileController.class);
-        register("automobileValidator", AutomobileControllerValidator.class);
-
-        //
-        register("person", PersonController.class);
-    }
-}

Copied: trunk/examples/simple-example/src/main/java/org/codehaus/waffle/example/simple/SimpleRegistrar.java (from rev 94, trunk/examples/simple-example/src/main/java/org/codehaus/waffle/example/simple/MyRegistrar.java) (0 => 101)

--- trunk/examples/simple-example/src/main/java/org/codehaus/waffle/example/simple/SimpleRegistrar.java	                        (rev 0)
+++ trunk/examples/simple-example/src/main/java/org/codehaus/waffle/example/simple/SimpleRegistrar.java	2007-05-28 12:47:12 UTC (rev 101)
@@ -0,0 +1,32 @@
+package org.codehaus.waffle.example.simple;
+
+import org.codehaus.waffle.registrar.AbstractRegistrar;
+import org.codehaus.waffle.registrar.Registrar;
+import org.codehaus.waffle.example.simple.action.CalculatorController;
+import org.codehaus.waffle.example.simple.action.HelloWorldController;
+import org.codehaus.waffle.example.simple.action.PersonController;
+import org.codehaus.waffle.example.simple.dao.SimplePersonDAO;
+
+public class SimpleRegistrar extends AbstractRegistrar {
+
+    public SimpleRegistrar(Registrar delegate) {
+        super(delegate);
+    }
+
+    @Override
+    public void application() {
+        register(SimplePersonDAO.class);
+        register("helloworld", HelloWorldController.class);
+        register("ajaxexample", AjaxExample.class);
+    }
+
+    @Override
+    public void session() {
+        register("calculator", CalculatorController.class);
+        register("automobile", AutomobileController.class);
+        register("automobileValidator", AutomobileControllerValidator.class);
+
+        //
+        register("person", PersonController.class);
+    }
+}

Modified: trunk/examples/simple-example/src/main/webapp/WEB-INF/web.xml (100 => 101)

--- trunk/examples/simple-example/src/main/webapp/WEB-INF/web.xml	2007-05-28 11:43:57 UTC (rev 100)
+++ trunk/examples/simple-example/src/main/webapp/WEB-INF/web.xml	2007-05-28 12:47:12 UTC (rev 101)
@@ -10,7 +10,7 @@
     <!-- 1. This is how an application registers its custom Registrar -->
     <context-param>
         <param-name>org.codehaus.waffle.registrar.Registrar</param-name>
-        <param-value>org.codehaus.waffle.example.simple.MyRegistrar</param-value>
+        <param-value>org.codehaus.waffle.example.simple.SimpleRegistrar</param-value>
     </context-param>
     <!-- 2. We are adding a Custom Converter to handle Date objects -->
     <context-param>

Deleted: trunk/examples/simple-example/src/test/java/org/codehaus/waffle/example/simple/MyRegistrarTest.java (100 => 101)

--- trunk/examples/simple-example/src/test/java/org/codehaus/waffle/example/simple/MyRegistrarTest.java	2007-05-28 11:43:57 UTC (rev 100)
+++ trunk/examples/simple-example/src/test/java/org/codehaus/waffle/example/simple/MyRegistrarTest.java	2007-05-28 12:47:12 UTC (rev 101)
@@ -1,11 +0,0 @@
-package org.codehaus.waffle.example.simple;
-
-import org.codehaus.waffle.example.simple.MyRegistrar;
-import org.codehaus.waffle.registrar.mock.AbstractPicoRegistrarTestCase;
-
-public class MyRegistrarTest extends AbstractPicoRegistrarTestCase {
-
-    public void testConfiguration() {
-        assertConfiguration(MyRegistrar.class);
-    }
-}

Copied: trunk/examples/simple-example/src/test/java/org/codehaus/waffle/example/simple/SimpleRegistrarTest.java (from rev 94, trunk/examples/simple-example/src/test/java/org/codehaus/waffle/example/simple/MyRegistrarTest.java) (0 => 101)

--- trunk/examples/simple-example/src/test/java/org/codehaus/waffle/example/simple/SimpleRegistrarTest.java	                        (rev 0)
+++ trunk/examples/simple-example/src/test/java/org/codehaus/waffle/example/simple/SimpleRegistrarTest.java	2007-05-28 12:47:12 UTC (rev 101)
@@ -0,0 +1,11 @@
+package org.codehaus.waffle.example.simple;
+
+import org.codehaus.waffle.example.simple.SimpleRegistrar;
+import org.codehaus.waffle.registrar.mock.AbstractPicoRegistrarTestCase;
+
+public class SimpleRegistrarTest extends AbstractPicoRegistrarTestCase {
+
+    public void testConfiguration() {
+        assertConfiguration(SimpleRegistrar.class);
+    }
+}

Modified: trunk/pom.xml (100 => 101)

--- trunk/pom.xml	2007-05-28 11:43:57 UTC (rev 100)
+++ trunk/pom.xml	2007-05-28 12:47:12 UTC (rev 101)
@@ -51,7 +51,7 @@
       <dependency>
         <groupId>javax.servlet</groupId>
         <artifactId>servlet-api</artifactId>
-        <version>2.4</version>
+        <version>2.5</version>
         <scope>provided</scope>
       </dependency>
       <dependency>
@@ -211,6 +211,60 @@
       </build>
     </profile>
     <profile>
+      <!-- reporting profile -->
+      <id>reporting</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <version>2.0</version>
+            <executions>
+              <execution>
+                <id>attach-javadoc</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>jar</goal>
+                </goals>
+                <configuration>
+                  <links>
+                    <link>http://java.sun.com/j2se/1.5/docs/api</link>
+                  </links>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+          </plugin>
+        </plugins>
+      </build>
+      <reporting>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-project-info-reports-plugin</artifactId>
+            <reportSets>
+              <reportSet>
+                <reports>
+                  <report>dependencies</report>
+                  <report>project-team</report>
+                  <report>license</report>
+                  <report>mailing-list</report>
+                  <!--<report>scm</report>-->
+                </reports>
+              </reportSet>
+            </reportSets>
+          </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-surefire-report-plugin</artifactId>
+          </plugin>
+        </plugins>
+      </reporting>
+    </profile>
+    <profile>
       <!-- Tomcat profile:  equivalent to -Dwebapp.deploy.dir=${env.TOMCAT_HOME}/webapps -->
       <id>tomcat</id>
       <properties>
@@ -262,30 +316,6 @@
     <webapp.deploy.dir>${java.io.tmpdir}/webapps</webapp.deploy.dir>
   </properties>
 
-  <reporting>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-project-info-reports-plugin</artifactId>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>dependencies</report>
-              <report>project-team</report>
-              <report>license</report>
-              <report>mailing-list</report>
-              <!--<report>scm</report>-->
-            </reports>
-          </reportSet>
-        </reportSets>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-report-plugin</artifactId>
-      </plugin>
-    </plugins>
-  </reporting>
-
   <licenses>
     <license>
       <name>BSD license</name>


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to