[seam-commits] Seam SVN: r10542 - in modules/trunk: logging and 15 other directories.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Tue Apr 21 05:38:36 EDT 2009


Author: shane.bryzak at jboss.com
Date: 2009-04-21 05:38:36 -0400 (Tue, 21 Apr 2009)
New Revision: 10542

Added:
   modules/trunk/logging/
   modules/trunk/logging/pom.xml
   modules/trunk/logging/src/
   modules/trunk/logging/src/main/
   modules/trunk/logging/src/main/java/
   modules/trunk/logging/src/main/java/org/
   modules/trunk/logging/src/main/java/org/jboss/
   modules/trunk/logging/src/main/java/org/jboss/seam/
   modules/trunk/logging/src/main/java/org/jboss/seam/log/
   modules/trunk/logging/src/main/java/org/jboss/seam/log/JDKProvider.java
   modules/trunk/logging/src/main/java/org/jboss/seam/log/Log.java
   modules/trunk/logging/src/main/java/org/jboss/seam/log/Log4JProvider.java
   modules/trunk/logging/src/main/java/org/jboss/seam/log/LogImpl.java
   modules/trunk/logging/src/main/java/org/jboss/seam/log/LogProvider.java
   modules/trunk/logging/src/main/java/org/jboss/seam/log/Logging.java
   modules/trunk/logging/target/
   modules/trunk/logging/target/classes/
   modules/trunk/logging/target/classes/org/
   modules/trunk/logging/target/classes/org/jboss/
   modules/trunk/logging/target/classes/org/jboss/seam/
   modules/trunk/logging/target/classes/org/jboss/seam/log/
   modules/trunk/parent/
   modules/trunk/parent/pom.xml
Modified:
   modules/trunk/security/pom.xml
   modules/trunk/version-matrix/pom.xml
Log:
added logging module, parent pom, updated version-matrix pom

Added: modules/trunk/logging/pom.xml
===================================================================
--- modules/trunk/logging/pom.xml	                        (rev 0)
+++ modules/trunk/logging/pom.xml	2009-04-21 09:38:36 UTC (rev 10542)
@@ -0,0 +1,22 @@
+<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/maven-v4_0_0.xsd">
+   <parent>
+      <artifactId>seam-parent</artifactId>
+      <groupId>org.jboss.seam</groupId>      
+      <version>3.0.0-SNAPSHOT</version>
+   </parent>   
+   
+   <modelVersion>4.0.0</modelVersion>
+   <groupId>org.jboss.seam</groupId>
+   <artifactId>seam-logging</artifactId>
+   <version>3.0.0-SNAPSHOT</version>
+   <name>Seam Logging</name>
+   <dependencies>
+
+      <dependency>
+         <groupId>log4j</groupId>
+         <artifactId>log4j</artifactId>
+         <optional>true</optional>
+      </dependency>
+      
+   </dependencies>
+</project>

