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

Pete Muir pmuir at redhat.com
Tue Apr 21 05:40:51 EDT 2009


Shane,

We've already developed the logging module for webbeans - see  
org.jboss.webbeans:webbeans-logger and org.jboss.webbeans:webbeans- 
logging

On 21 Apr 2009, at 10:38, seam-commits at lists.jboss.org wrote:

> 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>
>
>
> _______________________________________________
> seam-commits mailing list
> seam-commits at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/seam-commits

--
Pete Muir
http://www.seamframework.org
http://in.relation.to/Bloggers/Pete




More information about the seam-dev mailing list