You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by tj...@apache.org on 2014/06/30 18:55:06 UTC

svn commit: r1606837 [26/27] - in /aries/branches/subsystemsR6: ./ application/ application/application-api/ application/application-bundle/ application/application-converters/ application/application-default-local-platform/ application/application-dep...

Modified: aries/branches/subsystemsR6/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/XaConnectionPool.java
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/XaConnectionPool.java?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/XaConnectionPool.java (original)
+++ aries/branches/subsystemsR6/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/XaConnectionPool.java Mon Jun 30 16:54:57 2014
@@ -16,8 +16,11 @@
  */
 package org.apache.aries.transaction.jms.internal;
 
+import javax.jms.Connection;
 import javax.jms.JMSException;
 import javax.jms.Session;
+import javax.jms.TemporaryQueue;
+import javax.jms.TemporaryTopic;
 import javax.jms.XAConnection;
 import javax.transaction.RollbackException;
 import javax.transaction.Status;
@@ -35,28 +38,58 @@ import org.apache.commons.pool.ObjectPoo
  */
 public class XaConnectionPool extends ConnectionPool {
 
-    private TransactionManager transactionManager;
+    private final TransactionManager transactionManager;
 
-    public XaConnectionPool(XAConnection connection, ObjectPoolFactory poolFactory, TransactionManager transactionManager) throws JMSException {
-        super(connection, poolFactory);
+    public XaConnectionPool(Connection connection, TransactionManager transactionManager) {
+        super(connection);
         this.transactionManager = transactionManager;
     }
 
+    @Override
+    protected Session makeSession(SessionKey key) throws JMSException {
+        return ((XAConnection) connection).createXASession();
+    }
+
+    @Override
     public Session createSession(boolean transacted, int ackMode) throws JMSException {
-    	PooledSession session = null;
         try {
             boolean isXa = (transactionManager != null && transactionManager.getStatus() != Status.STATUS_NO_TRANSACTION);
             if (isXa) {
-                transacted = true;
-                ackMode = Session.SESSION_TRANSACTED;
-                session = (PooledSession) super.createXaSession(transacted, ackMode);
+                // if the xa tx aborts inflight we don't want to auto create a
+                // local transaction or auto ack
+                transacted = false;
+                ackMode = Session.CLIENT_ACKNOWLEDGE;
+            } else if (transactionManager != null) {
+                // cmt or transactionManager managed
+                transacted = false;
+                if (ackMode == Session.SESSION_TRANSACTED) {
+                    ackMode = Session.AUTO_ACKNOWLEDGE;
+                }
+            }
+            PooledSession session = (PooledSession) super.createSession(transacted, ackMode);
+            if (isXa) {
+                session.addSessionEventListener(new PooledSessionEventListener() {
+
+                    @Override
+                    public void onTemporaryQueueCreate(TemporaryQueue tempQueue) {
+                    }
+
+                    @Override
+                    public void onTemporaryTopicCreate(TemporaryTopic tempTopic) {
+                    }
+
+                    @Override
+                    public void onSessionClosed(PooledSession session) {
+                        session.setIgnoreClose(true);
+                        session.setIsXa(false);
+                    }
+                });
                 session.setIgnoreClose(true);
                 session.setIsXa(true);
                 transactionManager.getTransaction().registerSynchronization(new Synchronization(session));
                 incrementReferenceCount();
                 transactionManager.getTransaction().enlistResource(createXaResource(session));
             } else {
-            	session = (PooledSession) super.createSession(transacted, ackMode);
                 session.setIgnoreClose(false);
             }
             return session;
@@ -74,8 +107,7 @@ public class XaConnectionPool extends Co
     protected XAResource createXaResource(PooledSession session) throws JMSException {
         return session.getXAResource();
     }
-    
-    
+
     protected class Synchronization implements javax.transaction.Synchronization {
         private final PooledSession session;
 
@@ -83,21 +115,20 @@ public class XaConnectionPool extends Co
             this.session = session;
         }
 
+        @Override
         public void beforeCompletion() {
         }
-        
+
+        @Override
         public void afterCompletion(int status) {
             try {
                 // This will return session to the pool.
                 session.setIgnoreClose(false);
                 session.close();
-                session.setIgnoreClose(true);
-                session.setIsXa(false);
                 decrementReferenceCount();
             } catch (JMSException e) {
                 throw new RuntimeException(e);
             }
         }
     }
-    
 }

Modified: aries/branches/subsystemsR6/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/XaPooledConnectionFactory.java
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/XaPooledConnectionFactory.java?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/XaPooledConnectionFactory.java (original)
+++ aries/branches/subsystemsR6/transaction/transaction-jms/src/main/java/org/apache/aries/transaction/jms/internal/XaPooledConnectionFactory.java Mon Jun 30 16:54:57 2014
@@ -16,58 +16,133 @@
  */
 package org.apache.aries.transaction.jms.internal;
 
+import java.io.Serializable;
+import java.util.Hashtable;
+
 import javax.jms.Connection;
 import javax.jms.ConnectionFactory;
 import javax.jms.JMSException;
+import javax.jms.QueueConnection;
+import javax.jms.QueueConnectionFactory;
+import javax.jms.TopicConnection;
+import javax.jms.TopicConnectionFactory;
 import javax.jms.XAConnection;
 import javax.jms.XAConnectionFactory;
+import javax.naming.Binding;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.Name;
+import javax.naming.NamingEnumeration;
+import javax.naming.spi.ObjectFactory;
 import javax.transaction.TransactionManager;
 
 import org.apache.aries.transaction.jms.PooledConnectionFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * A pooled connection factory that automatically enlists
  * sessions in the current active XA transaction if any.
  */
-public class XaPooledConnectionFactory extends PooledConnectionFactory {
+public class XaPooledConnectionFactory extends PooledConnectionFactory implements ObjectFactory,
+        Serializable, QueueConnectionFactory, TopicConnectionFactory {
 
-    private XAConnectionFactory xaConnectionFactory;
+    private static final transient Logger LOG = LoggerFactory.getLogger(XaPooledConnectionFactory.class);
     private TransactionManager transactionManager;
-    
-    public XaPooledConnectionFactory() {
-        super();
+    private boolean tmFromJndi = false;
+    private String tmJndiName = "java:/TransactionManager";
+
+    public TransactionManager getTransactionManager() {
+        if (transactionManager == null && tmFromJndi) {
+            try {
+                transactionManager = (TransactionManager) new InitialContext().lookup(getTmJndiName());
+            } catch (Throwable ignored) {
+                if (LOG.isTraceEnabled()) {
+                    LOG.trace("exception on tmFromJndi: " + getTmJndiName(), ignored);
+                }
+            }
+        }
+        return transactionManager;
     }
 
-    public XAConnectionFactory getXaConnectionFactory() {
-        return xaConnectionFactory;
+    public void setTransactionManager(TransactionManager transactionManager) {
+        this.transactionManager = transactionManager;
     }
 
-    public void setXaConnectionFactory(XAConnectionFactory xaConnectionFactory) {
-    	this.xaConnectionFactory = xaConnectionFactory;
-        setConnectionFactory(new ConnectionFactory() {
-            public Connection createConnection() throws JMSException {
-                return XaPooledConnectionFactory.this.xaConnectionFactory.createXAConnection();
-            }
-            public Connection createConnection(String userName, String password) throws JMSException {
-                return XaPooledConnectionFactory.this.xaConnectionFactory.createXAConnection(userName, password);
+    @Override
+    protected ConnectionPool createConnectionPool(Connection connection) {
+        return new XaConnectionPool(connection, getTransactionManager());
+    }
+
+    @Override
+    public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment) throws Exception {
+        setTmFromJndi(true);
+        configFromJndiConf(obj);
+        if (environment != null) {
+            IntrospectionSupport.setProperties(this, environment);
+        }
+        return this;
+    }
+
+    private void configFromJndiConf(Object rootContextName) {
+        if (rootContextName instanceof String) {
+            String name = (String) rootContextName;
+            name = name.substring(0, name.lastIndexOf('/')) + "/conf" + name.substring(name.lastIndexOf('/'));
+            try {
+                InitialContext ctx = new InitialContext();
+                NamingEnumeration bindings = ctx.listBindings(name);
+
+                while (bindings.hasMore()) {
+                    Binding bd = (Binding)bindings.next();
+                    IntrospectionSupport.setProperty(this, bd.getName(), bd.getObject());
+                }
+
+            } catch (Exception ignored) {
+                if (LOG.isTraceEnabled()) {
+                    LOG.trace("exception on config from jndi: " + name, ignored);
+                }
             }
-        });
+        }
     }
 
-    public TransactionManager getTransactionManager() {
-        return transactionManager;
+    public String getTmJndiName() {
+        return tmJndiName;
+    }
+
+    public void setTmJndiName(String tmJndiName) {
+        this.tmJndiName = tmJndiName;
+    }
+
+    public boolean isTmFromJndi() {
+        return tmFromJndi;
     }
 
     /**
-     * The XA TransactionManager to use to enlist the JMS sessions into.
-     *
-     * @org.apache.xbean.Property required=true
+     * Allow transaction manager resolution from JNDI (ee deployment)
+     * @param tmFromJndi
      */
-    public void setTransactionManager(TransactionManager transactionManager) {
-        this.transactionManager = transactionManager;
+    public void setTmFromJndi(boolean tmFromJndi) {
+        this.tmFromJndi = tmFromJndi;
+    }
+
+    @Override
+    public QueueConnection createQueueConnection() throws JMSException {
+        return (QueueConnection) createConnection();
     }
 
-    protected ConnectionPool createConnectionPool(Connection connection) throws JMSException {
-        return new XaConnectionPool((XAConnection) connection, getPoolFactory(), getTransactionManager());
+    @Override
+    public QueueConnection createQueueConnection(String userName, String password) throws JMSException {
+        return (QueueConnection) createConnection(userName, password);
     }
+
+    @Override
+    public TopicConnection createTopicConnection() throws JMSException {
+        return (TopicConnection) createConnection();
+    }
+
+    @Override
+    public TopicConnection createTopicConnection(String userName, String password) throws JMSException {
+        return (TopicConnection) createConnection(userName, password);
+    }
+
 }

Modified: aries/branches/subsystemsR6/transaction/transaction-jms/src/main/resources/OSGI-INF/blueprint/transaction-jms.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/transaction/transaction-jms/src/main/resources/OSGI-INF/blueprint/transaction-jms.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/transaction/transaction-jms/src/main/resources/OSGI-INF/blueprint/transaction-jms.xml (original)
+++ aries/branches/subsystemsR6/transaction/transaction-jms/src/main/resources/OSGI-INF/blueprint/transaction-jms.xml Mon Jun 30 16:54:57 2014
@@ -21,13 +21,13 @@ limitations under the License.
 
     <service interface="org.apache.aries.blueprint.NamespaceHandler">
         <service-properties>
-            <entry key="osgi.service.blueprint.namespace" value="http://aries.apache.org/xmlns/transaction-jms/1.0"/>
+            <entry key="osgi.service.blueprint.namespace" value="http://aries.apache.org/xmlns/transaction-jms/2.0"/>
         </service-properties>
         <bean class="org.apache.xbean.blueprint.context.impl.XBeanNamespaceHandler">
-            <argument value="http://aries.apache.org/xmlns/transaction-jms/1.0"/>
+            <argument value="http://aries.apache.org/xmlns/transaction-jms/2.0"/>
             <argument value="org.apache.aries.transaction.jms.xsd"/>
             <argument ref="blueprintBundle"/>
-            <argument value="META-INF/services/org/apache/xbean/spring/http/aries.apache.org/xmlns/transaction-jms/1.0"/>
+            <argument value="META-INF/services/org/apache/xbean/spring/http/aries.apache.org/xmlns/transaction-jms/2.0"/>
         </bean>
     </service>
 

Modified: aries/branches/subsystemsR6/transaction/transaction-manager/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/transaction/transaction-manager/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/transaction/transaction-manager/pom.xml (original)
+++ aries/branches/subsystemsR6/transaction/transaction-manager/pom.xml Mon Jun 30 16:54:57 2014
@@ -21,23 +21,24 @@
 
     <parent>
         <groupId>org.apache.aries</groupId>
-        <artifactId>java5-parent</artifactId>
-        <version>1.0.0</version>
-        <relativePath />
+        <artifactId>parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.aries.transaction</groupId>
     <artifactId>org.apache.aries.transaction.manager</artifactId>
     <packaging>bundle</packaging>
-    <name>Apache Aries Transaction Manager</name> 
-    <version>1.1.0-SNAPSHOT</version>
+    <name>Apache Aries Transaction Manager</name>
+    <version>1.1.1-SNAPSHOT</version>
 
-     <scm>
-         <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/transaction/transaction-manager</connection>
-         <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/transaction/transaction-manager</developerConnection>
-         <url>http://svn.apache.org/viewvc/aries/trunk/transaction/transaction-manager</url>
-     </scm>
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/transaction/transaction-manager</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/transaction/transaction-manager
+        </developerConnection>
+        <url>http://svn.apache.org/viewvc/aries/trunk/transaction/transaction-manager</url>
+    </scm>
     <properties>
         <aries.osgi.export>
             org.apache.geronimo.transaction.manager;version="3.0";provide:=true,
@@ -66,12 +67,14 @@
             javax.transaction.TransactionManager,
             javax.transaction.TransactionSynchronizationRegistry,
             javax.transaction.UserTransaction,
-            org.apache.geronimo.transaction.manager.RecoverableTransactionManager
+            org.apache.geronimo.transaction.manager.RecoverableTransactionManager,
+            org.springframework.transaction.PlatformTransactionManager
         </aries.osgi.export.service>
         <aries.osgi.include.resource>
             {maven-resources},
             javax/resource/spi/XATerminator.class=target/classes/javax/resource/spi/XATerminator.class
         </aries.osgi.include.resource>
+        <lastReleaseVersion>1.1.0</lastReleaseVersion>
     </properties>
 
     <dependencies>
@@ -125,7 +128,6 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-simple</artifactId>
-            <version>1.5.11</version>
             <scope>test</scope>
         </dependency>
     </dependencies>
@@ -168,7 +170,7 @@
                         <configuration>
                             <tasks>
                                 <copy todir="${project.build.directory}/sources">
-                                    <fileset dir="${basedir}/src/main/java" />
+                                    <fileset dir="${basedir}/src/main/java"/>
                                 </copy>
                             </tasks>
                         </configuration>
@@ -248,14 +250,9 @@
                     </execution>
                 </executions>
             </plugin>
-            <!--
-              - Disable plugin because it barfs that the org.apache.geronimo.transaction
-              - package version should be 2.2.1 because there has been no change
-              -
             <plugin>
                 <groupId>org.apache.aries.versioning</groupId>
                 <artifactId>org.apache.aries.versioning.plugin</artifactId>
-                <version>0.1.0</version>
                 <executions>
                     <execution>
                         <id>default-verify</id>
@@ -263,13 +260,9 @@
                         <goals>
                             <goal>version-check</goal>
                         </goals>
-                        <configuration>
-                            <oldArtifact>org.apache.aries.transaction:org.apache.aries.transaction.manager:1.0.0</oldArtifact>
-                        </configuration>
                     </execution>
                 </executions>
             </plugin>
-            -->
         </plugins>
     </build>
 

Modified: aries/branches/subsystemsR6/transaction/transaction-testbundle/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/transaction/transaction-testbundle/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/transaction/transaction-testbundle/pom.xml (original)
+++ aries/branches/subsystemsR6/transaction/transaction-testbundle/pom.xml Mon Jun 30 16:54:57 2014
@@ -18,34 +18,37 @@
  under the License.
 -->
 <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>
+
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.aries</groupId>
-        <artifactId>java5-parent</artifactId>
-        <version>1.0.0</version>
-        <relativePath />
+        <artifactId>parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath>../../parent/pom.xml</relativePath>
     </parent>
-  <groupId>org.apache.aries.transaction</groupId>
-  <artifactId>org.apache.aries.transaction.testbundle</artifactId>
-  <packaging>bundle</packaging>
-  <version>1.0.1-SNAPSHOT</version>
-  <name>Apache Aries Transaction Test Bundle</name>
-
-     <scm>
-         <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/transaction/transaction-testbundle</connection>
-         <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/transaction/transaction-testbundle</developerConnection>
-         <url>http://svn.apache.org/viewvc/aries/trunk/transaction/transaction-testbundle</url>
-     </scm>
-
-  <properties>
-    <!-- Export package versions are maintained in packageinfo files -->
-
-    <aries.osgi.export.pkg>
-      org.apache.aries.transaction.test
-    </aries.osgi.export.pkg>
-    <aries.osgi.private.pkg>
-      org.apache.aries.transaction.test.impl
-    </aries.osgi.private.pkg>
-  </properties>
+
+    <groupId>org.apache.aries.transaction</groupId>
+    <artifactId>org.apache.aries.transaction.testbundle</artifactId>
+    <packaging>bundle</packaging>
+    <version>1.0.1-SNAPSHOT</version>
+    <name>Apache Aries Transaction Test Bundle</name>
+
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/transaction/transaction-testbundle</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/transaction/transaction-testbundle</developerConnection>
+        <url>http://svn.apache.org/viewvc/aries/trunk/transaction/transaction-testbundle</url>
+    </scm>
+
+    <properties>
+        <!-- Export package versions are maintained in packageinfo files -->
+
+        <aries.osgi.export.pkg>
+            org.apache.aries.transaction.test
+        </aries.osgi.export.pkg>
+        <aries.osgi.private.pkg>
+            org.apache.aries.transaction.test.impl
+        </aries.osgi.private.pkg>
+    </properties>
 
 </project>

Modified: aries/branches/subsystemsR6/transaction/transaction-testds/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/transaction/transaction-testds/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/transaction/transaction-testds/pom.xml (original)
+++ aries/branches/subsystemsR6/transaction/transaction-testds/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,49 +1,56 @@
 <?xml version="1.0" encoding="UTF-8"?>
-	<!--
-		Licensed to the Apache Software Foundation (ASF) under one or more
-		contributor license agreements. See the NOTICE file distributed with
-		this work for additional information regarding copyright ownership.
-		The ASF licenses this file to you under the Apache License, Version
-		2.0 (the "License"); you may not use this file except in compliance
-		with the License. You may obtain a copy of the License at
-
-		http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-		applicable law or agreed to in writing, software distributed under the
-		License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
-		CONDITIONS OF ANY KIND, either express or implied. See the License for
-		the specific language governing permissions and limitations under the
-		License.
-	-->
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
 <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>
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
         <groupId>org.apache.aries</groupId>
-        <artifactId>java5-parent</artifactId>
-        <version>1.0.0</version>
-        <relativePath />
-	</parent>
-	<groupId>org.apache.aries.transaction</groupId>
-	<artifactId>org.apache.aries.transaction.testds</artifactId>
-	<name>Apache Aries Transaction Test Datasource Configuration</name>
+        <artifactId>parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath>../../parent/pom.xml</relativePath>
+    </parent>
+
+    <groupId>org.apache.aries.transaction</groupId>
+    <artifactId>org.apache.aries.transaction.testds</artifactId>
+    <name>Apache Aries Transaction Test Datasource Configuration</name>
     <version>1.0.1-SNAPSHOT</version>
-	<packaging>bundle</packaging>
+    <packaging>bundle</packaging>
+
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/transaction/transaction-testds</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/transaction/transaction-testds</developerConnection>
+        <url>http://svn.apache.org/viewvc/aries/trunk/transaction/transaction-testds</url>
+    </scm>
 
-     <scm>
-         <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/transaction/transaction-testds</connection>
-         <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/transaction/transaction-testds</developerConnection>
-         <url>http://svn.apache.org/viewvc/aries/trunk/transaction/transaction-testds</url>
-     </scm>
-
-     <properties>
-         <aries.osgi.export.pkg>${project.artifactId}*</aries.osgi.export.pkg>
-         <aries.osgi.private.pkg />
-     </properties>
-
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.derby</groupId>
-			<artifactId>derby</artifactId>
+    <properties>
+        <aries.osgi.export.pkg>${project.artifactId}*</aries.osgi.export.pkg>
+        <aries.osgi.private.pkg/>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derby</artifactId>
             <version>10.5.3.0_1</version>
-		</dependency>
-	</dependencies>
+        </dependency>
+    </dependencies>
+
 </project>

Modified: aries/branches/subsystemsR6/tutorials/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/tutorials/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/tutorials/pom.xml (original)
+++ aries/branches/subsystemsR6/tutorials/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,19 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-    
-       http://www.apache.org/licenses/LICENSE-2.0
-    
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
 -->
 <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">
 
@@ -21,17 +23,17 @@
 
     <parent>
         <groupId>org.apache.aries</groupId>
-        <artifactId>java5-parent</artifactId>
-        <version>1.0.0</version>
+        <artifactId>parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath>../parent/pom.xml</relativePath>
     </parent>
-    
-    
+
     <groupId>org.apache.aries.tutorials</groupId>
     <artifactId>tutorials</artifactId>
     <version>0.1-SNAPSHOT</version>
     <name>Apache Aries Tutorials</name>
     <packaging>pom</packaging>
-  
+
     <scm>
         <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/tutorials</connection>
         <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/tutorials</developerConnection>
@@ -48,7 +50,7 @@
         <ariesUtilVersion>0.1-SNAPSHOT</ariesUtilVersion>
         <ariesWebVersion>0.1-SNAPSHOT</ariesWebVersion>
     </properties>
-    
+
     <dependencyManagement>
         <dependencies>
             <dependency>
@@ -109,13 +111,13 @@
                 <artifactId>geronimo-jta_1.1_spec</artifactId>
                 <version>1.1.1</version>
             </dependency>
-<!--
-            <dependency>
-                <groupId>org.apache.geronimo.specs</groupId>
-                <artifactId>geronimo-jpa_1.0_spec</artifactId>
-                <version>1.1.2</version>
-            </dependency>
--->
+            <!--
+                        <dependency>
+                            <groupId>org.apache.geronimo.specs</groupId>
+                            <artifactId>geronimo-jpa_1.0_spec</artifactId>
+                            <version>1.1.2</version>
+                        </dependency>
+            -->
             <dependency>
                 <groupId>org.apache.geronimo.specs</groupId>
                 <artifactId>geronimo-jpa_2.0_spec</artifactId>

Modified: aries/branches/subsystemsR6/util/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/util/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/util/pom.xml (original)
+++ aries/branches/subsystemsR6/util/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
@@ -17,18 +18,19 @@
  under the License.
 -->
 <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>
         <groupId>org.apache.aries</groupId>
-        <artifactId>java5-parent</artifactId>
-        <version>1.0.0</version>
-        <relativePath />
+        <artifactId>parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
     <artifactId>org.apache.aries.util-parent</artifactId>
     <packaging>pom</packaging>
     <version>1.1.1-SNAPSHOT</version>
-
     <name>Apache Aries Util</name>
     <description>
         This bundle contains the OSGi common util for Apache Aries
@@ -44,6 +46,5 @@
         <module>util-r42</module>
         <module>util</module>
     </modules>
-    
 
 </project>

Modified: aries/branches/subsystemsR6/util/util-r42/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/util/util-r42/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/util/util-r42/pom.xml (original)
+++ aries/branches/subsystemsR6/util/util-r42/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
@@ -17,12 +18,14 @@
  under the License.
 -->
 <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>
         <groupId>org.apache.aries</groupId>
-        <artifactId>java5-parent</artifactId>
-        <version>1.0.0</version>
-        <relativePath />
+        <artifactId>parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
     <artifactId>org.apache.aries.util-r42</artifactId>
@@ -35,49 +38,52 @@
 
     <!-- no scm info since this and the util project must be built together to produce the util bundle -->
     <!--<properties>-->
-        <!--&lt;!&ndash; Export package versions are maintained in packageinfo files &ndash;&gt;-->
+    <!--&lt;!&ndash; Export package versions are maintained in packageinfo files &ndash;&gt;-->
 
-        <!--<aries.osgi.export.pkg>-->
-            <!--org.apache.aries.util;-->
-            <!--org.apache.aries.util.tracker;-->
-            <!--org.apache.aries.util.nls;-->
-            <!--org.apache.aries.util.io;-->
-            <!--org.apache.aries.util.service.registry;-->
-            <!--org.apache.aries.util.manifest;-->
-            <!--org.apache.aries.util.filesystem;-->
-        <!--</aries.osgi.export.pkg>-->
-        <!--<aries.osgi.import.pkg>-->
-            <!--!org.apache.aries.util*,-->
-            <!--org.osgi.framework.hooks.bundle;resolution:=optional,-->
-            <!--org.osgi.framework.launch;resolution:=optional,-->
-            <!--org.osgi.framework.wiring.*;resolution:=optional,-->
-            <!--org.osgi.service.framework;resolution:=optional,-->
-            <!--org.eclipse.osgi.internal.loader;resolution:=optional,-->
-            <!--org.eclipse.osgi.framework.internal.core;resolution:=optional,-->
-            <!--org.eclipse.osgi.framework.adaptor;resolution:=optional,-->
-            <!--*-->
-        <!--</aries.osgi.import.pkg>-->
-        <!--<aries.osgi.private.pkg>-->
-            <!--org.apache.aries.util.internal,-->
-            <!--org.apache.aries.util.filesystem.impl,-->
-            <!--org.apache.aries.util.tracker.hook-->
-        <!--</aries.osgi.private.pkg>-->
+    <!--<aries.osgi.export.pkg>-->
+    <!--org.apache.aries.util;-->
+    <!--org.apache.aries.util.tracker;-->
+    <!--org.apache.aries.util.nls;-->
+    <!--org.apache.aries.util.io;-->
+    <!--org.apache.aries.util.service.registry;-->
+    <!--org.apache.aries.util.manifest;-->
+    <!--org.apache.aries.util.filesystem;-->
+    <!--</aries.osgi.export.pkg>-->
+    <!--<aries.osgi.import.pkg>-->
+    <!--!org.apache.aries.util*,-->
+    <!--org.osgi.framework.hooks.bundle;resolution:=optional,-->
+    <!--org.osgi.framework.launch;resolution:=optional,-->
+    <!--org.osgi.framework.wiring.*;resolution:=optional,-->
+    <!--org.osgi.service.framework;resolution:=optional,-->
+    <!--org.eclipse.osgi.internal.loader;resolution:=optional,-->
+    <!--org.eclipse.osgi.framework.internal.core;resolution:=optional,-->
+    <!--org.eclipse.osgi.framework.adaptor;resolution:=optional,-->
+    <!--*-->
+    <!--</aries.osgi.import.pkg>-->
+    <!--<aries.osgi.private.pkg>-->
+    <!--org.apache.aries.util.internal,-->
+    <!--org.apache.aries.util.filesystem.impl,-->
+    <!--org.apache.aries.util.tracker.hook-->
+    <!--</aries.osgi.private.pkg>-->
     <!--</properties>-->
 
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
+            <version>4.2.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.compendium</artifactId>
+            <version>4.2.0</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.eclipse</groupId>
             <artifactId>osgi</artifactId>
+            <version>3.5.0.v20090520</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -92,4 +98,5 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+
 </project>

Modified: aries/branches/subsystemsR6/util/util-r42/src/test/java/org/apache/aries/util/filesystem/IOUtilsTest.java
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/util/util-r42/src/test/java/org/apache/aries/util/filesystem/IOUtilsTest.java?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/util/util-r42/src/test/java/org/apache/aries/util/filesystem/IOUtilsTest.java (original)
+++ aries/branches/subsystemsR6/util/util-r42/src/test/java/org/apache/aries/util/filesystem/IOUtilsTest.java Mon Jun 30 16:54:57 2014
@@ -79,20 +79,20 @@ public class IOUtilsTest
   @Test
   public void testWriteOut() throws IOException
   {
-    File tmpDir = new File("ioUtilsTest/tmp");
-    tmpDir.mkdir();
+    File tmpDir = new File("target/ioUtilsTest/tmp");
+    tmpDir.mkdirs();
     
     IOUtils.writeOut(tmpDir, "simple.txt", new ByteArrayInputStream( "abc".getBytes()));
     IOUtils.writeOut(tmpDir, "some/relative/directory/complex.txt", new ByteArrayInputStream( "def".getBytes()));
     IOUtils.writeOut(tmpDir, "some/relative/directory/complex2.txt", new ByteArrayInputStream( "ghi".getBytes()));
     
-    File simple = new File("ioUtilsTest/tmp/simple.txt");
+    File simple = new File(tmpDir, "simple.txt");
     assertTrue(simple.exists());
 
-    File complex = new File("ioUtilsTest/tmp/some/relative/directory/complex.txt");
+    File complex = new File(tmpDir, "some/relative/directory/complex.txt");
     assertTrue(complex.exists());
 
-    File complex2 = new File("ioUtilsTest/tmp/some/relative/directory/complex2.txt");
+    File complex2 = new File(tmpDir, "some/relative/directory/complex2.txt");
     assertTrue(complex2.exists());
     
     BufferedReader r = new BufferedReader(new FileReader(simple));

Modified: aries/branches/subsystemsR6/util/util/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/util/util/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/util/util/pom.xml (original)
+++ aries/branches/subsystemsR6/util/util/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
@@ -17,12 +18,14 @@
  under the License.
 -->
 <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>
         <groupId>org.apache.aries</groupId>
-        <artifactId>java5-parent</artifactId>
-        <version>1.0.0</version>
-        <relativePath />
+        <artifactId>parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
     <artifactId>org.apache.aries.util</artifactId>
@@ -37,7 +40,6 @@
 
     <properties>
         <!-- Export package versions are maintained in packageinfo files -->
-
         <aries.osgi.export.pkg>
             org.apache.aries.util*;-split-package:=merge-first
         </aries.osgi.export.pkg>
@@ -57,6 +59,7 @@
             org.apache.aries.util.filesystem.impl;-split-package:=merge-first,
             org.apache.aries.util.tracker.hook;-split-package:=merge-first
         </aries.osgi.private.pkg>
+        <lastReleaseVersion>1.1.0</lastReleaseVersion>
     </properties>
 
     <dependencies>
@@ -69,7 +72,6 @@
         <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.core</artifactId>
-            <version>4.3.1</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -80,6 +82,7 @@
         <dependency>
             <groupId>org.eclipse</groupId>
             <artifactId>osgi</artifactId>
+            <version>3.5.0.v20090520</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
@@ -96,34 +99,34 @@
     </dependencies>
 
     <build>
-     <plugins>
-<!-- Configure the javadoc plugin to also include the r42 javadoc -->
-      <plugin>
-        <artifactId>maven-javadoc-plugin</artifactId>
-        <version>2.8.1</version>
-        <executions>
-          <execution>
-            <id>javadoc-jar</id>
-            <phase>package</phase>
-            <goals>
-              <goal>jar</goal>
-            </goals>
-            <configuration>
-		<excludePackageNames>*.impl:*.internal</excludePackageNames>
-              <!-- switch on dependency-driven aggregation -->
-              <includeDependencySources>true</includeDependencySources>
-              
-              <dependencySourceIncludes>
-                <dependencySourceInclude>org.apache.aries:*util*</dependencySourceInclude>
-              </dependencySourceIncludes>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
+        <plugins>
+            <!-- Configure the javadoc plugin to also include the r42 javadoc -->
+            <plugin>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <version>2.8.1</version>
+                <executions>
+                    <execution>
+                        <id>javadoc-jar</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>jar</goal>
+                        </goals>
+                        <configuration>
+                            <failOnError>false</failOnError>
+                            <excludePackageNames>*.impl:*.internal</excludePackageNames>
+                            <!-- switch on dependency-driven aggregation -->
+                            <includeDependencySources>true</includeDependencySources>
+
+                            <dependencySourceIncludes>
+                                <dependencySourceInclude>org.apache.aries:*util*</dependencySourceInclude>
+                            </dependencySourceIncludes>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.aries.versioning</groupId>
                 <artifactId>org.apache.aries.versioning.plugin</artifactId>
-                <version>0.1.0</version>
                 <executions>
                     <execution>
                         <id>default-verify</id>
@@ -131,12 +134,10 @@
                         <goals>
                             <goal>version-check</goal>
                         </goals>
-                        <configuration>
-                            <oldArtifact>org.apache.aries:org.apache.aries.util:1.1.0</oldArtifact>
-                        </configuration>
                     </execution>
                 </executions>
-        </plugin>
+            </plugin>
         </plugins>
     </build>
+
 </project>

Modified: aries/branches/subsystemsR6/versioning/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/versioning/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/versioning/pom.xml (original)
+++ aries/branches/subsystemsR6/versioning/pom.xml Mon Jun 30 16:54:57 2014
@@ -16,28 +16,30 @@
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
---><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">
+-->
+<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>
         <groupId>org.apache.aries</groupId>
-        <artifactId>java5-parent</artifactId>
-        <version>1.0.0</version>
-        <relativePath/>
+        <artifactId>parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
     <groupId>org.apache.aries.versioning</groupId>
     <artifactId>org.apache.aries.versioning</artifactId>
     <packaging>pom</packaging>
     <name>Apache Aries Semantic Versioning Checker</name>
-    <version>0.1.0-SNAPSHOT</version>
+    <version>0.2.1-SNAPSHOT</version>
     <description>
         OSGi Semantic Versioning Checker
     </description>
 
-
     <modules>
         <module>versioning-checker</module>
         <module>versioning-plugin</module>
-  </modules>
+    </modules>
 
 </project>

Modified: aries/branches/subsystemsR6/versioning/versioning-checker/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/versioning/versioning-checker/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/versioning/versioning-checker/pom.xml (original)
+++ aries/branches/subsystemsR6/versioning/versioning-checker/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
@@ -17,6 +18,7 @@
  under the License.
 -->
 <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/xsd/maven-4.0.0.xsd">
+
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
@@ -25,11 +27,11 @@
         <version>1.0.0</version>
         <relativePath />
     </parent>
+
     <groupId>org.apache.aries.versioning</groupId>
     <artifactId>org.apache.aries.versioning.checker</artifactId>
-    <version>0.2.0-SNAPSHOT</version>
+    <version>0.3.1-SNAPSHOT</version>
     <packaging>bundle</packaging>
-
     <name>org.apache.aries.versioning.checker</name>
     <url>http://maven.apache.org</url>
 
@@ -55,24 +57,23 @@
         <aries.osgi.private.pkg>
             org.apache.aries.versioning.utils;
         </aries.osgi.private.pkg>
+        <lastReleaseVersion>0.2.0</lastReleaseVersion>
     </properties>
 
     <dependencies>
-
         <!-- Dependency on other Aries module bundles -->
         <dependency>
             <groupId>org.apache.aries</groupId>
             <artifactId>org.apache.aries.util</artifactId>
-            <version>0.4</version>
+            <version>1.1.0</version>
         </dependency>
         <dependency>
             <groupId>org.apache.aries.testsupport</groupId>
             <artifactId>org.apache.aries.testsupport.unit</artifactId>
             <scope>test</scope>
-            <version>0.3</version>
+            <version>1.0.0</version>
         </dependency>
 
-
         <!--External dependencies. Versions may be specified in default parent -->
         <dependency>
             <groupId>junit</groupId>
@@ -81,9 +82,9 @@
         </dependency>
         <dependency>
             <groupId>org.ow2.asm</groupId>
-            <artifactId>asm-all</artifactId>
+            <artifactId>asm-debug-all</artifactId>
             <optional>true</optional>
-            <version>4.0</version>
+            <version>5.0.3</version>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
@@ -101,4 +102,5 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
+
 </project>

Modified: aries/branches/subsystemsR6/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SerialVersionClassVisitor.java
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SerialVersionClassVisitor.java?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SerialVersionClassVisitor.java (original)
+++ aries/branches/subsystemsR6/versioning/versioning-checker/src/main/java/org/apache/aries/versioning/utils/SerialVersionClassVisitor.java Mon Jun 30 16:54:57 2014
@@ -21,12 +21,13 @@ package org.apache.aries.versioning.util
 import java.io.IOException;
 
 import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.Opcodes;
 import org.objectweb.asm.commons.SerialVersionUIDAdder;
 
 public class SerialVersionClassVisitor extends SerialVersionUIDAdder {
 
     public SerialVersionClassVisitor(ClassVisitor cv) {
-        super(cv);
+        super(Opcodes.ASM5, cv);
 
     }
 

Modified: aries/branches/subsystemsR6/versioning/versioning-plugin/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/versioning/versioning-plugin/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/versioning/versioning-plugin/pom.xml (original)
+++ aries/branches/subsystemsR6/versioning/versioning-plugin/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,37 +1,55 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
 <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/xsd/maven-4.0.0.xsd">
+
     <modelVersion>4.0.0</modelVersion>
+
     <parent>
         <groupId>org.apache.aries</groupId>
         <artifactId>java5-parent</artifactId>
         <version>1.0.0</version>
         <relativePath />
     </parent>
+
     <groupId>org.apache.aries.versioning</groupId>
     <artifactId>org.apache.aries.versioning.plugin</artifactId>
-    <version>0.2.0-SNAPSHOT</version>
+    <version>0.3.1-SNAPSHOT</version>
     <packaging>maven-plugin</packaging>
     <name>org.apache.aries.versioning.plugin Maven Mojo</name>
-    
-    
-    
+
     <scm>
         <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/versioning/versioning-plugin</connection>
         <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/versioning/versioning-plugin</developerConnection>
         <url>http://svn.apache.org/viewvc/aries/trunk/versioning/versioning-plugin</url>
     </scm>
-    
-    
+
     <dependencies>
         <dependency>
             <groupId>org.apache.aries.versioning</groupId>
             <artifactId>org.apache.aries.versioning.checker</artifactId>
-            <version>0.2.0-SNAPSHOT</version>
+            <version>0.3.1-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.ow2.asm</groupId>
-            <artifactId>asm-all</artifactId>
-            <version>4.0</version>
+            <artifactId>asm-debug-all</artifactId>
+            <version>5.0.3</version>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
@@ -51,16 +69,6 @@
             <version>3.0.3</version>
         </dependency>
         <dependency>
-           <groupId>org.sonatype.aether</groupId>
-           <artifactId>aether-api</artifactId>
-           <version>1.11</version>
-         </dependency>
-         <dependency>
-           <groupId>org.sonatype.aether</groupId>
-           <artifactId>aether-util</artifactId>
-           <version>1.11</version>
-         </dependency>
-        <dependency>
             <groupId>org.apache.maven</groupId>
             <artifactId>maven-artifact</artifactId>
             <version>3.0.3</version>
@@ -78,19 +86,47 @@
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
-            <version>3.8.1</version>
             <scope>test</scope>
         </dependency>
+
+        <dependency>
+            <groupId>org.apache.maven.plugin-tools</groupId>
+            <artifactId>maven-plugin-annotations</artifactId>
+            <version>3.2</version>
+            <scope>provided</scope>
+        </dependency>
+        <!-- maven shared -->
+        <dependency>
+            <groupId>org.apache.maven.shared</groupId>
+            <artifactId>maven-artifact-resolver</artifactId>
+            <version>1.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven.shared</groupId>
+            <artifactId>maven-common-artifact-filters</artifactId>
+            <version>1.4</version>
+        </dependency>
     </dependencies>
+
     <build>
         <plugins>
             <plugin>
                 <artifactId>maven-plugin-plugin</artifactId>
-                <version>2.3</version>
+                <version>3.3</version>
                 <configuration>
                     <goalPrefix>asv</goalPrefix>
+                    <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
                 </configuration>
+                <executions>
+                    <execution>
+                        <id>generate-descriptor</id>
+                        <goals>
+                            <goal>descriptor</goal>
+                        </goals>
+                    </execution>
+                </executions>
             </plugin>
         </plugins>
     </build>
+
 </project>

Modified: aries/branches/subsystemsR6/versioning/versioning-plugin/src/main/java/org/apache/aries/versioning/mojo/CLVersionCheckerMojo.java
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/versioning/versioning-plugin/src/main/java/org/apache/aries/versioning/mojo/CLVersionCheckerMojo.java?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/versioning/versioning-plugin/src/main/java/org/apache/aries/versioning/mojo/CLVersionCheckerMojo.java (original)
+++ aries/branches/subsystemsR6/versioning/versioning-plugin/src/main/java/org/apache/aries/versioning/mojo/CLVersionCheckerMojo.java Mon Jun 30 16:54:57 2014
@@ -20,15 +20,13 @@
 
 package org.apache.aries.versioning.mojo;
 
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+
 /**
  * Check semantic version changes between an explicitly named old artifact and the project output artifact.
  * Optionally write packageinfo files for wrong package versions.
- *
- * @goal check
- *
- * @requiresDirectInvocation true
- *
- * @execute phase=package
  */
+@Mojo(name = "check", defaultPhase = LifecyclePhase.PACKAGE, requiresDirectInvocation = true)
 public class CLVersionCheckerMojo extends VersionCheckerMojo {
 }

Modified: aries/branches/subsystemsR6/versioning/versioning-plugin/src/main/java/org/apache/aries/versioning/mojo/VersionCheckerMojo.java
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/versioning/versioning-plugin/src/main/java/org/apache/aries/versioning/mojo/VersionCheckerMojo.java?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/versioning/versioning-plugin/src/main/java/org/apache/aries/versioning/mojo/VersionCheckerMojo.java (original)
+++ aries/branches/subsystemsR6/versioning/versioning-plugin/src/main/java/org/apache/aries/versioning/mojo/VersionCheckerMojo.java Mon Jun 30 16:54:57 2014
@@ -22,196 +22,186 @@ import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLClassLoader;
-import java.util.List;
 import java.util.Map;
 
 import org.apache.aries.util.manifest.BundleManifest;
 import org.apache.aries.versioning.check.BundleCompatibility;
 import org.apache.aries.versioning.check.BundleInfo;
 import org.apache.aries.versioning.check.VersionChange;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
+import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
-import org.sonatype.aether.RepositorySystem;
-import org.sonatype.aether.RepositorySystemSession;
-import org.sonatype.aether.artifact.Artifact;
-import org.sonatype.aether.repository.RemoteRepository;
-import org.sonatype.aether.resolution.ArtifactRequest;
-import org.sonatype.aether.resolution.ArtifactResult;
-import org.sonatype.aether.util.artifact.DefaultArtifact;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.repository.RepositorySystem;
+import org.osgi.framework.Version;
 
 /**
- * Check semantic version changes between an explicitly named old artifact and the project output artifact.
- * Optionally write packageinfo files for wrong package versions.
- *
- * @goal version-check
- * 
- * @phase verify
+ * Check semantic version changes between an explicitly named old artifact and
+ * the project output artifact. Optionally write packageinfo files for wrong
+ * package versions.
  */
-public class VersionCheckerMojo
-extends AbstractMojo
-{
-
-  /**
-   * name of old artifact in <groupId>:<artifactId>[:<extension>[:<classifier>]]:<version> notation
-   * @parameter expression="${oldArtifact}"
-   */
-  private String oldArtifact;
-
-  //    * @parameter expression="${project.artifact.file}"
-  /**
-   * Location of the file.
-   * @parameter expression="${project.build.directory}/${project.build.finalName}.jar"
-   * @required
-   */
-  private File newFile;
-
-  /**
-   * whether to write packageinfo files into source tree
-   * @parameter expression="${writePackageInfos}" default-value="false"
-   */
-  private boolean writePackageinfos = false;
-
-  /**
-   * source tree location
-   * @parameter expression="${project.basedir}/src/main/java"
-   */
-  private File source;
-
-  /**
-   * The entry point to Aether, i.e. the component doing all the work.
-   *
-   * @component
-   * @required
-   * @readonly
-   */
-  private RepositorySystem repoSystem;
-
-  /**
-   * The current repository/network configuration of Maven.
-   *
-   * @parameter default-value="${repositorySystemSession}"
-   * @required
-   * @readonly
-   */
-  private RepositorySystemSession repoSession;
-
-  /**
-   * The project's remote repositories to use for the resolution of project dependencies.
-   *
-   * @parameter default-value="${project.remoteProjectRepositories}"
-   * @readonly
-   */
-  private List<RemoteRepository> projectRepos;
-
-  /**
-   * The project's remote repositories to use for the resolution of plugins and their dependencies.
-   *
-   * @parameter default-value="${project.remotePluginRepositories}"
-   * @required
-   * @readonly
-   */
-  private List<RemoteRepository> pluginRepos;
-
-
-
-  public void execute()
-  throws MojoExecutionException
-  {
-    if (oldArtifact != null) {
-      try {
-        BundleInfo oldBundle = getBundleInfo(resolve(oldArtifact));
-        BundleInfo newBundle = getBundleInfo(newFile);
-        String bundleSymbolicName = newBundle.getBundleManifest().getSymbolicName();
-        URLClassLoader oldClassLoader = new URLClassLoader(new URL[] {oldBundle.getBundle().toURI().toURL()});
-        URLClassLoader newClassLoader = new URLClassLoader(new URL[] {newBundle.getBundle().toURI().toURL()});
-        BundleCompatibility bundleCompatibility = new BundleCompatibility(bundleSymbolicName, newBundle, oldBundle, oldClassLoader, newClassLoader);
-        bundleCompatibility.invoke();
-        String bundleElement = bundleCompatibility.getBundleElement();
-        String pkgElement = bundleCompatibility.getPkgElements().toString();
-        boolean failed = false;
-        if ((bundleElement != null) && (bundleElement.trim().length() >0)){
-          getLog().error(bundleElement + "\r\n");
-          failed = true;
-        }
-        if ((pkgElement != null) && (pkgElement.trim().length() >0 )) {
-          getLog().error(pkgElement);
-          failed = true;
-        }
+@Mojo(name = "version-check", defaultPhase = LifecyclePhase.VERIFY)
+public class VersionCheckerMojo extends AbstractMojo {
 
-        if (writePackageinfos) {
-          writePackageInfos(bundleCompatibility);
+    /**
+     * name of old artifact in
+     * groupId:artifactId[:extension[:classifier]]:version notation
+     */
+    @Parameter(property="aries.oldArtifact")
+    private String oldArtifact;
+    
+    @Parameter(property="aries.skip.version.check", defaultValue = "false")
+    private boolean skip;
+
+    /**
+     * Location of the file (defaults to main project artifact).
+     */
+    @Parameter
+    private File newFile;
+
+    /**
+     * whether to write packageinfo files into source tree
+     */
+    @Parameter(property="writePackageInfos", defaultValue="false")
+    private boolean writePackageinfos = false;
+
+    /**
+     * source tree location
+     */
+    @Parameter(defaultValue="${project.basedir}/src/main/java")
+    private File source;
+
+    @Component
+    private RepositorySystem repository;
+    
+    @Component
+    protected MavenProject project;
+    
+    @Component
+    private MavenSession session;
+    
+    public void execute() throws MojoExecutionException {
+        if (skip) {
+            return;
+        }
+        if ("pom".equals(project.getPackaging())) {
+            return;
+        }
+        if (newFile == null) {
+            newFile = project.getArtifact().getFile();
+        }
+        if (oldArtifact != null) {
+            try {
+                BundleInfo newBundle = getBundleInfo(newFile);
+                if (newBundle == null || newBundle.getBundleManifest() == null) {
+                    //not a bundle type, just return
+                    getLog().info(newFile + " is not an OSGi bundle, skipping.");
+                    return;
+                }
+                if (null == newBundle.getBundleManifest().getManifestVersion()
+                    && null == newBundle.getBundleManifest().getSymbolicName()
+                    && Version.emptyVersion.equals(newBundle.getBundleManifest().getVersion())) {
+                    //not a bundle type, just return
+                    getLog().info(newFile + " is not an OSGi bundle, skipping.");
+                    return;
+                }
+
+                BundleInfo oldBundle = getBundleInfo(resolve(oldArtifact));
+                String bundleSymbolicName = newBundle.getBundleManifest().getSymbolicName();
+                URLClassLoader oldClassLoader = new URLClassLoader(new URL[] {oldBundle.getBundle().toURI()
+                    .toURL()});
+                URLClassLoader newClassLoader = new URLClassLoader(new URL[] {newBundle.getBundle().toURI()
+                    .toURL()});
+                BundleCompatibility bundleCompatibility = new BundleCompatibility(bundleSymbolicName,
+                                                                                  newBundle, oldBundle,
+                                                                                  oldClassLoader,
+                                                                                  newClassLoader);
+                bundleCompatibility.invoke();
+                String bundleElement = bundleCompatibility.getBundleElement();
+                String pkgElement = bundleCompatibility.getPkgElements().toString();
+                
+                boolean failed = false;
+                if ((bundleElement != null) && (bundleElement.trim().length() > 0)) {
+                    getLog().error(bundleElement + "\r\n");
+                    failed = true;
+                }
+                if ((pkgElement != null) && (pkgElement.trim().length() > 0)) {
+                    getLog().error(pkgElement);
+                    failed = true;
+                }
+
+                if (writePackageinfos) {
+                    writePackageInfos(bundleCompatibility);
+                }
+                if (failed) {
+                    throw new RuntimeException("Semantic Versioning incorrect");
+                } else {
+                    getLog().info("All package or bundle versions are semanticly versioned correctly.");
+                }
+            } catch (MalformedURLException e) {
+                throw new MojoExecutionException("Problem analyzing sources");
+            } catch (IOException e) {
+                throw new MojoExecutionException("Problem analyzing sources");
+            }
         }
-        if (failed){
-          throw new RuntimeException ("Semantic Versioning incorrect");
-        } else {
-          getLog().info("All package or bundle versions are semanticly versioned correctly.");
-        }
-      } catch (MalformedURLException e) {
-        throw new MojoExecutionException("Problem analyzing sources");
-      } catch (IOException e) {
-        throw new MojoExecutionException("Problem analyzing sources");
-      }
     }
-  }
 
-  private void writePackageInfos(BundleCompatibility bundleCompatibility) {
-    Map<String, VersionChange> packages = bundleCompatibility.getPackageChanges();
-    for (Map.Entry<String, VersionChange> packageChange: packages.entrySet()) {
-      VersionChange versionChange = packageChange.getValue();
-      if (!versionChange.isCorrect()) {
-        String packageName = packageChange.getKey();
-        String[] bits = packageName.split("\\.");
-        File packageInfo = source;
-        for (String bit: bits) {
-          packageInfo = new File(packageInfo, bit);
-        }
-        packageInfo.mkdirs();
-        packageInfo = new File(packageInfo, "packageinfo");
-        try {
-          FileWriter w = new FileWriter(packageInfo);
-          try {
-            w.append("# generated by Apache Aries semantic versioning tool\n");
-            w.append("version " + versionChange.getRecommendedNewVersion().toString() + "\n");
-            w.flush();
-          } finally {
-            w.close();
-          }
-        } catch (IOException e) {
-          getLog().error("Could not write packageinfo for package " + packageName, e);
+    private void writePackageInfos(BundleCompatibility bundleCompatibility) {
+        Map<String, VersionChange> packages = bundleCompatibility.getPackageChanges();
+        for (Map.Entry<String, VersionChange> packageChange : packages.entrySet()) {
+            VersionChange versionChange = packageChange.getValue();
+            if (!versionChange.isCorrect()) {
+                String packageName = packageChange.getKey();
+                String[] bits = packageName.split("\\.");
+                File packageInfo = source;
+                for (String bit : bits) {
+                    packageInfo = new File(packageInfo, bit);
+                }
+                packageInfo.mkdirs();
+                packageInfo = new File(packageInfo, "packageinfo");
+                try {
+                    FileWriter w = new FileWriter(packageInfo);
+                    try {
+                        w.append("# generated by Apache Aries semantic versioning tool\n");
+                        w.append("version " + versionChange.getRecommendedNewVersion().toString() + "\n");
+                        w.flush();
+                    } finally {
+                        w.close();
+                    }
+                } catch (IOException e) {
+                    getLog().error("Could not write packageinfo for package " + packageName, e);
+                }
+            }
         }
-      }
     }
-  }
 
-  private File resolve(String oldArtifact) {
-    Artifact artifact = new DefaultArtifact(oldArtifact);
-    return resolve(artifact);
-  }
-
-  private File resolve(Artifact artifact) {
-    ArtifactRequest request = new ArtifactRequest();
-    request.setArtifact(artifact);
-    request.setRepositories(projectRepos);
-
-    getLog().debug("Resolving artifact " + artifact +
-        " from " + projectRepos);
-
-    ArtifactResult result;
-    try {
-      result = repoSystem.resolveArtifact(repoSession, request);
-    } catch (org.sonatype.aether.resolution.ArtifactResolutionException e) {
-      getLog().warn("could not resolve " + artifact, e);
-      return null;
+    private File resolve(String artifactDescriptor) {
+        String[] s = artifactDescriptor.split(":");
+
+        String type = (s.length >= 4 ? s[3] : "jar");
+        Artifact artifact = repository.createArtifact(s[0], s[1], s[2], type);
+
+        ArtifactResolutionRequest request = new ArtifactResolutionRequest();
+        request.setArtifact(artifact);
+        
+        request.setResolveRoot(true).setResolveTransitively(false);
+        request.setServers( session.getRequest().getServers() );
+        request.setMirrors( session.getRequest().getMirrors() );
+        request.setProxies( session.getRequest().getProxies() );
+        request.setLocalRepository(session.getLocalRepository());
+        request.setRemoteRepositories(session.getRequest().getRemoteRepositories());
+        repository.resolve(request);
+        return artifact.getFile();
     }
 
-    getLog().debug("Resolved artifact " + artifact + " to " +
-        result.getArtifact().getFile() + " from "
-        + result.getRepository());
-    return result.getArtifact().getFile();
-  }
-
-  private BundleInfo getBundleInfo(File f) {
-    BundleManifest bundleManifest = BundleManifest.fromBundle(f);
-    return new BundleInfo(bundleManifest, f);
-  }
+    private BundleInfo getBundleInfo(File f) {
+        BundleManifest bundleManifest = BundleManifest.fromBundle(f);
+        return new BundleInfo(bundleManifest, f);
+    }
 }

Modified: aries/branches/subsystemsR6/web/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/web/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/web/pom.xml (original)
+++ aries/branches/subsystemsR6/web/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
@@ -17,14 +18,16 @@
  under the License.
 -->
 <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>java5-parent</artifactId>
         <groupId>org.apache.aries</groupId>
-        <version>1.0.0</version>
-        <relativePath />
+        <artifactId>parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath>../parent/pom.xml</relativePath>
     </parent>
 
-    <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.aries.web</groupId>
     <artifactId>web</artifactId>
     <packaging>pom</packaging>

Modified: aries/branches/subsystemsR6/web/web-itests/pom.xml
URL: http://svn.apache.org/viewvc/aries/branches/subsystemsR6/web/web-itests/pom.xml?rev=1606837&r1=1606836&r2=1606837&view=diff
==============================================================================
--- aries/branches/subsystemsR6/web/web-itests/pom.xml (original)
+++ aries/branches/subsystemsR6/web/web-itests/pom.xml Mon Jun 30 16:54:57 2014
@@ -1,26 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements. See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to you under the Apache License, Version
-  2.0 (the "License"); you may not use this file except in compliance
-  with the License. You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0 Unless required by
-  applicable law or agreed to in writing, software distributed under
-  the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
-  OR CONDITIONS OF ANY KIND, either express or implied. See the
-  License for the specific language governing permissions and
-  limitations under the License.
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
 -->
 <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>
         <groupId>org.apache.aries</groupId>
-        <artifactId>java5-parent</artifactId>
-        <version>1.0.0</version>
-        <relativePath />
+        <artifactId>parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath>../../parent/pom.xml</relativePath>
     </parent>
-    <modelVersion>4.0.0</modelVersion>
 
     <groupId>org.apache.aries.web</groupId>
     <artifactId>org.apache.aries.web.itests</artifactId>
@@ -28,33 +34,28 @@
     <name>Apache Aries Web integration tests</name>
     <version>1.0.1-SNAPSHOT</version>
 
-     <scm>
-         <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/web/web-itests</connection>
-         <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/web/web-itests</developerConnection>
-         <url>http://svn.apache.org/viewvc/aries/trunk/web/web-itests</url>
-     </scm>
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/aries/trunk/web/web-itests</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/aries/trunk/web/web-itests</developerConnection>
+        <url>http://svn.apache.org/viewvc/aries/trunk/web/web-itests</url>
+    </scm>
+
+    <properties>
+        <exam.version>3.4.0</exam.version>
+        <url.version>1.6.0</url.version>
+    </properties>
 
     <dependencies>
         <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-             <groupId>org.ow2.asm</groupId>
-            <artifactId>asm-all</artifactId>
-            <version>4.0</version>
+            <groupId>org.ow2.asm</groupId>
+            <artifactId>asm-debug-all</artifactId>
+            <version>5.0.3</version>
         </dependency>
         <dependency>
             <groupId>org.apache.aries.testsupport</groupId>
             <artifactId>org.apache.aries.testsupport.unit</artifactId>
             <scope>test</scope>
-            <version>1.0.0</version>
+            <version>2.0.0-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
@@ -68,32 +69,32 @@
             <version>1.0.0</version>
         </dependency>
         <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>org.apache.felix.configadmin</artifactId>
-                <version>1.2.4</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.apache.felix</groupId>
-                        <artifactId>org.osgi.compendium</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>org.apache.felix</groupId>
-                        <artifactId>org.osgi.core</artifactId>
-                    </exclusion>
-                </exclusions>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.configadmin</artifactId>
+            <version>1.2.4</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>org.osgi.compendium</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>org.osgi.core</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
- 
+
         <dependency>
             <groupId>org.apache.aries</groupId>
             <artifactId>org.apache.aries.util</artifactId>
             <scope>test</scope>
             <version>1.0.0</version>
-        </dependency> 
+        </dependency>
         <dependency>
             <groupId>org.apache.aries.proxy</groupId>
             <artifactId>org.apache.aries.proxy</artifactId>
             <scope>test</scope>
-            <version>1.0.0</version>
+            <version>1.0.2-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>org.apache.aries.blueprint</groupId>
@@ -101,46 +102,82 @@
             <scope>test</scope>
             <version>1.0.0</version>
         </dependency>
+
+        <!-- pax exam -->
         <dependency>
-            <groupId>org.ops4j.pax.logging</groupId>
-            <artifactId>pax-logging-api</artifactId>
-            <scope>test</scope>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>1.7.7</version>
         </dependency>
         <dependency>
-            <groupId>org.ops4j.pax.logging</groupId>
-            <artifactId>pax-logging-service</artifactId>
+            <groupId>org.ops4j.pax.exam</groupId>
+            <artifactId>pax-exam</artifactId>
+            <version>${exam.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.ops4j.pax.exam</groupId>
-            <artifactId>pax-exam</artifactId>
+            <artifactId>pax-exam-container-forked</artifactId>
+            <version>${exam.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.ops4j.pax.exam</groupId>
-            <artifactId>pax-exam-junit</artifactId>
+            <artifactId>pax-exam-junit4</artifactId>
+            <version>${exam.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.ops4j.pax.exam</groupId>
-            <artifactId>pax-exam-container-default</artifactId>
+            <artifactId>pax-exam-link-mvn</artifactId>
+            <version>${exam.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.ops4j.pax.swissbox</groupId>
-            <artifactId>pax-swissbox-tinybundles</artifactId>
+            <groupId>org.ops4j.pax.url</groupId>
+            <artifactId>pax-url-aether</artifactId>
+            <version>${url.version}</version>
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.ops4j.pax.url</groupId>
-            <artifactId>pax-url-mvn</artifactId>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-core</artifactId>
+            <version>0.9.29</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+            <version>0.9.29</version>
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>org.ops4j.pax.tinybundles</groupId>
+            <artifactId>tinybundles</artifactId>
+            <version>2.0.0</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>org.osgi.core</artifactId>
+                    <groupId>org.osgi</groupId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.eclipse</groupId>
+            <artifactId>org.eclipse.osgi</artifactId>
+            <version>3.8.0.v20120529-1548</version>
+        </dependency>
+
+        <dependency>
             <groupId>org.apache.aries.web</groupId>
             <artifactId>org.apache.aries.web.urlhandler</artifactId>
             <scope>provided</scope>
-            <version>1.0.0</version>
+            <version>1.0.1-SNAPSHOT</version>
         </dependency>
     </dependencies>
 
@@ -152,6 +189,7 @@
                 <version>1.2</version>
                 <executions>
                     <execution>
+                        <phase>generate-resources</phase>
                         <id>generate-depends-file</id>
                         <goals>
                             <goal>generate-depends-file</goal>
@@ -159,6 +197,14 @@
                     </execution>
                 </executions>
             </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <forkMode>pertest</forkMode>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 
@@ -188,4 +234,5 @@
             </build>
         </profile>
     </profiles>
+
 </project>