Added: modules/trunk/logging/src/main/java/org/jboss/seam/log/JDKProvider.java
===================================================================
--- modules/trunk/logging/src/main/java/org/jboss/seam/log/JDKProvider.java	                        (rev 0)
+++ modules/trunk/logging/src/main/java/org/jboss/seam/log/JDKProvider.java	2009-04-21 09:38:36 UTC (rev 10542)
@@ -0,0 +1,140 @@
+package org.jboss.seam.log;
+
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/**
+ * 
+ * @author Gavin King
+ *
+ */
+class JDKProvider implements LogProvider
+{
+   private final Logger logger;
+   private final boolean isWrapped;
+
+   JDKProvider(String category, boolean wrapped)
+   {
+      this.logger = Logger.getLogger(category);
+      this.isWrapped = wrapped;
+   }
+
+   private void log(Level level, Object object, Throwable ex)
+   {
+
+      if (logger.isLoggable(level))
+      {
+         Throwable dummyException = new Throwable();
+         StackTraceElement locations[] = dummyException.getStackTrace();
+         String className = "unknown";
+         String methodName = "unknown";
+         int depth = isWrapped ? 3 : 2;
+         if (locations != null && locations.length > depth)
+         {
+            StackTraceElement caller = locations[depth];
+            className = caller.getClassName();
+            methodName = caller.getMethodName();
+         }
+         if (ex == null)
+         {
+            logger.logp(level, className, methodName, String.valueOf(object));
+         }
+         else
+         {
+            logger.logp(level, className, methodName, String.valueOf(object), ex);
+         }
+      }
+
+   }
+
+   public void debug(Object object, Throwable t)
+   {
+      log(Level.FINE, object, t);
+   }
+
+   public void debug(Object object)
+   {
+      log(Level.FINE, object, null);
+   }
+
+   public void error(Object object, Throwable t)
+   {
+      log(Level.SEVERE, object, t);
+   }
+
+   public void error(Object object)
+   {
+      log(Level.SEVERE, object, null);
+   }
+
+   public void fatal(Object object, Throwable t)
+   {
+      log(Level.SEVERE, object, t);
+   }
+
+   public void fatal(Object object)
+   {
+      log(Level.SEVERE, object, null);
+   }
+
+   public void info(Object object, Throwable t)
+   {
+      log(Level.INFO, object, t);
+   }
+
+   public void info(Object object)
+   {
+      log(Level.INFO, object, null);
+   }
+
+   public boolean isDebugEnabled()
+   {
+      return logger.isLoggable(Level.FINE);
+   }
+
+   public boolean isErrorEnabled()
+   {
+      return logger.isLoggable(Level.SEVERE);
+   }
+
+   public boolean isFatalEnabled()
+   {
+      return logger.isLoggable(Level.SEVERE);
+   }
+
+   public boolean isInfoEnabled()
+   {
+      return logger.isLoggable(Level.INFO);
+   }
+
+   public boolean isTraceEnabled()
+   {
+      return logger.isLoggable(Level.FINER);
+   }
+
+   public boolean isWarnEnabled()
+   {
+      return logger.isLoggable(Level.WARNING);
+   }
+
+   public void trace(Object object, Throwable t)
+   {
+      log(Level.FINER, object, t);
+   }
+
+   public void trace(Object object)
+   {
+      log(Level.FINER, object, null);
+   }
+
+   public void warn(Object object, Throwable t)
+   {
+      log(Level.WARNING, object, t);
+   }
+
+   public void warn(Object object)
+   {
+      log(Level.WARNING, object, null);
+   }
+
+}

Added: modules/trunk/logging/src/main/java/org/jboss/seam/log/Log.java
===================================================================
--- modules/trunk/logging/src/main/java/org/jboss/seam/log/Log.java	                        (rev 0)
+++ modules/trunk/logging/src/main/java/org/jboss/seam/log/Log.java	2009-04-21 09:38:36 UTC (rev 10542)
@@ -0,0 +1,86 @@
+package org.jboss.seam.log;
+
+/**
+ * <p>A <code>Log</code> object is used to log messages.
+ * They will be logged in any environment that has setup a logging service
+ * such as Log4J or the standard JDK logging facilities.  In fact, this
+ * logging interface is very similar to the other facilities with the
+ * difference that logging methods also take any number of optional
+ * parameters beyond the message object for later interpolation
+ * into the message.</p>
+ * 
+ * <p>The idea of using interpolation parameters is very important for
+ * performance reasons in production code.  Normally developers write
+ * logging messages similar to this one:
+ * <pre>
+ *    log.debug("Started processing of " + obj1 + " with action " + obj2);
+ * </pre>
+ * The problem that arises at runtime in production systems, is that DEBUG
+ * level logging may not be enabled.  And even if this logging is going to
+ * be a no-op call, Java must still build the string dynamically that is the
+ * argument to the call.  It is the building of this string that can be quite
+ * time consuming.  The more complex the objects being concatenated are, the
+ * worse the time penalty incurred is.  And this time is completely wasted
+ * since the string may never be used.</p>
+ * 
+ * <p>Normally to combat the problem of making this call and building the
+ * string dynamically, the developer uses a conditional statement to invoke
+ * the call only if the corresponding logging level is enabled.  So the above
+ * call may end up looking like:
+ * <pre>
+ *    if (log.isDebugEnabled())
+ *    {
+ *       log.debug("Started processing of " + obj1 + " with action " + obj2);
+ *    }
+ * </pre>
+ * Ideally, this structure should always be used to avoid the cost of building the
+ * dynamic string (concatenation) and making the unnecessary call.  The only 
+ * drawback to this is that code can become less readable.  In some cases, there
+ * might be more code devoted to logging than the actual behavior required by a
+ * method.</p>
+ * 
+ * <p>A cleaner way to do the logging is to use this interface where simple
+ * objects without any concatenation are passed as arguments.  Albeit the call
+ * itself may still be a no-op when the logging level is not enabled, this is
+ * still much smaller than the concatenation process with dynamic strings.  Each
+ * of the methods defined here will first check to see if the logging level is enabled,
+ * if that feature exists in the underlying logging system.  If and only if that logging
+ * level is enabled, will the implementation proceed with concatenation of the strings
+ * and objects passed.  So the above code using this interface becomes:
+ * <pre>
+ *    log.debug("Started processing of {0} with action {1}, obj1, obj2);
+ * </pre>
+ * </p>
+ * 
+ * <p>The interpolation of parameters into the message string are done using
+ * {@link java.text.MessageFormat}.  See the documentation on that class for
+ * more ideas of interpolation possibilities.  In the above code, <code>obj1</code>
+ * and <code>obj2</code> simply have their <code>toString()</code> methods invoked
+ * to produce a string which is then concatenated.</p>
+ * 
+ * @author Gavin King
+ * @author David Allen
+ *
+ */
+public interface Log
+{
+   public boolean isDebugEnabled();
+   public boolean isErrorEnabled();
+   public boolean isFatalEnabled();
+   public boolean isInfoEnabled();
+   public boolean isTraceEnabled();
+   public boolean isWarnEnabled();
+   public void trace(Object object, Object... params);
+   public void trace(Object object, Throwable t, Object... params);
+   public void debug(Object object, Object... params);
+   public void debug(Object object, Throwable t, Object... params);
+   public void info(Object object, Object... params);
+   public void info(Object object, Throwable t, Object... params);
+   public void warn(Object object, Object... params);
+   public void warn(Object object, Throwable t, Object... params);
+   public void error(Object object, Object... params);
+   public void error(Object object, Throwable t, Object... params);
+   public void fatal(Object object, Object... params);
+   public void fatal(Object object, Throwable t, Object... params);
+
+}
\ No newline at end of file

