[seam-dev] Re: [seam-commits] Seam SVN: r10542 - in modules/trunk: logging and 15 other directories.
Shane Bryzak
shane.bryzak at jboss.com
Tue Apr 21 06:00:45 EDT 2009
Do we want a dependency on webbeans though? I thought this stuff was
supposed to be implementation-independent.
Pete Muir wrote:
> 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
>
> _______________________________________________
> seam-dev mailing list
> seam-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/seam-dev
More information about the seam-dev
mailing list