Author: carlos
Date: Sun Jan 20 21:26:44 2008
New Revision: 613761

URL: http://svn.apache.org/viewvc?rev=613761&view=rev
Log:
Send email at the end of the process

Modified:
    maven/archiva/tools/trunk/maven-meeper/pom.xml
    
maven/archiva/tools/trunk/maven-meeper/src/bin/synchronize/m2-sync/sync.properties
    
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Synchronizer.java
    
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SynchronizerOptions.java

Modified: maven/archiva/tools/trunk/maven-meeper/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/pom.xml?rev=613761&r1=613760&r2=613761&view=diff
==============================================================================
--- maven/archiva/tools/trunk/maven-meeper/pom.xml (original)
+++ maven/archiva/tools/trunk/maven-meeper/pom.xml Sun Jan 20 21:26:44 2008
@@ -33,6 +33,11 @@
       <version>1.0-SNAPSHOT</version>
     </dependency>
     <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-email</artifactId>
+      <version>1.1</version>
+    </dependency>
+    <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
       <version>1.4.8</version>

Modified: 
maven/archiva/tools/trunk/maven-meeper/src/bin/synchronize/m2-sync/sync.properties
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/src/bin/synchronize/m2-sync/sync.properties?rev=613761&r1=613760&r2=613761&view=diff
==============================================================================
--- 
maven/archiva/tools/trunk/maven-meeper/src/bin/synchronize/m2-sync/sync.properties
 (original)
+++ 
maven/archiva/tools/trunk/maven-meeper/src/bin/synchronize/m2-sync/sync.properties
 Sun Jan 20 21:26:44 2008
@@ -1,3 +1,7 @@
 exclusionsFile=/home/maven/bin/synchronize/syncopate/exclusions.txt
 basedir=/home/maven/repository-staging/to-ibiblio/maven2
 log=/tmp/sync-changed.log
+mailHostName=localhost
[EMAIL PROTECTED]
[EMAIL PROTECTED]
+mailSubject=[REPOSITORY_SYNC]

Modified: 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Synchronizer.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Synchronizer.java?rev=613761&r1=613760&r2=613761&view=diff
==============================================================================
--- 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Synchronizer.java
 (original)
+++ 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/Synchronizer.java
 Sun Jan 20 21:26:44 2008
@@ -8,6 +8,8 @@
 import java.util.Iterator;
 import java.util.List;
 
+import org.apache.commons.mail.EmailException;
+import org.apache.commons.mail.SimpleEmail;
 import org.codehaus.plexus.util.cli.CommandLineException;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 import org.codehaus.plexus.util.cli.Commandline;
@@ -167,15 +169,36 @@
         synchronizer.sync(repositories);
 
         if (synchronizer.failedRepositories.isEmpty()) {
-            System.out.println("--- All repositories synchronized successfully 
---");
+            synchronizer.sendEmail("--- All repositories synchronized 
successfully ---");
         } else {
-            System.out.println("--- Some repositories were not synchronized 
---");
+            StringBuffer sb = new StringBuffer();
+            sb.append("--- Some repositories were not synchronized ---");
             Iterator it = synchronizer.failedRepositories.iterator();
             while (it.hasNext()) {
                 SyncedRepository repo = (SyncedRepository) it.next();
-                System.out.println(" * " + repo.getGroupId());
-                System.out.println(repo.getErr());
+                sb.append(repo.getGroupId());
+                sb.append("\n");
+                sb.append(repo.getErr());
+                sb.append("\n");
+                sb.append("\n");
             }
+            synchronizer.sendEmail(sb.toString());
+        }
+
+        /* send email out */
+    }
+
+    private void sendEmail(String text) {
+        SimpleEmail email = new SimpleEmail();
+        email.setHostName(options.getMailHostname());
+        try {
+            email.addTo(options.getMailTo());
+            email.setFrom(options.getMailFrom());
+            email.setSubject(options.getMailSubject());
+            email.setMsg(text);
+            email.send();
+        } catch (EmailException e) {
+            throw new RuntimeException(e);
         }
     }
 }

Modified: 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SynchronizerOptions.java
URL: 
http://svn.apache.org/viewvc/maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SynchronizerOptions.java?rev=613761&r1=613760&r2=613761&view=diff
==============================================================================
--- 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SynchronizerOptions.java
 (original)
+++ 
maven/archiva/tools/trunk/maven-meeper/src/main/java/org/apache/maven/archiva/meeper/SynchronizerOptions.java
 Sun Jan 20 21:26:44 2008
@@ -3,7 +3,6 @@
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.FileReader;
 import java.io.IOException;
 import java.util.Properties;
 
@@ -11,10 +10,15 @@
     private static final String BASEDIR = "basedir";
     private static final String LOG_FILE = "log";
     private static final String EXCLUSIONS_FILE = "exclusionsFile";
+    private static final String MAIL_HOST_NAME = "mailHostName";
+    private static final String MAIL_TO = "mailTo";
+    private static final String MAIL_FROM = "mailFrom";
+    private static final String MAIL_SUBJECT = "mailSubject";
     private String exclusionsFile;
     private String basedir;
     private String logFile;
     private boolean dryRun = true;
+    private String mailHostname, mailTo, mailFrom, mailSubject;
 
     public String getExclusionsFile() {
         return exclusionsFile;
@@ -73,6 +77,42 @@
         options.setExclusionsFile(properties.getProperty(EXCLUSIONS_FILE));
         options.setLogFile(properties.getProperty(LOG_FILE));
         options.setBasedir(properties.getProperty(BASEDIR));
+        options.setMailHostname(properties.getProperty(MAIL_HOST_NAME));
+        options.setMailTo(properties.getProperty(MAIL_TO));
+        options.setMailFrom(properties.getProperty(MAIL_FROM));
+        options.setMailSubject(properties.getProperty(MAIL_SUBJECT));
         return options;
+    }
+
+    public void setMailHostname(String mailHostname) {
+        this.mailHostname = mailHostname;
+    }
+
+    public String getMailHostname() {
+        return mailHostname;
+    }
+
+    public String getMailTo() {
+        return mailTo;
+    }
+
+    public void setMailTo(String mailTo) {
+        this.mailTo = mailTo;
+    }
+
+    public String getMailFrom() {
+        return mailFrom;
+    }
+
+    public void setMailFrom(String mailFrom) {
+        this.mailFrom = mailFrom;
+    }
+
+    public String getMailSubject() {
+        return mailSubject;
+    }
+
+    public void setMailSubject(String mailSubject) {
+        this.mailSubject = mailSubject;
     }
 }


Reply via email to