Added: modules/trunk/logging/src/main/java/org/jboss/seam/log/Log4JProvider.java
===================================================================
--- modules/trunk/logging/src/main/java/org/jboss/seam/log/Log4JProvider.java	                        (rev 0)
+++ modules/trunk/logging/src/main/java/org/jboss/seam/log/Log4JProvider.java	2009-04-21 09:38:36 UTC (rev 10542)
@@ -0,0 +1,135 @@
+package org.jboss.seam.log;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+
+/**
+ * 
+ * @author Gavin King
+ *
+ */
+final class Log4JProvider implements LogProvider
+{
+   private final Logger logger;
+   private final boolean isWrapped;
+
+   private static final String LOG_IMPL_FQCN = LogImpl.class.getName();
+   private static final String LOG_PROVIDER_FQCN = Log4JProvider.class.getName();
+
+   private static final Level TRACE;
+   static
+   {
+      Object trace;
+      try
+      {
+         trace = Level.class.getDeclaredField("TRACE").get(null);
+      }
+      catch (Exception e)
+      {
+         trace = Level.DEBUG;
+      }
+      TRACE = (Level) trace;
+   }
+
+   Log4JProvider(String category, boolean wrapped)
+   {
+      logger = Logger.getLogger(category);
+      isWrapped = wrapped;
+   }
+
+   private String getFQCN()
+   {
+      return isWrapped ? LOG_IMPL_FQCN : LOG_PROVIDER_FQCN;
+   }
+
+   public void debug(Object object)
+   {
+      logger.log(getFQCN(), Level.DEBUG, object, null);
+   }
+
+   public void debug(Object object, Throwable t)
+   {
+      logger.log(getFQCN(), Level.DEBUG, object, t);
+   }
+
+   public void error(Object object)
+   {
+      logger.log(getFQCN(), Level.ERROR, object, null);
+   }
+
+   public void error(Object object, Throwable t)
+   {
+      logger.log(getFQCN(), Level.ERROR, object, t);
+   }
+
+   public void fatal(Object object)
+   {
+      logger.log(getFQCN(), Level.FATAL, object, null);
+   }
+
+   public void fatal(Object object, Throwable t)
+   {
+      logger.log(getFQCN(), Level.FATAL, object, t);
+   }
+
+   public void info(Object object)
+   {
+      logger.log(getFQCN(), Level.INFO, object, null);
+   }
+
+   public void info(Object object, Throwable t)
+   {
+      logger.log(getFQCN(), Level.INFO, object, t);
+   }
+
+   public boolean isDebugEnabled()
+   {
+      return logger.isEnabledFor(Level.DEBUG);
+   }
+
+   public boolean isErrorEnabled()
+   {
+      return logger.isEnabledFor(Level.ERROR);
+   }
+
+   public boolean isFatalEnabled()
+   {
+      return logger.isEnabledFor(Level.FATAL);
+   }
+
+   public boolean isInfoEnabled()
+   {
+      return logger.isEnabledFor(Level.INFO);
+   }
+
+   public boolean isTraceEnabled()
+   {
+      return logger.isEnabledFor(TRACE);
+   }
+
+   public boolean isWarnEnabled()
+   {
+      return logger.isEnabledFor(Level.WARN);
+   }
+
+   public void trace(Object object)
+   {
+      logger.log(getFQCN(), TRACE, object, null);
+   }
+
+   public void trace(Object object, Throwable t)
+   {
+      logger.log(getFQCN(), TRACE, object, t);
+   }
+
+   public void warn(Object object)
+   {
+      logger.log(getFQCN(), Level.WARN, object, null);
+   }
+
+   public void warn(Object object, Throwable t)
+   {
+      logger.log(getFQCN(), Level.WARN, object, t);
+   }
+
+}

Added: modules/trunk/logging/src/main/java/org/jboss/seam/log/LogImpl.java
===================================================================
--- modules/trunk/logging/src/main/java/org/jboss/seam/log/LogImpl.java	                        (rev 0)
+++ modules/trunk/logging/src/main/java/org/jboss/seam/log/LogImpl.java	2009-04-21 09:38:36 UTC (rev 10542)
@@ -0,0 +1,184 @@
+package org.jboss.seam.log;
+
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.text.MessageFormat;
+import java.util.Arrays;
+
+/**
+ * 
+ * @author Gavin King
+ *
+ */
+class LogImpl implements Log, Externalizable
+{
+   private transient LogProvider log;
+   private String category;
+
+   public LogImpl()
+   {
+   }
+
+   LogImpl(String category)
+   {
+      this.category = category;
+      this.log = Logging.getLogProvider(category, true);
+   }
+
+   public boolean isDebugEnabled()
+   {
+      return log.isDebugEnabled();
+   }
+
+   public boolean isErrorEnabled()
+   {
+      return log.isErrorEnabled();
+   }
+
+   public boolean isFatalEnabled()
+   {
+      return log.isFatalEnabled();
+   }
+
+   public boolean isInfoEnabled()
+   {
+      return log.isInfoEnabled();
+   }
+
+   public boolean isTraceEnabled()
+   {
+      return log.isTraceEnabled();
+   }
+
+   public boolean isWarnEnabled()
+   {
+      return log.isWarnEnabled();
+   }
+
+   public void trace(Object object, Object... params)
+   {
+      if (isTraceEnabled())
+      {
+         log.trace(interpolate(object, params));
+      }
+   }
+
+   public void trace(Object object, Throwable t, Object... params)
+   {
+      if (isTraceEnabled())
+      {
+         log.trace(interpolate(object, params), t);
+      }
+   }
+
+   public void debug(Object object, Object... params)
+   {
+      if (isDebugEnabled())
+      {
+         log.debug(interpolate(object, params));
+      }
+   }
+
+   public void debug(Object object, Throwable t, Object... params)
+   {
+      if (isDebugEnabled())
+      {
+         log.debug(interpolate(object, params), t);
+      }
+   }
+
+   public void info(Object object, Object... params)
+   {
+      if (isInfoEnabled())
+      {
+         log.info(interpolate(object, params));
+      }
+   }
+
+   public void info(Object object, Throwable t, Object... params)
+   {
+      if (isInfoEnabled())
+      {
+         log.info(interpolate(object, params), t);
+      }
+   }
+
+   public void warn(Object object, Object... params)
+   {
+      if (isWarnEnabled())
+      {
+         log.warn(interpolate(object, params));
+      }
+   }
+
+   public void warn(Object object, Throwable t, Object... params)
+   {
+      if (isWarnEnabled())
+      {
+         log.warn(interpolate(object, params), t);
+      }
+   }
+
+   public void error(Object object, Object... params)
+   {
+      if (isErrorEnabled())
+      {
+         log.error(interpolate(object, params));
+      }
+   }
+
+   public void error(Object object, Throwable t, Object... params)
+   {
+      if (isErrorEnabled())
+      {
+         log.error(interpolate(object, params), t);
+      }
+   }
+
+   public void fatal(Object object, Object... params)
+   {
+      if (isFatalEnabled())
+      {
+         log.fatal(interpolate(object, params));
+      }
+   }
+
+   public void fatal(Object object, Throwable t, Object... params)
+   {
+      if (isFatalEnabled())
+      {
+         log.fatal(interpolate(object, params), t);
+      }
+   }
+
+   private Object interpolate(Object message, Object... params)
+   {
+      Object interpolatedMessage = message;
+      if (params.length > 0)
+      {
+         for (int i = 0; i < params.length; i++)
+         {
+            if (params[i].getClass().isArray())
+            {
+               params[i] = Arrays.asList((Object[]) params[i]);
+            }
+         }
+         interpolatedMessage = MessageFormat.format(message.toString(), params);
+      }
+      return interpolatedMessage;
+   }
+
+   public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
+   {
+      category = (String) in.readObject();
+      log = Logging.getLogProvider(category, true);
+   }
+
+   public void writeExternal(ObjectOutput out) throws IOException
+   {
+      out.writeObject(category);
+   }
+
+}

Added: modules/trunk/logging/src/main/java/org/jboss/seam/log/LogProvider.java
===================================================================
--- modules/trunk/logging/src/main/java/org/jboss/seam/log/LogProvider.java	                        (rev 0)
+++ modules/trunk/logging/src/main/java/org/jboss/seam/log/LogProvider.java	2009-04-21 09:38:36 UTC (rev 10542)
@@ -0,0 +1,28 @@
+package org.jboss.seam.log;
+
+/**
+ * 
+ * @author Gavin King
+ *
+ */
+public interface LogProvider
+{
+   public void trace(Object object);
+   public void trace(Object object, Throwable t);
+   public void debug(Object object);
+   public void debug(Object object, Throwable t);
+   public void info(Object object);
+   public void info(Object object, Throwable t);
+   public void warn(Object object);
+   public void warn(Object object, Throwable t);
+   public void error(Object object);
+   public void error(Object object, Throwable t);
+   public void fatal(Object object);
+   public void fatal(Object object, Throwable t);
+   public boolean isTraceEnabled();
+   public boolean isDebugEnabled();
+   public boolean isInfoEnabled();
+   public boolean isWarnEnabled();
+   public boolean isErrorEnabled();
+   public boolean isFatalEnabled();
+}

Added: modules/trunk/logging/src/main/java/org/jboss/seam/log/Logging.java
===================================================================
--- modules/trunk/logging/src/main/java/org/jboss/seam/log/Logging.java	                        (rev 0)
+++ modules/trunk/logging/src/main/java/org/jboss/seam/log/Logging.java	2009-04-21 09:38:36 UTC (rev 10542)
@@ -0,0 +1,47 @@
+package org.jboss.seam.log;
+
+/**
+ * 
+ * @author Gavin King
+ *
+ */
+public class Logging
+{
+   private static final boolean isLog4JAvailable;
+
+   static
+   {
+      boolean available;
+      try
+      {
+         Class.forName("org.apache.log4j.Logger");
+         available = true;
+      }
+      catch (ClassNotFoundException cnfe)
+      {
+         available = false;
+      }
+      isLog4JAvailable = available;
+   }
+
+   public static Log getLog(String category)
+   {
+      return new LogImpl(category);
+   }
+
+   public static Log getLog(Class<?> clazz)
+   {
+      return new LogImpl(clazz.getName());
+   }
+
+   static LogProvider getLogProvider(String category, boolean wrapped)
+   {
+      return isLog4JAvailable ? new Log4JProvider(category, wrapped) : new JDKProvider(category, wrapped);
+   }
+
+   public static LogProvider getLogProvider(Class<?> clazz)
+   {
+      return getLogProvider(clazz.getName(), false);
+   }
+
+}

Added: modules/trunk/parent/pom.xml
===================================================================
--- modules/trunk/parent/pom.xml	                        (rev 0)
+++ modules/trunk/parent/pom.xml	2009-04-21 09:38:36 UTC (rev 10542)
@@ -0,0 +1,206 @@
+<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/maven-v4_0_0.xsd">
+   <modelVersion>4.0.0</modelVersion>
+   <groupId>org.jboss.seam</groupId>
+   <artifactId>seam-parent</artifactId>
+   <packaging>pom</packaging>
+   <version>3.0.0-SNAPSHOT</version>
+   
+   <parent>
+      <groupId>org.jboss.seam</groupId>
+      <artifactId>seam-version-matrix</artifactId>
+      <version>3.0.0-SNAPSHOT</version>
+  </parent>
+
+   <name>JBoss Seam</name>
+   <url>http://www.seamframework.org</url>
+
+   <description>
+      JBoss Seam, an Enterprise Java Framework
+   </description>
+
+   <developers>
+      <developer>
+         <name>Pete Muir</name>
+         <roles>
+            <role>Project Lead</role>
+         </roles>
+         <email>pete.muir at jboss.org</email>
+         <organization>JBoss, a division of Red Hat</organization>
+         <url>http://in.relation.to/Bloggers/Pete</url>
+      </developer>
+
+      <developer>
+         <name>Shane Bryzak</name>
+         <organization>JBoss, a division of Red Hat</organization>
+      </developer>
+
+      <developer>
+         <name>Norman Richards</name>
+         <organization>JBoss, a division of Red Hat</organization>
+      </developer>
+      
+      <developer>
+         <name>Dan Allen</name>
+         <organization>JBoss, a division of Red Hat</organization>
+      </developer>
+   </developers>
+
+   <build>
+      <plugins>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-source-plugin</artifactId>
+            <executions>
+               <execution>
+                  <id>attach-sources</id>
+                  <phase>verify</phase>
+                  <goals>
+                     <goal>jar</goal>
+                  </goals>
+               </execution>
+            </executions>
+         </plugin>
+         <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-enforcer-plugin</artifactId>
+         </plugin>
+         <plugin>
+           <groupId>org.apache.maven.plugins</groupId>
+           <artifactId>maven-release-plugin</artifactId>
+           <version>2.0-beta-8</version>
+           <configuration>
+             <tagBase>https://svn.jboss.org/repos/webbeans/ri/tags</tagBase>
+             <autoVersionSubmodules>true</autoVersionSubmodules>
+           </configuration>
+         </plugin>
+      </plugins>
+      <defaultGoal>package</defaultGoal>
+
+      <pluginManagement>
+         <plugins>
+            <plugin>
+               <groupId>org.apache.maven.plugins</groupId>
+               <artifactId>maven-compiler-plugin</artifactId>
+               <configuration>
+                  <source>1.5</source>
+                  <target>1.5</target>
+               </configuration>
+            </plugin>
+            <plugin>
+               <groupId>org.apache.maven.plugins</groupId>
+               <artifactId>maven-jar-plugin</artifactId>
+               <configuration>
+                  <archive>
+                     <manifest>
+                        <addDefaultImplementationEntries>
+                           true
+                        </addDefaultImplementationEntries>
+                        <addDefaultSpecificationEntries>
+                           true
+                        </addDefaultSpecificationEntries>
+                     </manifest>
+                  </archive>
+               </configuration>
+            </plugin>
+            <plugin>
+               <groupId>org.codehaus.mojo</groupId>
+               <artifactId>emma-maven-plugin</artifactId>
+               <configuration>
+                  <forkMode>once</forkMode>
+                  <metadataFile>../target/coverage.em</metadataFile>
+                  <outputDirectory>${project.build.directory}/generated-classes</outputDirectory>
+               </configuration>
+            </plugin>
+         </plugins>
+      </pluginManagement>
+   </build>
+   
+   <profiles>
+      <profile>
+         <id>api-coverage</id>
+         <activation>
+            <property>
+               <name>apiCoverage</name>
+            </property>
+         </activation>
+         <build>
+            <plugins>
+               <plugin>
+                  <groupId>org.apache.maven.plugins</groupId>
+                  <artifactId>maven-surefire-plugin</artifactId>
+                  <inherited>true</inherited>
+                  <configuration>
+                     <forkMode>once</forkMode>
+                  </configuration>
+               </plugin>
+            </plugins>
+         </build>
+         <dependencies>
+            <dependency>
+               <groupId>emma</groupId>
+               <artifactId>emma</artifactId>
+               <version>2.0.5312</version>
+               <scope>test</scope>
+            </dependency>
+         </dependencies>
+      </profile>
+   </profiles>
+   
+   <ciManagement>
+      <system>Hudson</system>
+      <url />
+   </ciManagement>
+
+   <issueManagement>
+      <system>JIRA</system>
+      <url>http://jira.jboss.org/browse/JBSEAM</url>
+   </issueManagement>
+
+   <inceptionYear>2008</inceptionYear>
+
+   <licenses>
+      <license>
+         <name>Lesser Gnu Public License, Version 2.1</name>
+         <url>http://www.gnu.org/licenses/lgpl-2.1.html</url>
+      </license>
+   </licenses>
+
+   <scm>
+      <connection>scm:svn:http://anonsvn.jboss.org/repos/seam</connection>
+      <developerConnection>scm:svn:https://svn.jboss.org/repos/seam</developerConnection>
+      <url>http://fisheye.jboss.org/browse/Seam</url>
+   </scm>
+
+   <distributionManagement>
+      <repository>
+         <!-- Copy the dist to the local checkout of the JBoss maven2 repo ${maven.repository.root} -->
+         <!-- It is anticipated that ${maven.repository.root} be set in user's settings.xml -->
+         <!-- todo : replace this with direct svn access once the svnkit providers are available -->
+         <id>repository.jboss.org</id>
+         <url>file://${maven.repository.root}</url>
+      </repository>
+      <snapshotRepository>
+         <id>snapshots.jboss.org</id>
+         <name>JBoss Snapshot Repository</name>
+         <url>dav:https://snapshots.jboss.org/maven2</url>
+      </snapshotRepository>
+   </distributionManagement>
+
+   <reporting>
+      <plugins>
+         <plugin>
+            <groupId>org.codehaus.mojo</groupId>
+            <artifactId>cobertura-maven-plugin</artifactId>
+            <configuration>
+               <formats>
+                  <format>html</format>
+                  <format>xml</format>
+               </formats>
+               <instrumentation>
+               </instrumentation>
+            </configuration>
+         </plugin>
+      </plugins>
+   </reporting>
+   
+</project>

Modified: modules/trunk/security/pom.xml
===================================================================
--- modules/trunk/security/pom.xml	2009-04-21 08:51:33 UTC (rev 10541)
+++ modules/trunk/security/pom.xml	2009-04-21 09:38:36 UTC (rev 10542)
@@ -1,8 +1,13 @@
 <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/maven-v4_0_0.xsd">   
-   <modelVersion>4.0.0</modelVersion>
-   
+   <parent>
+      <artifactId>seam-parent</artifactId>
+      <groupId>org.jboss.seam</groupId>      
+      <version>3.0.0-SNAPSHOT</version>
+   </parent>    
+  
+   <modelVersion>4.0.0</modelVersion>   
    <groupId>org.jboss.seam</groupId>
    <artifactId>seam-security</artifactId>
    <packaging>jar</packaging>
@@ -13,7 +18,6 @@
       <dependency>
          <groupId>org.jboss.webbeans</groupId>
          <artifactId>jsr299-api</artifactId>
-         <version>1.0.0-SNAPSHOT</version>
       </dependency>              
       
    </dependencies>

Modified: modules/trunk/version-matrix/pom.xml
===================================================================
--- modules/trunk/version-matrix/pom.xml	2009-04-21 08:51:33 UTC (rev 10541)
+++ modules/trunk/version-matrix/pom.xml	2009-04-21 09:38:36 UTC (rev 10542)
@@ -51,7 +51,6 @@
    
    <properties>
       <seam.version>3.0.0-SNAPSHOT</seam.version>
-      <webbeans.version>1.0.0-SNAPSHOT</webbeans.version>
    </properties>
    
    <dependencyManagement>
@@ -141,31 +140,7 @@
             <artifactId>el-ri</artifactId>
             <version>1.2</version>
          </dependency>
-
-         <dependency>
-            <groupId>org.jboss.webbeans</groupId>
-            <artifactId>jsr299-api</artifactId>
-            <version>${webbeans.version}</version>
-         </dependency>
          
-         <dependency>
-            <groupId>org.jboss.webbeans</groupId>
-            <artifactId>webbeans-core</artifactId>
-            <version>${webbeans.version}</version>
-         </dependency>
-
-         <dependency>
-            <groupId>org.jboss.webbeans</groupId>
-            <artifactId>webbeans-spi</artifactId>
-            <version>${webbeans.version}</version>
-         </dependency>
-         
-         <dependency>
-            <groupId>org.jboss.webbeans</groupId>
-            <artifactId>webbeans-porting-package</artifactId>
-            <version>${webbeans.version}</version>
-         </dependency>
-         
       </dependencies>
    </dependencyManagement>
 




More information about the seam-commits mailing list