Deprecated plugins removed
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..756c47f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+*.i??
+.idea
+target
+.project
+.classpath
+.DS_Store
+dependency-reduced-pom.xml
diff --git a/checksum-maven-plugin/NOTICE b/checksum-maven-plugin/NOTICE
deleted file mode 100644
index 8fea3f4..0000000
--- a/checksum-maven-plugin/NOTICE
+++ /dev/null
@@ -1,5 +0,0 @@
-Apache ServiceMix Copyright 2006-2008 Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
diff --git a/checksum-maven-plugin/pom.xml b/checksum-maven-plugin/pom.xml
deleted file mode 100644
index 655c88d..0000000
--- a/checksum-maven-plugin/pom.xml
+++ /dev/null
@@ -1,154 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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">
-<!--
-
-    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.
--->
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.servicemix.tooling</groupId>
-    <artifactId>maven-plugins-pom</artifactId>
-    <version>3</version>
-    <relativePath>../maven-plugins-pom/pom.xml</relativePath>
-  </parent>
-  
-  <groupId>org.apache.servicemix.tooling</groupId>
-  <artifactId>checksum-maven-plugin</artifactId>
-  <version>1.2-SNAPSHOT</version>
-  
-  <packaging>maven-plugin</packaging>
-  <name>Apache ServiceMix :: Plugins :: Checksum Plugin</name>
-  
-  <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/servicemix/maven-plugins/checksum-maven-plugin/trunk</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/servicemix/maven-plugins/checksum-maven-plugin/trunk</developerConnection>
-    <url>http://svn.apache.org/viewcvs.cgi/servicemix/maven-plugins/checksum-maven-plugin/trunk</url>
-  </scm>
-  
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-plugin-api</artifactId>
-      <version>2.0.9</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-project</artifactId>
-      <version>2.0.9</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-archiver</artifactId>
-      <version>2.3</version>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-utils</artifactId>
-      <version>1.5.5</version>
-    </dependency>
-    <dependency>
-      <groupId>net.sf.opencsv</groupId>
-      <artifactId>opencsv</artifactId>
-      <version>1.8</version>
-    </dependency>     
-  </dependencies>
-  
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <source>1.4</source>
-          <target>1.4</target>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-  <profiles>
-      <profile>
-            <id>release</id>
-            <build>
-                <plugins>
-                    <!-- We want to deploy the artifact to a staging location for perusal -->
-                    <plugin>
-                        <inherited>true</inherited>
-                        <artifactId>maven-deploy-plugin</artifactId>
-                        <version>2.3</version>
-                        <configuration>
-                            <altDeploymentRepository>${deploy.altRepository}</altDeploymentRepository>
-                            <updateReleaseInfo>true</updateReleaseInfo>
-                        </configuration>
-                    </plugin>
-                    <!-- We want to sign the artifact, the POM, and all attached artifacts -->
-                    <plugin>
-                        <artifactId>maven-gpg-plugin</artifactId>
-                        <version>1.0-alpha-4</version>
-                        <configuration>
-                            <passphrase>${gpg.passphrase}</passphrase>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>sign</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>deploy</id>
-            <build>
-                <defaultGoal>deploy</defaultGoal>
-                 <plugins>
-                   <plugin>
-                        <artifactId>maven-javadoc-plugin</artifactId>
-                        <version>2.2</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>jar</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <source>1.5</source>
-                            <attach>true</attach>
-                        </configuration>
-                   </plugin>
-                   <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-source-plugin</artifactId>
-                        <version>2.0.2</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>jar</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <attach>true</attach>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-      </profiles>
-  
-</project>
diff --git a/checksum-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/checksum/ChecksumValidatorMojo.java b/checksum-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/checksum/ChecksumValidatorMojo.java
deleted file mode 100644
index a2589e2..0000000
--- a/checksum-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/checksum/ChecksumValidatorMojo.java
+++ /dev/null
@@ -1,434 +0,0 @@
-/**
- * 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.
- */
-package org.apache.servicemix.maven.plugin.checksum;
-
-import au.com.bytecode.opencsv.CSVReader;
-import au.com.bytecode.opencsv.CSVWriter;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.project.MavenProject;
-
-/**
- * Validates the checksums of the dependencies of the project
- * against the checksums.txt file.
- * 
- * This plugin can also be used to add all the checksums of the 
- * dependencies of the current build to the checksum.txt file.
- * 
- * @requiresDependencyResolution
- * @goal validate
- * @phase validate 
- * @author <a href="http://hiramchirino.com">Hiram Chirino</a> 
- */
-public class ChecksumValidatorMojo extends AbstractMojo {
-
-    static char hexTable[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
-
-    /**
-     * The maven project.
-     * 
-     * @parameter expression="${project}"
-     * @required
-     * @readonly
-     */
-    protected MavenProject project;
-
-    /**
-     * Remote repositories which will be searched for source attachments.
-     *
-     * @parameter expression="${project.remoteArtifactRepositories}"
-     * @required
-     * @readonly
-     */
-    protected List remoteArtifactRepositories;
-
-    /**
-     * Local maven repository.
-     *
-     * @parameter expression="${localRepository}"
-     * @required
-     * @readonly
-     */
-    protected ArtifactRepository localRepository;
-
-    /**
-     * Artifact factory, needed to download source jars for inclusion in classpath.
-     *
-     * @component role="org.apache.maven.artifact.factory.ArtifactFactory"
-     * @required
-     * @readonly
-     */
-    protected ArtifactFactory artifactFactory;
-    
-    /**
-     * Artifact resolver, needed to download source jars for inclusion in classpath.
-     *
-     * @component role="org.apache.maven.artifact.resolver.ArtifactResolver"
-     * @required
-     * @readonly
-     */
-    protected ArtifactResolver artifactResolver;
-    
-    
-    /**
-     * The file that holds dependency checksums.
-     * 
-     * @parameter default-value="${basedir}/checksums.txt"
-     */
-    protected File checksums;
-
-    /**
-     * The checksum algorithm used to in the checksums. 
-     * 
-     * @parameter default-value="SHA-1"
-     */
-    private String checksumAlgorithm;
-
-    /**
-     * Should we generate the checksum file instead of validating against it? 
-     * 
-     * @parameter default-value="false"
-     */
-    private boolean generate;
-
-    /**
-     * Should the dependency artifacts be included in the checksum validation? 
-     * 
-     * @parameter default-value="true"
-     */
-    private boolean includeDependencyArtifacts;
-
-    /**
-     * Should the plugin artifacts be included in the checksum validation? 
-     * 
-     * @parameter default-value="true"
-     */
-    private boolean includePluginArtifacts;
-
-    /**
-     * Should the report artifacts be included in the checksum validation? 
-     * 
-     * @parameter default-value="true"
-     */
-    private boolean includeReportArtifacts;
-
-    protected String key(Artifact pom) {
-        StringBuffer sb = new StringBuffer();
-        sb.append(pom.getGroupId());
-        sb.append("/");
-        sb.append(pom.getArtifactId());
-        sb.append("/");
-        sb.append(pom.getType());
-        sb.append("/");
-        sb.append(pom.getVersion());
-        return sb.toString();
-    }
-    
-    protected String keyAnyVersion(Artifact pom) {
-        StringBuffer sb = new StringBuffer();
-        sb.append(pom.getGroupId());
-        sb.append("/");
-        sb.append(pom.getArtifactId());
-        sb.append("/");
-        sb.append(pom.getType());
-        sb.append("/");
-        sb.append("*");
-        return sb.toString();
-    }
-    
-    protected Artifact getPomArtifact(Artifact artifact) {
-        return artifactFactory.createProjectArtifact(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion());
-    }
-
-    protected File resolve(Artifact artifact) throws MojoExecutionException {
-        if( !artifact.isResolved() ) {
-            try {
-                artifactResolver.resolve(artifact, remoteArtifactRepositories, localRepository);
-            } catch (Throwable e) {
-                throw new MojoExecutionException("Could not resolve the artifact for " + artifact+": "+e.getMessage(), e);
-            }
-        }
-        return artifact.getFile();
-    }
-
-    protected String checksum(File file) throws MojoExecutionException {
-        try {
-            MessageDigest md = MessageDigest.getInstance(checksumAlgorithm);
-            FileInputStream is=null;
-            try {
-                is = new FileInputStream(file);
-                byte buffer[] = new byte[1024*4];
-                int c;
-                while( (c=is.read(buffer)) >= 0 ) {
-                    md.update(buffer,0, c);
-                }
-                byte[] digest = md.digest();
-                
-                return toString(digest);
-                
-            } catch (IOException e) {
-                throw new MojoExecutionException("Could read file: "+checksums);
-            } finally {
-                try {
-                    is.close();
-                } catch (Throwable e) {
-                }
-            }
-
-        } catch (NoSuchAlgorithmException e) {
-            throw new MojoExecutionException("Invalid checksum algorithm: "+checksumAlgorithm, e);
-        }
-    }
-    
-    static String toString(byte[] digest) {
-        StringBuilder rc = new StringBuilder(digest.length*2);
-        for (int i = 0; i < digest.length; i++) {
-            rc.append( hexTable[ ((digest[i]>>4) & 0x0F) ] ) ;
-            rc.append( hexTable[ (digest[i] & 0x0F) ] ) ;
-        }
-        return rc.toString();
-    }
-
-    public void execute() throws MojoExecutionException {
-        if( generate ) {
-            generate();
-        } else {
-            validate();
-        }
-    }
-
-    private void validate() throws MojoExecutionException {
-        LinkedHashMap checksums = loadChecksums();
-        
-        boolean failed = false;
-        
-        for ( Iterator it = getArtifacts().iterator(); it.hasNext(); )
-        {
-            Artifact artifact = (Artifact) it.next();
-            Artifact pom = getPomArtifact( artifact );
-            failed |= validateArtifact(checksums, pom);
-            failed |= validateArtifact(checksums, artifact);
-        }
-        
-        if( failed ) {
-            throw new MojoExecutionException("Invalid checksum(s) found.. see previous error messages for more details.");
-        }
-    }
-
-    /**
-     * 
-     * @param checksums
-     * @param artifact
-     * @return - true if validation failed.
-     * @throws MojoExecutionException
-     */
-    private boolean validateArtifact(LinkedHashMap checksums, Artifact artifact) throws MojoExecutionException {
-        File file = resolve(artifact);        
-        String sum = checksum(file);
-        String key = key(artifact);
-        List list = (List)checksums.get(key);
-        if( list == null ) {
-            list = (List)checksums.get(keyAnyVersion(artifact));
-        }
-        if( list == null ) {
-            getLog().error("No checksum specified for "+key+" in "+this.checksums+" ("+sum+")" );
-            return true;
-        } else if ( !list.contains(sum) && !list.contains("*") ) {
-            getLog().error("Checksum mismatch for "+key+" in "+this.checksums+" expected one of "+list+" but was "+sum );
-            return true;
-        }
-        return false;
-    }
-
-    public void generate() throws MojoExecutionException {
-        
-        LinkedHashMap checksums = new LinkedHashMap();
-        
-        boolean modified=true;
-        try { 
-            checksums = loadChecksums();
-            modified=false;
-        } catch ( MojoExecutionException e) {
-        }
-        
-        
-        for ( Iterator it = getArtifacts().iterator(); it.hasNext(); )
-        {
-            Artifact artifact = (Artifact) it.next();
-            Artifact pom = getPomArtifact( artifact );
-
-            modified |= generateArtifact(checksums, pom);
-            modified |= generateArtifact(checksums, artifact);
-            
-        }
-        
-        if( modified ) {
-            storeChecksums(checksums);
-        }
-    }
-
-    private Set getArtifacts() {
-        HashSet rc = new HashSet();
-        if( includeDependencyArtifacts ) { 
-            rc.addAll(project.getDependencyArtifacts());
-        }
-        if( includePluginArtifacts ) { 
-            rc.addAll(project.getPluginArtifacts());
-        }
-        if( includeReportArtifacts ) { 
-            rc.addAll(project.getReportArtifacts());
-        }
-        return rc;
-    }
-
-    /**
-     * 
-     * @param checksums
-     * @param artifact
-     * @return true if this method modified the checksums
-     * @throws MojoExecutionException
-     */
-    private boolean generateArtifact(HashMap checksums, Artifact artifact) throws MojoExecutionException {
-        File file = resolve(artifact);
-        String sum = checksum(file);
-        List sums = (List)checksums.get(key(artifact));
-        if( sums == null ) {
-            sums = (List)checksums.get(keyAnyVersion(artifact));
-        }
-        if( sums == null ) {
-            sums = new ArrayList();
-            sums.add(sum);
-            checksums.put(key(artifact), sums);
-            return true;
-        } else {
-            if ( !sums.contains(sum) && !sums.contains("*") ) {
-                sums.add(sum);
-                return true;
-            }
-        }
-        return false;
-    }
-
-    
-    protected LinkedHashMap loadChecksums() throws MojoExecutionException {
-        LinkedHashMap rc = new LinkedHashMap();
-        
-        if( !checksums.canRead() ) {
-            throw new MojoExecutionException("Cannot read checksum file: "+checksums);
-        }
-        
-        InputStream is=null;
-        try {
-            is = new FileInputStream(checksums);
-            CSVReader reader = new CSVReader(new InputStreamReader(is, "UTF-8"), '=');
-            String [] line;
-            while ((line = reader.readNext()) != null) {
-                if( line.length > 0 ) {
-                    String key = line[0].trim();
-                    List values = new ArrayList(2);
-                    if( line.length > 1 ) {
-                        String[] t = line[1].split("\\|");
-                        for (int j = 0; j < t.length; j++) {
-                            values.add(t[j].toLowerCase().trim());
-                        }
-                    }
-                    rc.put(key, values);
-                }
-            }
-            reader.close();
-        } catch (IOException e) {
-            throw new MojoExecutionException("Could not load checksum file: "+checksums);
-        } finally {
-            try {
-                is.close();
-            } catch (Throwable e) {
-            }
-        }
-                
-        return rc;
-    }
-    
-    private void storeChecksums(LinkedHashMap checksums) throws MojoExecutionException {
-        // Store it.
-        FileOutputStream os=null;
-        try {
-            boolean exists = this.checksums.exists();
-            os = new FileOutputStream(this.checksums);
-            CSVWriter writer = new CSVWriter(new OutputStreamWriter(os, "UTF-8"), '=', CSVWriter.NO_QUOTE_CHARACTER);
-
-            if( !exists ) {
-                writer.writeNext(new String[]{"# This file uses a 'property file like' syntax"});
-                writer.writeNext(new String[]{"# Entries are in the following format: 'artifact","checksum-1|...|checksum-n'"});
-                writer.writeNext(new String[]{"# Where artifact follows the following format: 'group/id/type/version'"});
-                writer.writeNext(new String[]{"# You can use '*' for the version or checksum"});
-                writer.writeNext(new String[]{""});
-            }
-            
-            for (Iterator iterator = checksums.entrySet().iterator(); iterator.hasNext();) {
-                Map.Entry i = (Map.Entry)iterator.next();            
-                StringBuffer b = new StringBuffer();
-                for (Iterator iterator2 = ((List)i.getValue()).iterator(); iterator2.hasNext();) {
-                    String s = (String)iterator2.next();            
-                    if( b.length()!=0 ) {
-                        b.append("|");
-                    }
-                    b.append(s);
-                }
-                String key = (String)i.getKey();
-                String value = b.toString();
-                if( value.length()!=0 ) {
-                    writer.writeNext(new String[]{key,value});
-                } else { 
-                    writer.writeNext(new String[]{key});
-                }
-            }
-            writer.close();
-        } catch (Throwable e) {
-            throw new MojoExecutionException("Could not write: "+this.checksums);
-        } finally {
-            try {
-                os.close();
-            } catch (Throwable ignore ) {
-            }
-        }
-    }
-
-}
diff --git a/checksum-maven-plugin/src/site/apt/index.apt b/checksum-maven-plugin/src/site/apt/index.apt
deleted file mode 100644
index ee3462b..0000000
--- a/checksum-maven-plugin/src/site/apt/index.apt
+++ /dev/null
@@ -1,61 +0,0 @@
- ------
- Introduction
- ------
- Hiram Chirino
- ------
-
-~~ 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.
-
-Maven 2 Checksum Plugin
-
- This plugin provides the capability validate and generate checksums
- of the project dependencies against a checksum file that is included
- as part of the project.
- 
- By including the dependency checksums as part of your project source, 
- you can detect any malicious tampering of artifacts that are downloaded 
- from third party repositories.
-
-* Goals Overview
-
-  * {{{validate-checksums-mojo.html}checksum-maven-plugin:validate}} is bound to the <<<validate>>> phase and
-  is used to validate or generate the Project dependencies against the checksum.txt file.
-
-* Usage
-
-  Instructions on how to use the Checksum Plugin can be found in the
-  {{{usage.html}usage}} page.
-  
-* Checksum File Format
-
-  The checksum.txt file is a property file consisting of property keys in 
-  the '<<<$groupId/$artifactId-$version.$type>>>' format and key values being 
-  using '<<<|>>>' separated list of checksum values.  A wild card, '<<<*>>>', may be 
-  used for the version or checksum.  Wild cards are needed if the project is 
-  building against a SNAPSHOT dependency who's checksum changes too often.  
-  The wild card is also needed for dependencies who's version number changes 
-  as part of the release process.
-  
-  Example checksum.txt file:
-    
-+-----
-log4j/log4j-1.2.15.pom=1483490805e8f86c21240958629905e733d079eb
-log4j/log4j-1.2.15.jar=f0a0d2e29ed910808c33135a3a5a51bba6358f7b|g0b0d3e22ed920806c3f1ffa3a5a5cb4a2398ca2
-org.apache.activemq/activemq-core-*.pom=*
-org.apache.activemq/activemq-core-*.jar=*
-+-----
diff --git a/checksum-maven-plugin/src/site/apt/usage.apt b/checksum-maven-plugin/src/site/apt/usage.apt
deleted file mode 100644
index 7f39ac9..0000000
--- a/checksum-maven-plugin/src/site/apt/usage.apt
+++ /dev/null
@@ -1,98 +0,0 @@
- ------
- Usage
- ------
- Hiram Chirino
- ------
-
-~~ 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.
-
-Usage
-
-* Typical Checksum Plugin Configuration
-
-+-----
-<project>
-  ...
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.servicemix.tooling</groupId>
-        <artifactId>checksum-maven-plugin</artifactId>
-        <version>1.0-SNAPSHOT</version>
- 	    <executions>
-          <execution>
-            <goals>
-              <goal>validate</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-  ...
-  
-  <profiles>
-  ...
-    <profile>
-      <id>generate-checksums</id>
-      <build>
-        <defaultGoal>validate</defaultGoal>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.servicemix.tooling</groupId>
-            <artifactId>checksum-maven-plugin</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <executions>
-              <execution>
-                <goals>
-                  <goal>validate</goal>
-                </goals>
-                <configuration>
-                  <generate>true</generate>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  ...
-  </profiles>
-  
-</project>
-+-----
-
-
-* Initializing/Adding Checksums to the checksum file
-
-  If you use the configuration above, you will have a generate-checksums 
-  profile which will generate/update the checksums.txt file.  You will 
-  typically do this when you first start using this plugin or you change 
-  dependencies in the project.
-
-+-----
-mvn -P generate-checksums
-+-----
-
-* Validating Checksums
-
-  Checksums get validated once the build hits the <<<validate>>> build phase.
-
-+-----
-mvn install
-+-----
diff --git a/checksum-maven-plugin/src/site/site.xml b/checksum-maven-plugin/src/site/site.xml
deleted file mode 100644
index b476583..0000000
--- a/checksum-maven-plugin/src/site/site.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<!--
-  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 name="Maven Shade Plugin">
-  <body>
-    <menu name="Overview">
-      <item name="Introduction" href="index.html"/>
-      <item name="Goals" href="plugin-info.html"/>
-      <item name="Usage" href="usage.html"/>
-    </menu>
-  </body>
-</project>
diff --git a/docs-maven-plugin/LICENSE b/docs-maven-plugin/LICENSE
deleted file mode 100644
index 6b0b127..0000000
--- a/docs-maven-plugin/LICENSE
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/docs-maven-plugin/NOTICE b/docs-maven-plugin/NOTICE
deleted file mode 100644
index b6212c4..0000000
--- a/docs-maven-plugin/NOTICE
+++ /dev/null
@@ -1,9 +0,0 @@
-   =========================================================================
-   ==  NOTICE file for use with the Apache License, Version 2.0,          ==
-   ==  in this case for the Apache ServiceMix distribution.               ==
-   =========================================================================
-
-   This product contains software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-
diff --git a/docs-maven-plugin/pom.xml b/docs-maven-plugin/pom.xml
deleted file mode 100644
index 3b4ed47..0000000
--- a/docs-maven-plugin/pom.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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">
-  <!--
-    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.
-  -->
- 
-  
-  <parent>
-    <groupId>org.apache.servicemix.tooling</groupId>
-    <artifactId>maven-plugins-pom</artifactId>
-    <version>3</version>
-    <relativePath>../maven-plugins-pom/pom.xml</relativePath>    
-  </parent>
-  
-  <modelVersion>4.0.0</modelVersion>
-  
-  <artifactId>docs-maven-plugin</artifactId>
-  <version>0.1-SNAPSHOT</version>
-  <packaging>maven-plugin</packaging>
-  
-  <name>Apache ServiceMix :: Plugins :: Maven2 Documentation Helper</name>
-  
-  <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/servicemix/maven-plugins/docs-maven-plugin/trunnk</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/servicemix/maven-plugins/docs-maven-plugin/trunk</developerConnection>
-    <url>http://svn.apache.org/viewcvs.cgi/servicemix/maven-plugins/docs-maven-plugin/trunk</url>
-  </scm>
-  
-  <properties>
-    <commons-io.version>1.4</commons-io.version>
-    <junit.version>4.7</junit.version>
-    <maven-plugin.version>2.0.9</maven-plugin.version>
-  </properties>
-  
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-plugin-api</artifactId>
-      <version>${maven-plugin.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-project</artifactId>
-      <version>${maven-plugin.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-io</groupId>
-      <artifactId>commons-io</artifactId>
-      <version>${commons-io.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>${junit.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.mylyn.wikitext</groupId>
-      <artifactId>confluence.core</artifactId>
-      <version>1.3.0.v20100608-0100-e3x</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.mylyn.wikitext</groupId>
-      <artifactId>core</artifactId>
-      <version>1.3.0.v20100608-0100-e3x</version>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/docs-maven-plugin/src/main/java/org/apache/servicemix/docs/ConfluenceToDocbookMojo.java b/docs-maven-plugin/src/main/java/org/apache/servicemix/docs/ConfluenceToDocbookMojo.java
deleted file mode 100644
index ec9634e..0000000
--- a/docs-maven-plugin/src/main/java/org/apache/servicemix/docs/ConfluenceToDocbookMojo.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright 2001-2005 The Apache Software Foundation.
- *
- * Licensed 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.
- */
-package org.apache.servicemix.docs;
-
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-
-import org.apache.commons.io.FilenameUtils;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.servicemix.docs.confluence.ConfluenceConverter;
-
-/**
- * Convert pages in Confluence wiki markup to Docbook syntax
- *
- * @goal confluence-to-docbook
- * @phase generate-resources
- */
-public class ConfluenceToDocbookMojo extends AbstractMojo {
-
-    /**
-     * Location of the snippet cache
-     * @parameter default-value="${basedir}/src/confluence"
-     */
-    protected File input;
-
-    /**
-     * Output directory for the Docbook sources
-     * @parameter default-value="${project.build.directory}/docbkx/sources"
-     */
-    protected File output;
-
-    /**
-     * Filter to determine which files to convert 
-     */
-    private final FileFilter filter = new DefaultFileFilterImpl();
-
-    private final ConfluenceConverter converter = new ConfluenceConverter();
-
-    public void execute() throws MojoExecutionException {
-        doConvert(input);
-    }
-
-    private void doConvert(File directory) throws MojoExecutionException {
-        if (directory.exists() && directory.isDirectory()) {
-            for (File file : directory.listFiles(filter)) {
-                if (file.isDirectory()) {
-                    doConvert(file);
-                } else {
-                    getLog().info("Creating DocBook from " + file.getAbsolutePath());
-                    Reader reader = null;
-                    Writer writer = null;
-                    try {
-                        String relativePath = FilenameUtils.getPath(file.getAbsolutePath().replace(input.getAbsolutePath(), ""));
-
-                        File result = new File(output + File.separator + relativePath, file.getName() + ".xml");
-                        if (!result.getParentFile().exists()) {
-                            result.getParentFile().mkdirs();
-                        }
-
-                        reader = new FileReader(file);
-                        writer = new FileWriter(result);
-
-                        converter.convert(reader, writer);
-                    } catch (IOException e) {
-                        throw new MojoExecutionException("Unable to convert " + file, e);
-                    } finally {
-                        if (reader != null) {
-                            try {
-                                reader.close();
-                            } catch (IOException e) {
-                                // ignore this
-                            }
-                        }
-                        if (writer != null) {
-                            try {
-                                writer.close();
-                            } catch (IOException e) {
-                                // ignore this
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-    /*
-     * Default FileFilter implementation to filter out hidden files (e.g. .svn)
-     */
-    private class DefaultFileFilterImpl implements FileFilter {
-        public boolean accept(File file) {
-            return !file.getName().startsWith(".");  
-        }
-    }
-}
\ No newline at end of file
diff --git a/docs-maven-plugin/src/main/java/org/apache/servicemix/docs/SnippetMojo.java b/docs-maven-plugin/src/main/java/org/apache/servicemix/docs/SnippetMojo.java
deleted file mode 100644
index f52f932..0000000
--- a/docs-maven-plugin/src/main/java/org/apache/servicemix/docs/SnippetMojo.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright 2001-2005 The Apache Software Foundation.
- *
- * Licensed 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.
- */
-package org.apache.servicemix.docs;
-
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.servicemix.docs.snippet.SnippetHandler;
-
-import java.io.File;
-import java.net.URL;
-import java.net.URLStreamHandler;
-import java.net.URLStreamHandlerFactory;
-
-/**
- * Register a URL Handler to allow using snippet:// for pulling in code snippets from
- * the SVN repository
- *
- * @goal snippet
- * @phase initialize
- * @inheritByDefault false
- */
-public class SnippetMojo extends AbstractMojo {
-
-    /**
-     * Location of the snippet cache
-     * @parameter default-value="${project.build.directory}/snippets"
-     */
-    protected File snippetCache;
-
-    /**
-     * @parameter @required
-     */
-    protected URL snippetBase;
-
-    private static URLStreamHandlerFactory factory = null;
-                                      
-    public void execute() throws MojoExecutionException {
-        if (factory == null) {
-            getLog().info("Registering additional URL handlers (snippet://)");
-
-            factory = new URLStreamHandlerFactory() {
-
-                public URLStreamHandler createURLStreamHandler(String protocol) {
-                    if (protocol.equals("snippet")) {
-                        return new SnippetHandler(SnippetMojo.this, snippetCache, snippetBase);
-                    }
-                    return null;
-                }
-            };
-
-            URL.setURLStreamHandlerFactory(factory);
-        } else {
-            getLog().warn("Unable to register URL handlers more than once");
-        }
-    }
-}
diff --git a/docs-maven-plugin/src/main/java/org/apache/servicemix/docs/confluence/ConfluenceConverter.java b/docs-maven-plugin/src/main/java/org/apache/servicemix/docs/confluence/ConfluenceConverter.java
deleted file mode 100644
index 3b9342c..0000000
--- a/docs-maven-plugin/src/main/java/org/apache/servicemix/docs/confluence/ConfluenceConverter.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright 2001-2005 The Apache Software Foundation.
- *
- * Licensed 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.
- */
-package org.apache.servicemix.docs.confluence;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.io.Writer;
-
-import org.eclipse.mylyn.wikitext.core.parser.MarkupParser;
-
-/**
- * Represents a document in Confluence wiki markup
- */
-public class ConfluenceConverter {
-
-    final ConfluenceLanguage markupLanguage = new ConfluenceLanguage();
-
-    public ConfluenceConverter() {
-    }
-
-    public void convert(Reader reader, Writer writer) throws IOException {
-        DocBookDocumentBuilder builder = new DocBookDocumentBuilder(writer);
-        MarkupParser parser = new MarkupParser();
-        parser.setMarkupLanguage(markupLanguage);
-        parser.setBuilder(builder);
-        parser.parse(reader);
-        writer.flush();
-    }
-
-}
diff --git a/docs-maven-plugin/src/main/java/org/apache/servicemix/docs/confluence/ConfluenceLanguage.java b/docs-maven-plugin/src/main/java/org/apache/servicemix/docs/confluence/ConfluenceLanguage.java
deleted file mode 100644
index 7a2dfc2..0000000
--- a/docs-maven-plugin/src/main/java/org/apache/servicemix/docs/confluence/ConfluenceLanguage.java
+++ /dev/null
@@ -1,451 +0,0 @@
-/*
- * Copyright 2001-2005 The Apache Software Foundation.
- *
- * Licensed 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.
- */
-package org.apache.servicemix.docs.confluence;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.mylyn.internal.wikitext.confluence.core.block.AbstractConfluenceDelimitedBlock;
-import org.eclipse.mylyn.internal.wikitext.confluence.core.block.ColorBlock;
-import org.eclipse.mylyn.internal.wikitext.confluence.core.block.ExtendedPreformattedBlock;
-import org.eclipse.mylyn.internal.wikitext.confluence.core.block.ExtendedQuoteBlock;
-import org.eclipse.mylyn.internal.wikitext.confluence.core.block.HeadingBlock;
-import org.eclipse.mylyn.internal.wikitext.confluence.core.block.ListBlock;
-import org.eclipse.mylyn.internal.wikitext.confluence.core.block.QuoteBlock;
-import org.eclipse.mylyn.internal.wikitext.confluence.core.block.TableOfContentsBlock;
-import org.eclipse.mylyn.internal.wikitext.confluence.core.block.TextBoxBlock;
-import org.eclipse.mylyn.internal.wikitext.confluence.core.phrase.ConfluenceWrappedPhraseModifier;
-import org.eclipse.mylyn.internal.wikitext.confluence.core.phrase.EmphasisPhraseModifier;
-import org.eclipse.mylyn.internal.wikitext.confluence.core.phrase.ImagePhraseModifier;
-import org.eclipse.mylyn.internal.wikitext.confluence.core.phrase.SimplePhraseModifier;
-import org.eclipse.mylyn.internal.wikitext.confluence.core.phrase.SimpleWrappedPhraseModifier;
-import org.eclipse.mylyn.internal.wikitext.confluence.core.token.EscapedCharacterReplacementToken;
-import org.eclipse.mylyn.wikitext.core.parser.Attributes;
-import org.eclipse.mylyn.wikitext.core.parser.DocumentBuilder;
-import org.eclipse.mylyn.wikitext.core.parser.DocumentBuilder.BlockType;
-import org.eclipse.mylyn.wikitext.core.parser.DocumentBuilder.SpanType;
-import org.eclipse.mylyn.wikitext.core.parser.LinkAttributes;
-import org.eclipse.mylyn.wikitext.core.parser.markup.Block;
-import org.eclipse.mylyn.wikitext.core.parser.markup.ContentState;
-import org.eclipse.mylyn.wikitext.core.parser.markup.PatternBasedElement;
-import org.eclipse.mylyn.wikitext.core.parser.markup.PatternBasedElementProcessor;
-import org.eclipse.mylyn.wikitext.core.parser.markup.token.EntityReferenceReplacementToken;
-import org.eclipse.mylyn.wikitext.core.parser.markup.token.ImpliedHyperlinkReplacementToken;
-import org.eclipse.mylyn.wikitext.core.parser.markup.token.PatternEntityReferenceReplacementToken;
-import org.eclipse.mylyn.wikitext.core.parser.markup.token.PatternLineBreakReplacementToken;
-import org.eclipse.mylyn.wikitext.core.parser.markup.token.PatternLiteralReplacementToken;
-
-
-public class ConfluenceLanguage extends org.eclipse.mylyn.wikitext.confluence.core.ConfluenceLanguage {
-
-    private final List<Block> nestedBlocks = new ArrayList<Block>();
-
-    private final ContentState contentState = new ContentState();
-
-    @Override
-    protected void clearLanguageSyntax() {
-        super.clearLanguageSyntax();
-        nestedBlocks.clear();
-    }
-
-    public List<Block> getNestedBlocks() {
-        return nestedBlocks;
-    }
-
-    @Override
-    protected void addStandardBlocks(List<Block> blocks, List<Block> paragraphBreakingBlocks) {
-        // IMPORTANT NOTE: Most items below have order dependencies.  DO NOT REORDER ITEMS BELOW!!
-
-        HeadingBlock headingBlock = new HeadingBlock();
-        blocks.add(headingBlock);
-        paragraphBreakingBlocks.add(headingBlock);
-        nestedBlocks.add(headingBlock);
-        ConfluenceGlossaryBlock glossaryBlock = new ConfluenceGlossaryBlock();
-        blocks.add(glossaryBlock);
-        paragraphBreakingBlocks.add(glossaryBlock);
-        nestedBlocks.add(glossaryBlock);
-        ListBlock listBlock = new ListBlock();
-        blocks.add(listBlock);
-        paragraphBreakingBlocks.add(listBlock);
-        nestedBlocks.add(listBlock);
-        blocks.add(new QuoteBlock());
-        TableBlock tableBlock = new TableBlock();
-        blocks.add(tableBlock);
-        paragraphBreakingBlocks.add(tableBlock);
-        nestedBlocks.add(tableBlock);
-        ExtendedQuoteBlock quoteBlock = new ExtendedQuoteBlock();
-        blocks.add(quoteBlock);
-        paragraphBreakingBlocks.add(quoteBlock);
-        ExtendedPreformattedBlock noformatBlock = new ExtendedPreformattedBlock();
-        blocks.add(noformatBlock);
-        paragraphBreakingBlocks.add(noformatBlock);
-
-        blocks.add(new TextBoxBlock(BlockType.PANEL, "panel")); //$NON-NLS-1$
-        blocks.add(new TextBoxBlock(BlockType.NOTE, "note")); //$NON-NLS-1$
-        blocks.add(new TextBoxBlock(BlockType.INFORMATION, "info")); //$NON-NLS-1$
-        blocks.add(new TextBoxBlock(BlockType.WARNING, "warning")); //$NON-NLS-1$
-        blocks.add(new TextBoxBlock(BlockType.TIP, "tip")); //$NON-NLS-1$
-        CodeBlock codeBlock = new CodeBlock();
-        blocks.add(codeBlock);
-        paragraphBreakingBlocks.add(codeBlock);
-        blocks.add(new TableOfContentsBlock());
-        ColorBlock colorBlock = new ColorBlock();
-        blocks.add(colorBlock);
-        paragraphBreakingBlocks.add(colorBlock);
-    }
-
-    @Override
-    protected void addStandardPhraseModifiers(PatternBasedSyntax phraseModifierSyntax) {
-        phraseModifierSyntax.beginGroup("(?:(?<=[\\s\\.,\\\"'?!;:\\)\\(\\[\\]])|^)(?:", 0); //$NON-NLS-1$
-        phraseModifierSyntax.add(new HyperlinkPhraseModifier());
-        phraseModifierSyntax.add(new SimplePhraseModifier("*", SpanType.STRONG, true)); //$NON-NLS-1$
-        phraseModifierSyntax.add(new EmphasisPhraseModifier());
-        phraseModifierSyntax.add(new SimplePhraseModifier("??", SpanType.CITATION, true)); //$NON-NLS-1$
-        phraseModifierSyntax.add(new SimplePhraseModifier("-", SpanType.DELETED, true)); //$NON-NLS-1$
-        phraseModifierSyntax.add(new SimplePhraseModifier("+", SpanType.UNDERLINED, true)); //$NON-NLS-1$
-        phraseModifierSyntax.add(new SimplePhraseModifier("^", SpanType.SUPERSCRIPT, false)); //$NON-NLS-1$
-        phraseModifierSyntax.add(new SimplePhraseModifier("~", SpanType.SUBSCRIPT, false)); //$NON-NLS-1$
-        phraseModifierSyntax.add(new SimpleWrappedPhraseModifier("{{", "}}", DocumentBuilder.SpanType.MONOSPACE, false)); //$NON-NLS-1$ //$NON-NLS-2$
-        phraseModifierSyntax.add(new ConfluenceWrappedPhraseModifier("{quote}", DocumentBuilder.SpanType.QUOTE, true)); //$NON-NLS-1$
-        phraseModifierSyntax.add(new ImagePhraseModifier());
-        phraseModifierSyntax.endGroup(")(?=\\W|$)", 0); //$NON-NLS-1$
-    }
-
-    @Override
-    protected void addStandardTokens(PatternBasedSyntax tokenSyntax) {
-        tokenSyntax.add(new PatternLineBreakReplacementToken("(\\\\\\\\)")); // line break //$NON-NLS-1$
-        tokenSyntax.add(new EscapedCharacterReplacementToken()); // ORDER DEPENDENCY must come after line break
-        tokenSyntax.add(new EntityReferenceReplacementToken("(tm)", "#8482")); //$NON-NLS-1$ //$NON-NLS-2$
-        tokenSyntax.add(new EntityReferenceReplacementToken("(TM)", "#8482")); //$NON-NLS-1$ //$NON-NLS-2$
-        tokenSyntax.add(new EntityReferenceReplacementToken("(c)", "#169")); //$NON-NLS-1$ //$NON-NLS-2$
-        tokenSyntax.add(new EntityReferenceReplacementToken("(C)", "#169")); //$NON-NLS-1$ //$NON-NLS-2$
-        tokenSyntax.add(new EntityReferenceReplacementToken("(r)", "#174")); //$NON-NLS-1$ //$NON-NLS-2$
-        tokenSyntax.add(new EntityReferenceReplacementToken("(R)", "#174")); //$NON-NLS-1$ //$NON-NLS-2$
-        tokenSyntax.add(new PatternEntityReferenceReplacementToken("(?:(?<=\\w\\s)(---)(?=\\s\\w))", "#8212")); // emdash //$NON-NLS-1$ //$NON-NLS-2$
-        tokenSyntax.add(new PatternEntityReferenceReplacementToken("(?:(?<=\\w\\s)(--)(?=\\s\\w))", "#8211")); // endash //$NON-NLS-1$ //$NON-NLS-2$
-        tokenSyntax.add(new PatternLiteralReplacementToken("(----)", "<hr/>")); // horizontal rule //$NON-NLS-1$ //$NON-NLS-2$
-        tokenSyntax.add(new ImpliedHyperlinkReplacementToken());
-        tokenSyntax.add(new AnchorReplacementToken());
-    }
-
-    @Override
-    protected ContentState createState() {
-        return contentState;
-    }
-
-    public static class CodeBlock extends AbstractConfluenceDelimitedBlock {
-
-        private String title;
-
-        private String language;
-
-        public CodeBlock() {
-            super("code"); //$NON-NLS-1$
-        }
-
-        @Override
-        protected void beginBlock() {
-            if (title != null) {
-                Attributes attributes = new Attributes();
-                attributes.setTitle(title);
-                builder.beginBlock(DocumentBuilder.BlockType.PANEL, attributes);
-            }
-            Attributes attributes = new Attributes();
-            Attributes preAttributes = new Attributes();
-            if (language != null) {
-                attributes.setLanguage(language); //$NON-NLS-1$
-            }
-//		builder.beginBlock(DocumentBuilder.BlockType.PREFORMATTED, preAttributes);
-            builder.beginBlock(DocumentBuilder.BlockType.CODE, attributes);
-            builder.charactersUnescaped("<![CDATA[");
-        }
-
-        @Override
-        protected void handleBlockContent(String content) {
-            builder.charactersUnescaped(content);
-            builder.charactersUnescaped("\n"); //$NON-NLS-1$
-        }
-
-        @Override
-        protected void endBlock() {
-            builder.charactersUnescaped("]]>");
-            if (title != null) {
-                builder.endBlock(); // panel
-            }
-            builder.endBlock(); // code
-//		builder.endBlock(); // pre
-        }
-
-        @Override
-        protected void resetState() {
-            super.resetState();
-            title = null;
-        }
-
-        @Override
-        protected void setOption(String key, String value) {
-            if (key.equals("title")) { //$NON-NLS-1$
-                title = value;
-            } else if (key.equals("lang")) {
-                language = value;
-            }
-        }
-
-        @Override
-        protected void setOption(String option) {
-            language = option.toLowerCase();
-        }
-    }
-
-    public static class ConfluenceGlossaryBlock extends Block {
-
-        static final Pattern startPattern = Pattern.compile("\\s*-\\s*+(.*?)\\s*+::\\s*+(.*?)\\s*+"); //$NON-NLS-1$
-
-        private Matcher matcher;
-        private int blockLineCount = 0;
-
-        @Override
-        public int processLineContent(String line, int offset) {
-            if (blockLineCount == 0) {
-                builder.beginBlock(BlockType.DEFINITION_LIST, new Attributes());
-            } else {
-                matcher = startPattern.matcher(line);
-                if (!matcher.matches()) {
-                    setClosed(true);
-                    return 0;
-                }
-            }
-            ++blockLineCount;
-            String key = matcher.group(1);
-            String val = matcher.group(2);
-            builder.beginBlock(BlockType.DEFINITION_TERM, new Attributes());
-            markupLanguage.emitMarkupLine(getParser(), state, key, 0);
-            builder.endBlock();
-            builder.beginBlock(BlockType.DEFINITION_ITEM, new Attributes());
-            markupLanguage.emitMarkupLine(getParser(), state, val, 0);
-            builder.endBlock();
-            return -1;
-        }
-
-        @Override
-        public boolean canStart(String line, int lineOffset) {
-            if (lineOffset == 0 && !markupLanguage.isFilterGenerativeContents()) {
-                matcher = startPattern.matcher(line);
-                return matcher.matches();
-            } else {
-                matcher = null;
-                return false;
-            }
-        }
-
-        @Override
-        public void setClosed(boolean closed) {
-            if (closed && !isClosed()) {
-                builder.endBlock();
-            }
-            super.setClosed(closed);
-        }
-    }
-
-
-    public static class TableBlock extends Block {
-
-        static final Pattern startPattern = Pattern.compile("(\\|(.*)?(\\|\\s*$))"); //$NON-NLS-1$
-
-        static final Pattern TABLE_ROW_PATTERN = Pattern.compile("\\|(\\|)?" + "((?:(?:[^\\|\\[]*)(?:\\[[^\\]]*\\])?)*)" //$NON-NLS-1$ //$NON-NLS-2$
-                + "(\\|\\|?\\s*$)?"); //$NON-NLS-1$
-
-        private int blockLineCount = 0;
-
-        private Matcher matcher;
-
-        public TableBlock() {
-        }
-
-        @Override
-        public int processLineContent(String line, int offset) {
-            if (blockLineCount == 0) {
-                Attributes attributes = new Attributes();
-                builder.beginBlock(BlockType.TABLE, attributes);
-            } else if (markupLanguage.isEmptyLine(line)) {
-                setClosed(true);
-                return 0;
-            }
-            ++blockLineCount;
-
-            if (offset == line.length()) {
-                return -1;
-            }
-
-            String textileLine = offset == 0 ? line : line.substring(offset);
-            Matcher rowMatcher = TABLE_ROW_PATTERN.matcher(textileLine);
-            if (!rowMatcher.find()) {
-                setClosed(true);
-                return 0;
-            }
-
-            builder.beginBlock(BlockType.TABLE_ROW, new Attributes());
-
-            do {
-                int start = rowMatcher.start();
-                if (start == textileLine.length() - 1) {
-                    break;
-                }
-
-                String headerIndicator = rowMatcher.group(1);
-                String text = rowMatcher.group(2).trim(); // MODIFIED: added trim()
-                int lineOffset = offset + rowMatcher.start(2);
-
-                boolean header = headerIndicator != null && "|".equals(headerIndicator); //$NON-NLS-1$
-
-                Attributes attributes = new Attributes();
-                builder.beginBlock(header ? BlockType.TABLE_CELL_HEADER : BlockType.TABLE_CELL_NORMAL, attributes);
-
-                markupLanguage.emitMarkupLine(getParser(), state, lineOffset, text, 0);
-
-                builder.endBlock(); // table cell
-            } while (rowMatcher.find());
-
-            builder.endBlock(); // table row
-
-            return -1;
-        }
-
-        @Override
-        public boolean canStart(String line, int lineOffset) {
-            blockLineCount = 0;
-            if (lineOffset == 0) {
-                matcher = startPattern.matcher(line);
-                return matcher.matches();
-            } else {
-                matcher = null;
-                return false;
-            }
-        }
-
-        @Override
-        public void setClosed(boolean closed) {
-            if (closed && !isClosed()) {
-                builder.endBlock();
-            }
-            super.setClosed(closed);
-        }
-
-    }
-
-    public static class HyperlinkPhraseModifier extends PatternBasedElement {
-
-        @Override
-        protected String getPattern(int groupOffset) {
-            return "\\[(?:\\s*([^\\]\\|]+)\\|)?([^\\]]+)\\]"; //$NON-NLS-1$
-        }
-
-        @Override
-        protected int getPatternGroupCount() {
-            return 2;
-        }
-
-        @Override
-        protected PatternBasedElementProcessor newProcessor() {
-            return new HyperlinkPhraseModifierProcessor();
-        }
-
-        private static class HyperlinkPhraseModifierProcessor extends PatternBasedElementProcessor {
-            @Override
-            public void emit() {
-                String text = group(1);
-                String linkComposite = group(2);
-                String[] parts = linkComposite.split("\\s*\\|\\s*"); //$NON-NLS-1$
-                if (parts.length == 0) {
-                    // can happen if linkComposite is ' |', see bug 290434
-                } else {
-                    if (text != null) {
-                        text = text.trim();
-                    }
-                    String href = parts[0];
-                    if (href != null) {
-                        href = href.trim();
-                    }
-                    if (href.charAt(0) == '#') {
-
-                    }
-                    String tip = parts.length > 1 ? parts[1] : null;
-                    if (tip != null) {
-                        tip = tip.trim();
-                    }
-                    if (text == null || text.length() == 0) {
-                        text = href;
-                        if (text.length() > 0 && text.charAt(0) == '#') {
-                            text = text.substring(1);
-                        }
-                        if (href.charAt(0) == '#') {
-                            href = "#" + state.getIdGenerator().getGenerationStrategy().generateId(href.substring(1));
-                        }
-                        Attributes attributes = new LinkAttributes();
-                        attributes.setTitle(tip);
-                        getBuilder().link(attributes, href, text);
-                    } else {
-                        if (href.charAt(0) == '#') {
-                            href = "#" + state.getIdGenerator().getGenerationStrategy().generateId(href.substring(1));
-                        }
-                        LinkAttributes attributes = new LinkAttributes();
-                        attributes.setTitle(tip);
-                        attributes.setHref(href);
-                        getBuilder().beginSpan(SpanType.LINK, attributes);
-
-                        getMarkupLanguage().emitMarkupLine(parser, state, start(1), text, 0);
-
-                        getBuilder().endSpan();
-                    }
-                }
-            }
-        }
-    }
-
-    public static class AnchorReplacementToken extends PatternBasedElement {
-
-        @Override
-        protected String getPattern(int groupOffset) {
-            return "\\{anchor:([^\\}]+)\\}"; //$NON-NLS-1$
-        }
-
-        @Override
-        protected int getPatternGroupCount() {
-            return 1;
-        }
-
-        @Override
-        protected PatternBasedElementProcessor newProcessor() {
-            return new AnchorReplacementTokenProcessor();
-        }
-
-        private static class AnchorReplacementTokenProcessor extends PatternBasedElementProcessor {
-            @Override
-            public void emit() {
-                String name = group(1);
-                name = state.getIdGenerator().getGenerationStrategy().generateId(name);
-                Attributes attributes = new Attributes();
-                attributes.setId(name);
-                getBuilder().beginSpan(SpanType.SPAN, attributes);
-                getBuilder().endSpan();
-            }
-
-        }
-
-    }
- }
diff --git a/docs-maven-plugin/src/main/java/org/apache/servicemix/docs/confluence/DocBookDocumentBuilder.java b/docs-maven-plugin/src/main/java/org/apache/servicemix/docs/confluence/DocBookDocumentBuilder.java
deleted file mode 100644
index 67b3f00..0000000
--- a/docs-maven-plugin/src/main/java/org/apache/servicemix/docs/confluence/DocBookDocumentBuilder.java
+++ /dev/null
@@ -1,645 +0,0 @@
-/*
- * Copyright 2001-2005 The Apache Software Foundation.
- *
- * Licensed 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.
- */
-package org.apache.servicemix.docs.confluence;
-
-import java.io.Writer;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.Stack;
-import java.util.TreeMap;
-import java.util.logging.Logger;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.mylyn.internal.wikitext.core.util.css.CssParser;
-import org.eclipse.mylyn.internal.wikitext.core.util.css.CssRule;
-import org.eclipse.mylyn.wikitext.core.parser.Attributes;
-import org.eclipse.mylyn.wikitext.core.parser.DocumentBuilder;
-import org.eclipse.mylyn.wikitext.core.parser.LinkAttributes;
-import org.eclipse.mylyn.wikitext.core.parser.builder.AbstractXmlDocumentBuilder;
-import org.eclipse.mylyn.wikitext.core.util.FormattingXMLStreamWriter;
-import org.eclipse.mylyn.wikitext.core.util.XmlStreamWriter;
-
-/**
- * A builder that can emit <a href="http://www.docbook.org/">Docbook</a>
- *
- */
-public class DocBookDocumentBuilder extends AbstractXmlDocumentBuilder {
-
-	private static final Pattern PERCENTAGE = Pattern.compile("(\\d+)%"); //$NON-NLS-1$
-
-	private static final Pattern CSS_CLASS_INLINE = Pattern.compile("(^|\\s+)inline(\\s+|$)"); //$NON-NLS-1$
-
-	private static Set<Integer> entityReferenceToUnicode = new HashSet<Integer>();
-	static {
-		entityReferenceToUnicode.add(215);
-		entityReferenceToUnicode.add(8211);
-		entityReferenceToUnicode.add(8212);
-		entityReferenceToUnicode.add(8220);
-		entityReferenceToUnicode.add(8221);
-		entityReferenceToUnicode.add(8216);
-		entityReferenceToUnicode.add(8217);
-
-	}
-
-//	private String bookTitle;
-
-	private String namespace = "http://docbook.org/ns/docbook"; //$NON-NLS-1$
-
-	private final Map<String, String> acronyms = new HashMap<String, String>();
-
-	private int headingLevel = 0;
-
-	private final Stack<BlockDescription> blockDescriptions = new Stack<BlockDescription>();
-
-    private final Stack<HeadingDescription> headingDescriptions = new Stack<HeadingDescription>();
-
-	private boolean automaticGlossary = true;
-
-    public DocBookDocumentBuilder(Writer out) {
-		super(out);
-	}
-
-	public DocBookDocumentBuilder(XmlStreamWriter writer) {
-		super(writer);
-	}
-
-	protected XmlStreamWriter createXmlStreamWriter(Writer out) {
-		XmlStreamWriter writer = super.createXmlStreamWriter(out);
-		return new FormattingXMLStreamWriter(writer) {
-			@Override
-			protected boolean preserveWhitespace(String elementName) {
-				return elementName.equals("programlisting") || elementName.equals("code") || elementName.startsWith("literal"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		};
-	}
-
-	public String getNamespace() {
-		return namespace;
-	}
-
-	public void setNamespace(String namespace) {
-		this.namespace = namespace;
-	}
-
-	@Override
-	public void acronym(String text, String definition) {
-		String previousDef = acronyms.put(text, definition);
-		if (previousDef != null && previousDef.length() > definition.length()) {
-			acronyms.put(text, previousDef);
-		}
-		writer.writeStartElement("glossterm"); //$NON-NLS-1$
-		characters(text);
-		writer.writeEndElement();
-	}
-
-	@Override
-	public void link(Attributes attributes, String href, final String text) {
-		link(attributes, href, new ContentEmitter() {
-			public void emit() {
-				writer.writeCharacters(text);
-			}
-		});
-	}
-
-	private void link(Attributes attributes, String href, ContentEmitter emitter) {
-		ensureBlockElementsOpen();
-		if (href.startsWith("#")) { //$NON-NLS-1$
-			if (href.length() > 1) {
-				writer.writeStartElement("link"); //$NON-NLS-1$
-				writer.writeAttribute("linkend", href.substring(1)); //$NON-NLS-1$
-				emitter.emit();
-				writer.writeEndElement(); // link
-			} else {
-				emitter.emit();
-			}
-		} else {
-			writer.writeStartElement("ulink"); //$NON-NLS-1$
-			writer.writeAttribute("url", href); //$NON-NLS-1$
-			emitter.emit();
-			writer.writeEndElement(); // ulink
-		}
-	}
-
-    private void transformId(String id) {
-        
-    }
-
-    private interface ContentEmitter {
-		public void emit();
-	}
-
-	@Override
-	public void beginBlock(BlockType type, Attributes attributes) {
-		if (headingLevel == 0) {
-			beginHeading(1, new Attributes());
-			endHeading();
-		}
-
-		String elementName;
-		String[] elementNames = null;
-		boolean allowTitle = false;
-		boolean closeElementsOnBlockStart = false;
-        BlockDescription previousBlock = null;
-		if (!blockDescriptions.isEmpty()) {
-			previousBlock = blockDescriptions.peek();
-		}
-
-		switch (type) {
-		case BULLETED_LIST:
-			elementName = "itemizedlist"; //$NON-NLS-1$
-			break;
-		case NUMERIC_LIST:
-			elementName = "orderedlist"; //$NON-NLS-1$
-			break;
-		case DEFINITION_LIST:
-			elementName = "variablelist"; //$NON-NLS-1$
-
-			//			variablelist
-			//				varlistentry+
-			//					term+
-			//					listitem
-			//
-			break;
-		case DEFINITION_TERM:
-
-			BlockDescription blockDescription = findBlockDescription(BlockType.DEFINITION_LIST);
-			if (blockDescription.entrySize > 0) {
-				endBlockEntry(blockDescription);
-			}
-			openBlockEntry(blockDescription, new String[] { "varlistentry" }); //$NON-NLS-1$
-
-			elementName = "term"; //$NON-NLS-1$
-			break;
-		case DEFINITION_ITEM:
-			elementName = "listitem"; //$NON-NLS-1$
-			elementNames = new String[] { "para" }; //$NON-NLS-1$
-			closeElementsOnBlockStart = true;
-			break;
-		case FOOTNOTE:
-		case PARAGRAPH:
-			elementName = "para"; //$NON-NLS-1$
-			break;
-		case CODE:
-			elementName = "programlisting"; //$NON-NLS-1$
-			break;
-		case PREFORMATTED:
-			elementName = "literallayout"; //$NON-NLS-1$
-			break;
-		case QUOTE:
-			elementName = "blockquote"; //$NON-NLS-1$
-			break;
-		case LIST_ITEM:
-			elementName = "listitem"; //$NON-NLS-1$
-			elementNames = new String[] { "para" }; //$NON-NLS-1$
-			closeElementsOnBlockStart = true;
-			break;
-		case TABLE:
-			elementName = "informaltable"; //$NON-NLS-1$
-			break;
-		case TABLE_CELL_HEADER:
-			elementName = "th"; //$NON-NLS-1$
-			break;
-		case TABLE_CELL_NORMAL:
-			elementName = "td"; //$NON-NLS-1$
-			break;
-		case TABLE_ROW:
-			elementName = "tr"; //$NON-NLS-1$
-			break;
-		case INFORMATION:
-			elementName = "important"; //$NON-NLS-1$
-			allowTitle = true;
-			break;
-		case NOTE:
-			elementName = "note"; //$NON-NLS-1$
-			allowTitle = true;
-			break;
-		case WARNING:
-			elementName = "warning"; //$NON-NLS-1$
-			allowTitle = true;
-			break;
-		case TIP:
-			elementName = "tip"; //$NON-NLS-1$
-			allowTitle = true;
-			break;
-		case PANEL:
-			elementName = "note"; // docbook has nothing better for 'note' //$NON-NLS-1$
-			allowTitle = true;
-			break;
-		case DIV:
-			elementName = null;
-			break;
-		default:
-			throw new IllegalStateException(type.name());
-		}
-
-		int blockSize;
-		if (elementName != null) {
-			blockSize = 1;
-
-			if (previousBlock != null && previousBlock.closeElementsOnBlockStart) {
-				endBlockEntry(previousBlock);
-			}
-
-			writer.writeStartElement(elementName);
-			applyAttributes(attributes);
-
-			if (elementNames != null) {
-				for (String name : elementNames) {
-					writer.writeStartElement(name);
-				}
-			}
-
-			if (allowTitle && attributes.getTitle() != null) {
-				writer.writeStartElement("title"); //$NON-NLS-1$
-				writer.writeCharacters(attributes.getTitle());
-				writer.writeEndElement();
-			}
-		} else {
-			blockSize = 0;
-		}
-		blockDescriptions.push(new BlockDescription(type, blockSize, elementNames, closeElementsOnBlockStart));
-	}
-
-	@Override
-	public void endBlock() {
-		final BlockDescription blockDescription = blockDescriptions.pop();
-		int size = blockDescription.size + blockDescription.entrySize;
-		for (int x = 0; x < size; ++x) {
-			writer.writeEndElement();
-		}
-	}
-
-	private void endBlockEntry(BlockDescription blockDescription) {
-		for (int x = 0; x < blockDescription.entrySize; ++x) {
-			writer.writeEndElement();
-		}
-		blockDescription.entrySize = 0;
-	}
-
-	private void openBlockEntry(BlockDescription blockDescription, String[] entry) {
-		for (String ent : entry) {
-			writer.writeStartElement(ent);
-		}
-		blockDescription.entrySize += entry.length;
-	}
-
-	@Override
-	public void beginHeading(int level, Attributes attributes) {
-		closeSections(Math.max(level - 1, 0));
-
-		while (headingLevel < level) {
-			headingLevel++;
-
-            if (headingLevel == 1) {
-                writer.writeStartElement("chapter"); //$NON-NLS-1$
-                writer.writeNamespace("", namespace);
-
-            } else {
-                writer.writeStartElement("section"); //$NON-NLS-1$
-            }
-			if (attributes != null) {
-				applyAttributes(attributes);
-				attributes = null;
-			}
-
-            headingDescriptions.push(new HeadingDescription(level, attributes));
-		}
-
-		writer.writeStartElement("title"); //$NON-NLS-1$
-	}
-
-	@Override
-	public void endHeading() {
-		writer.writeEndElement(); // title
-	}
-
-	@Override
-	public void beginDocument() {
-		baseInHead = false;
-	}
-
-	@Override
-	public void beginSpan(SpanType type, Attributes attributes) {
-		ensureBlockElementsOpen();
-		switch (type) {
-		case BOLD:
-		case STRONG:
-			writer.writeStartElement("emphasis"); //$NON-NLS-1$
-			writer.writeAttribute("role", "bold"); //$NON-NLS-1$ //$NON-NLS-2$
-			break;
-		case CITATION:
-			writer.writeStartElement("citation"); //$NON-NLS-1$
-			break;
-		case CODE:
-			writer.writeStartElement("code"); //$NON-NLS-1$
-			break;
-		case DELETED:
-			writer.writeStartElement("emphasis"); //$NON-NLS-1$
-			writer.writeAttribute("role", "del"); //$NON-NLS-1$ //$NON-NLS-2$
-			break;
-		case EMPHASIS:
-			writer.writeStartElement("emphasis"); //$NON-NLS-1$
-			break;
-		case INSERTED:
-			writer.writeStartElement("emphasis"); //$NON-NLS-1$
-			writer.writeAttribute("role", "ins"); //$NON-NLS-1$ //$NON-NLS-2$
-			break;
-		case UNDERLINED:
-			writer.writeStartElement("emphasis"); //$NON-NLS-1$
-			writer.writeAttribute("role", "underline"); //$NON-NLS-1$ //$NON-NLS-2$
-			break;
-		case ITALIC:
-			writer.writeStartElement("emphasis"); //$NON-NLS-1$
-			writer.writeAttribute("role", "italic"); //$NON-NLS-1$ //$NON-NLS-2$
-			break;
-		case QUOTE:
-			writer.writeStartElement("quote"); //$NON-NLS-1$
-			break;
-		case SPAN:
-			writer.writeStartElement("phrase"); //$NON-NLS-1$
-			break;
-		case SUBSCRIPT:
-			writer.writeStartElement("subscript"); //$NON-NLS-1$
-			break;
-		case SUPERSCRIPT:
-			writer.writeStartElement("superscript"); //$NON-NLS-1$
-			break;
-		case MONOSPACE:
-			writer.writeStartElement("literal"); //$NON-NLS-1$
-			break;
-		case LINK: {
-			LinkAttributes linkAttributes = (LinkAttributes) attributes;
-			String href = linkAttributes.getHref();
-			if (href.startsWith("#")) { //$NON-NLS-1$
-				writer.writeStartElement("link"); //$NON-NLS-1$
-				if (href.length() > 1) {
-					writer.writeAttribute("linkend", href.substring(1)); //$NON-NLS-1$
-				}
-			} else {
-				writer.writeStartElement("ulink"); //$NON-NLS-1$
-				writer.writeAttribute("url", href); //$NON-NLS-1$
-			}
-		}
-			break;
-		default:
-			Logger.getLogger(DocBookDocumentBuilder.class.getName()).warning("No docbook mapping for " + type); //$NON-NLS-1$
-			writer.writeStartElement("phrase"); //$NON-NLS-1$
-			break;
-		}
-		applyAttributes(attributes);
-	}
-
-	private void applyAttributes(Attributes attributes) {
-        if (attributes.getId() != null) {
-            writer.writeAttribute("id", attributes.getId()); //$NON-NLS-1$
-        }
-        if (attributes.getLanguage() != null) {
-            writer.writeAttribute("language", attributes.getLanguage()); //$NON-NLS-1$
-        }
-	}
-
-	@Override
-	public void endDocument() {
-		closeSections(0);
-
-		writeGlossaryAppendix();
-
-//		writer.writeEndElement(); // book
-		writer.writeEndDocument();
-
-		acronyms.clear();
-	}
-
-	private void closeSections(int toLevel) {
-		if (toLevel < 0) {
-			toLevel = 0;
-		}
-		while (headingLevel > toLevel) {
-			writer.writeEndElement();
-			--headingLevel;
-            headingDescriptions.pop();
-		}
-	}
-
-	private void writeGlossaryAppendix() {
-		if (!acronyms.isEmpty() && automaticGlossary) {
-			writer.writeStartElement("appendix"); //$NON-NLS-1$
-			writer.writeAttribute("id", "glossary"); //$NON-NLS-1$ //$NON-NLS-2$
-			writer.writeStartElement("title"); //$NON-NLS-1$
-			writer.writeAttribute("id", "glossary-end"); //$NON-NLS-1$ //$NON-NLS-2$
-			writer.writeCharacters("Glossary"); //$NON-NLS-1$
-			writer.writeEndElement(); // title
-			writer.writeStartElement("glosslist"); //$NON-NLS-1$
-
-			for (Map.Entry<String, String> glossEntry : new TreeMap<String, String>(acronyms).entrySet()) {
-
-				writer.writeStartElement("glossentry"); //$NON-NLS-1$
-
-				writer.writeStartElement("glossterm"); //$NON-NLS-1$
-				writer.writeCharacters(glossEntry.getKey());
-				writer.writeEndElement(); // glossterm
-
-				writer.writeStartElement("glossdef"); //$NON-NLS-1$
-				writer.writeStartElement("para"); //$NON-NLS-1$
-				writer.writeCharacters(glossEntry.getValue());
-				writer.writeEndElement(); // para
-				writer.writeEndElement(); // glossdef
-
-				writer.writeEndElement(); // glossentry
-			}
-			writer.writeEndElement(); // glosslist
-			writer.writeEndElement(); // appendix
-		}
-	}
-
-	@Override
-	public void endSpan() {
-		writer.writeEndElement();
-	}
-
-	@Override
-	public void characters(String text) {
-		ensureBlockElementsOpen();
-		super.characters(text);
-	}
-
-	@Override
-	public void charactersUnescaped(String literal) {
-		ensureBlockElementsOpen();
-		// note: this *may* have HTML tags in it
-		writer.writeLiteral(literal);
-		//		Logger.getLogger(DocBookDocumentBuilder.class.getName()).warning("HTML literal not supported in DocBook");
-	}
-
-	private void ensureBlockElementsOpen() {
-		if (!blockDescriptions.isEmpty()) {
-			BlockDescription blockDescription = blockDescriptions.peek();
-			if (blockDescription.entrySize == 0 && blockDescription.nestedElementNames != null) {
-				openBlockEntry(blockDescription, blockDescription.nestedElementNames);
-			}
-		}
-	}
-
-	@Override
-	public void entityReference(String entity) {
-		ensureBlockElementsOpen();
-		if (entity.startsWith("#")) { //$NON-NLS-1$
-			String numeric = entity.substring(1);
-			int base = 10;
-			if (numeric.startsWith("x")) { //$NON-NLS-1$
-				numeric = entity.substring(1);
-				base = 16;
-			}
-			int unicodeValue = Integer.parseInt(numeric, base);
-			if (entityReferenceToUnicode.contains(unicodeValue)) {
-				writer.writeCharacters("" + ((char) unicodeValue)); //$NON-NLS-1$
-				return;
-			}
-		}
-		writer.writeEntityRef(entity);
-	}
-
-	@Override
-	public void image(Attributes attributes, String url) {
-		ensureBlockElementsOpen();
-		String cssClass = attributes.getCssClass();
-		boolean inlined = false;
-		if (cssClass != null && CSS_CLASS_INLINE.matcher(cssClass).find()) {
-			inlined = true;
-		}
-		emitImage(attributes, url, inlined);
-	}
-
-	private void emitImage(Attributes attributes, String url, boolean inline) {
-		// see http://www.docbook.org/tdg/en/html/imagedata-x.html
-		ensureBlockElementsOpen();
-		writer.writeStartElement(inline ? "inlinemediaobject" : "mediaobject"); //$NON-NLS-1$ //$NON-NLS-2$
-		applyAttributes(attributes);
-		writer.writeStartElement("imageobject"); //$NON-NLS-1$
-		writer.writeEmptyElement("imagedata"); //$NON-NLS-1$
-		writer.writeAttribute("fileref", makeUrlAbsolute(url)); //$NON-NLS-1$
-		String cssStyle = attributes.getCssStyle();
-		if (cssStyle != null) {
-			String width = null;
-			String depth = null;
-			Iterator<CssRule> ruleIterator = new CssParser().createRuleIterator(cssStyle);
-			while (ruleIterator.hasNext()) {
-				CssRule rule = ruleIterator.next();
-				if ("width".equals(rule.name)) { //$NON-NLS-1$
-					width = rule.value;
-				} else if ("height".equals(rule.name)) { //$NON-NLS-1$
-					depth = rule.value;
-				}
-			}
-			if (width != null) {
-				Matcher matcher = PERCENTAGE.matcher(width);
-				if (matcher.matches()) {
-					writer.writeAttribute("scale", matcher.group(1)); //$NON-NLS-1$
-				} else {
-					writer.writeAttribute("width", width); //$NON-NLS-1$
-					if (depth != null) {
-						writer.writeAttribute("depth", depth); //$NON-NLS-1$
-					}
-				}
-			}
-		}
-		writer.writeEndElement(); // imageobject
-		writer.writeEndElement(); // inlinemediaobject or mediaobject
-	}
-
-	@Override
-	public void imageLink(Attributes linkAttributes, final Attributes imageAttributes, String href,
-			final String imageUrl) {
-		link(linkAttributes, href, new ContentEmitter() {
-			public void emit() {
-				emitImage(imageAttributes, imageUrl, true);
-			}
-		});
-	}
-
-	@Override
-	public void lineBreak() {
-		ensureBlockElementsOpen();
-		// no equivalent in DocBook.
-		characters("\n"); //$NON-NLS-1$
-	}
-
-	private BlockDescription findBlockDescription(BlockType type) {
-		for (int x = blockDescriptions.size() - 1; x >= 0; --x) {
-			BlockDescription blockDescription = blockDescriptions.get(x);
-			if (blockDescription.type == type) {
-				return blockDescription;
-			}
-		}
-		return null;
-	}
-
-    private static class BlockDescription {
-        BlockType type;
-
-        int size;
-
-        int entrySize; // the size of an entry, if it is open, otherwise 0
-
-        final String[] nestedElementNames;
-
-        final boolean closeElementsOnBlockStart;
-
-        public BlockDescription(DocumentBuilder.BlockType type, int size, String[] nestedElementNames, boolean closeElementsOnBlockStart) {
-            this.size = size;
-            this.entrySize = nestedElementNames == null ? 0 : nestedElementNames.length;
-            this.type = type;
-            this.nestedElementNames = nestedElementNames;
-            this.closeElementsOnBlockStart = closeElementsOnBlockStart;
-        }
-    }
-
-    private static class HeadingDescription {
-
-        int level;
-        Attributes attributes;
-
-        private HeadingDescription(int level, Attributes attributes) {
-            this.level = level;
-            this.attributes = attributes;
-        }
-    }
-
-	/**
-	 * Indicate if this builder should generate an automatic glossary if acronyms are used. When the automatic glossary
-	 * is enabled and acronyms are used in the document, then an <code>appendix</code> with title 'Glossary' is added to
-	 * the document, with a <code>glosslist</code> generated for all of the acronyms that appear in the document. The
-	 * default is true.
-	 */
-	public boolean isAutomaticGlossary() {
-		return automaticGlossary;
-	}
-
-	/**
-	 * Indicate if this builder should generate an automatic glossary if acronyms are used. When the automatic glossary
-	 * is enabled and acronyms are used in the document, then an <code>appendix</code> with title 'Glossary' is added to
-	 * the document, with a <code>glosslist</code> generated for all of the acronyms that appear in the document. The
-	 * default is true.
-	 */
-	public void setAutomaticGlossary(boolean automaticGlossary) {
-		this.automaticGlossary = automaticGlossary;
-	}
-
-}
diff --git a/docs-maven-plugin/src/main/java/org/apache/servicemix/docs/snippet/SnippetHandler.java b/docs-maven-plugin/src/main/java/org/apache/servicemix/docs/snippet/SnippetHandler.java
deleted file mode 100644
index 3a87f8d..0000000
--- a/docs-maven-plugin/src/main/java/org/apache/servicemix/docs/snippet/SnippetHandler.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Copyright 2001-2005 The Apache Software Foundation.
- *
- * Licensed 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.
- */
-package org.apache.servicemix.docs.snippet;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.net.URLStreamHandler;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.commons.io.FilenameUtils;
-import org.apache.maven.plugin.AbstractMojo;
-
-/**
- * URLStreamHandler implementation for handling snippet:// URL
- */
-public class SnippetHandler extends URLStreamHandler {
-
-    private static final String PROTOCOL = "snippet";
-    private static final String PREFIX = PROTOCOL + "://";
-
-    private AbstractMojo mojo;
-    private File cache;
-    private URL base;
-
-    public SnippetHandler(AbstractMojo mojo, File cache, URL base) {
-        super();
-        this.mojo = mojo;
-        this.cache = cache;
-        this.base = base;
-    }
-
-
-    @Override
-    protected URLConnection openConnection(final URL url) throws IOException {
-        if (!cache.exists()) {
-            mojo.getLog().debug("Creating cache directory " + cache);
-            cache.mkdirs();
-        }
-
-        final String name = getFileName(url);
-
-        final File cached = new File(cache, name);
-        if (!cached.exists()) {
-            cache(name);
-        } else {
-            mojo.getLog().debug("Using cached file " + cached.getAbsolutePath() + " for " + url.toExternalForm());
-        }
-
-        return new URLConnection(url) {
-
-            @Override
-            public void connect() throws IOException {
-                // graciously do nothing
-            }
-
-            @Override
-            public InputStream getInputStream() {
-                ByteArrayOutputStream bos = new ByteArrayOutputStream();
-                PrintWriter out = new PrintWriter(bos);
-                out.printf("<programlisting language=\"%s\"><![CDATA[%n", FilenameUtils.getExtension(name));
-
-                String id = getQuery(url, "id");
-                try {
-                    BufferedReader in = new BufferedReader(new FileReader(cached));
-                    if (id == null) {
-                        copy(in, out);
-                    } else {
-                        copy(in, out, id);
-                    }
-                } catch (IOException e) {
-                    out.println("missing snippet: " + url);
-
-                    // summary warning message and full detail debug logging
-                    mojo.getLog().warn("Unable to include snippet " + url.toExternalForm());
-                    mojo.getLog().debug("Unable to include snippet " + url.toExternalForm(), e);
-                }
-
-                out.println("]]></programlisting>");
-                out.flush();
-                out.close();
-    
-                return new ByteArrayInputStream(bos.toByteArray());       
-            }
-        };
-    }
-
-    private static final String getQuery(URL url, String key) {
-        return getQueryMap(url).get(key);
-    }
-
-    private static final Map<String, String> getQueryMap(URL url) {
-        Map<String, String> query = new HashMap<String, String>();
-
-        if (url.getQuery() != null) {
-            for (String param : url.getQuery().split("&")) {
-                String[] pair = param.split("=");
-                query.put(pair[0], pair[1]);
-            }
-        }
-
-        return query;
-    }
-
-    private String getFileName(URL url) {
-        String result = url.toExternalForm().substring(PREFIX.length());
-        if (url.getQuery() != null) {
-            result = result.replace("?" + url.getQuery(), "");
-        }
-        return result;
-    }
-
-    private void cache(String name) throws IOException {
-        URL source = getSourceUrl(name);
-
-        File target = new File(cache, name);
-
-        BufferedReader in = null;
-        PrintWriter out = null;
-        try {
-            if (!target.getParentFile().isDirectory()) {
-                target.getParentFile().mkdirs();
-            }
-
-            mojo.getLog().debug("Caching " + source.toExternalForm() + " in " + target.getAbsolutePath());
-
-            in =new BufferedReader(
-                        new InputStreamReader(source.openConnection().getInputStream()));
-            out = new PrintWriter(new FileWriter(target));
-
-            copy(in, out);
-            out.flush();
-        } catch (IOException e) {
-            // summary warning message and full detail debug message
-            mojo.getLog().warn("Unable to cache data for " + name + " : " + e.getMessage());
-            mojo.getLog().debug("Unable to cache data for " + name + " : " + e.getMessage(), e);
-        } finally {
-            if (in != null) {
-                in.close();
-            }
-            if (out != null) {
-                out.close();
-            }
-        }
-
-    }
-
-
-    private URL getSourceUrl(String name) throws MalformedURLException {
-        URL source;
-        if (base.toExternalForm().endsWith("/")) {
-            source = new URL(base.toExternalForm() + name);
-        } else {
-            source = new URL(base.toExternalForm() + "/" + name);
-        }
-        return source;
-    }
-
-    private void copy(BufferedReader in, PrintWriter out) throws IOException {
-
-        String inputLine;
-
-        while ((inputLine = in.readLine()) != null) {
-            out.println(inputLine);
-        }
-
-    }
-
-    private void copy(BufferedReader in, PrintWriter out, String id) throws IOException {
-        String line = in.readLine();
-        boolean snippet = false;
-
-        while (line != null) {
-            if (snippet) {
-                if (line.contains("END SNIPPET: " + id)) {
-                    break;
-                } else {
-                    out.println(line);
-                }
-            } else {
-                if (line.contains("START SNIPPET: " + id)) {
-                    snippet = true;
-                }
-            }
-            
-            line = in.readLine();
-        }
-
-    }    
-}
diff --git a/docs-maven-plugin/src/test/java/org/apache/servicemix/docs/SnippetMojoTest.java b/docs-maven-plugin/src/test/java/org/apache/servicemix/docs/SnippetMojoTest.java
deleted file mode 100644
index 7a4e703..0000000
--- a/docs-maven-plugin/src/test/java/org/apache/servicemix/docs/SnippetMojoTest.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright 2001-2005 The Apache Software Foundation.
- *
- * Licensed 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.
- */
-package org.apache.servicemix.docs;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.apache.maven.plugin.MojoExecutionException;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-/**
- * Test cases for {@link org.apache.servicemix.docs.SnippetMojo} and {@link org.apache.servicemix.docs.snippet.SnippetHandler}
- */
-public class SnippetMojoTest {
-
-    private static SnippetMojo mojo;
-
-    @BeforeClass
-    public static void setUp() throws MojoExecutionException, MalformedURLException {
-        mojo = new SnippetMojo();
-        mojo.snippetCache = new File("target/tests/snippets-" + System.currentTimeMillis()); 
-        mojo.snippetBase = new File("src/test/resources").toURI().toURL();
-        mojo.execute();
-    }
-
-    @Test
-    public void getFullSource() throws IOException {
-        URL url = new URL("snippet://Test.java");
-        String content = read(url).trim();
-        
-        assertTrue(content.startsWith("<programlisting language=\"java\"><![CDATA["));
-        assertTrue(content.contains("public class Test {"));
-        assertTrue(content.endsWith("]]></programlisting>"));
-    }
-
-    @Test
-    public void getFullFromXmlFile() throws IOException {
-        URL url = new URL("snippet://Test.xml");
-        String content = read(url).trim();
-
-        assertTrue(content.startsWith("<programlisting language=\"xml\"><![CDATA["));
-        assertTrue(content.contains("<test/>"));
-        assertTrue(content.endsWith("]]></programlisting>"));
-    }
-
-    @Test
-    public void getSnippetFromSource() throws IOException {
-        URL url = new URL("snippet://Test.java?id=doSomething");
-        String content = read(url).trim();
-
-        assertTrue(content.startsWith("<programlisting language=\"java\"><![CDATA["));
-        assertFalse(content.contains("public class Test {"));
-        assertTrue(content.contains("public void doSomething() {"));
-        assertTrue(content.endsWith("]]></programlisting>"));
-        
-        assertFalse(content.contains("<!-- BEGIN SNIPPET"));
-        assertFalse(content.contains("<!-- END SNIPPET"));
-    }
-
-    private String read(URL url) throws IOException {
-        InputStream is = null;
-        ByteArrayOutputStream bos = new ByteArrayOutputStream();
-
-        try {
-            is = url.openStream();
-            byte[] data = new byte[4096];
-            int read = is.read(data);
-            while (read > 0) {
-                bos.write(data, 0, read);
-                read = is.read(data);
-            }
-            bos.flush();
-            bos.close();
-            return new String(bos.toByteArray());
-        } finally {
-            if (is != null) {
-                is.close();
-            }
-        }
-    }
-}
diff --git a/docs-maven-plugin/src/test/java/org/apache/servicemix/docs/confluence/ConfluenceDocumentTest.java b/docs-maven-plugin/src/test/java/org/apache/servicemix/docs/confluence/ConfluenceDocumentTest.java
deleted file mode 100644
index 0eb35e0..0000000
--- a/docs-maven-plugin/src/test/java/org/apache/servicemix/docs/confluence/ConfluenceDocumentTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright 2001-2005 The Apache Software Foundation.
- *
- * Licensed 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.
- */
-package org.apache.servicemix.docs.confluence;
-
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.StringWriter;
-import java.util.List;
-
-import org.apache.commons.io.IOUtils;
-
-import static junit.framework.Assert.assertEquals;
-
-/**
- * Test cases for {@link ConfluenceConverter}
- */
-public class ConfluenceDocumentTest {
-
-    @org.junit.Test
-    public void generateChapterAndSections() throws Exception {
-        assertDocBook("document1");
-    }
-
-    @org.junit.Test
-    public void generateChapterSectionsAndParagraphs() throws Exception {
-        assertDocBook("document2");
-    }
-
-    @org.junit.Test
-    public void generateProgramListingBlock() throws Exception {
-        assertDocBook("code-blocks");
-    }
-
-    @org.junit.Test
-    public void generateImageObject() throws Exception {
-        assertDocBook("images");
-    }
-
-    @org.junit.Test
-    public void generateLists() throws Exception {
-        assertDocBook("lists");
-    }
-
-    @org.junit.Test
-    public void generateLinks() throws Exception {
-        assertDocBook("links");
-    }
-
-
-    @org.junit.Test
-    public void generateTables() throws Exception {
-        assertDocBook("tables");
-    }
-
-    private void assertDocBook(String name) throws IOException {
-        StringWriter writer = new StringWriter();
-
-        List<String> expected = IOUtils.readLines(getClass().getResourceAsStream(name + ".xml"));
-
-        ConfluenceConverter document = new ConfluenceConverter();
-
-        document.convert(new InputStreamReader(getClass().getResourceAsStream(name + ".wiki")),
-                         writer);
-        writer.flush();
-        writer.close();
-
-//        System.err.println(writer.toString());
-
-        String[] results = writer.toString().split("\\r?\\n\\r?");
-        int i = 0;
-
-        for (String result : results) {
-            System.out.println(result);
-            if (result.trim().length() > 0) {
-
-                assertEquals("Line " + (i +1) + " should match the expected DocBook XML output",
-                             expected.get(i).trim(), result.trim());
-                i++;
-            }
-        }
-    }
-}
diff --git a/docs-maven-plugin/src/test/resources/Test.java b/docs-maven-plugin/src/test/resources/Test.java
deleted file mode 100644
index 664e6e3..0000000
--- a/docs-maven-plugin/src/test/resources/Test.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright 2001-2005 The Apache Software Foundation.
- *
- * Licensed 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.
- */
-
-/**
- * A simple Test class
- */
-public class Test {
-
-    // START SNIPPET: doSomething
-    public void doSomething() {
-        // does something very interesting
-    }
-    // END SNIPPET: doSomething
-
-    public void doSomethingElse() {
-        // does something else, even more interesting
-    }
-    
-}
\ No newline at end of file
diff --git a/docs-maven-plugin/src/test/resources/Test.xml b/docs-maven-plugin/src/test/resources/Test.xml
deleted file mode 100644
index b285379..0000000
--- a/docs-maven-plugin/src/test/resources/Test.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-<!--
-/*
- * Copyright 2001-2005 The Apache Software Foundation.
- *
- * Licensed 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.
- */
--->
-<test/>
\ No newline at end of file
diff --git a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/code-blocks.wiki b/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/code-blocks.wiki
deleted file mode 100644
index 9ddc032..0000000
--- a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/code-blocks.wiki
+++ /dev/null
@@ -1,23 +0,0 @@
-h1. Chapter
-
-h2. Section 1
-This section contains a piece of {{code text}}.
-
-{code}
-<?xml version="1.0"?>
-<hello>
-  <world/>
-</hello>
-{code}
-
-h2. Section 2
-The next one specifies the language for the code block.
-
-{code:lang=xml}
-<?xml version="1.0"?>
-<hello>
-  <world/>
-</hello>
-{code}
-
-h2. Section with {{code text}}
\ No newline at end of file
diff --git a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/code-blocks.xml b/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/code-blocks.xml
deleted file mode 100644
index 803b022..0000000
--- a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/code-blocks.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<chapter xmlns="http://docbook.org/ns/docbook" id="Chapter">
-  <title>Chapter</title>
-  <section id="Section1">
-    <title>Section 1</title>
-    <para>This section contains a piece of
-      <literal>code text</literal>.
-    </para>
-    <programlisting><![CDATA[
-    <?xml version="1.0"?>
-    <hello>
-      <world/>
-    </hello>
-    ]]></programlisting>
-  </section>
-  <section id="Section2">
-    <title>Section 2</title>
-    <para>The next one specifies the language for the code block.</para>
-    <programlisting language="xml"><![CDATA[
-    <?xml version="1.0"?>
-    <hello>
-      <world/>
-    </hello>
-    ]]></programlisting>
-  </section>
-  <section id="Sectionwithcodetext">
-    <title>Section with
-      <literal>code text</literal>
-    </title>
-  </section>
-</chapter>
\ No newline at end of file
diff --git a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/document1.wiki b/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/document1.wiki
deleted file mode 100644
index c7245a9..0000000
--- a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/document1.wiki
+++ /dev/null
@@ -1,7 +0,0 @@
-h1. Chapter
-
-h2. Section 1
-
-h3. Section 1.1
-
-h2. Section 2
\ No newline at end of file
diff --git a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/document1.xml b/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/document1.xml
deleted file mode 100644
index 124f81e..0000000
--- a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/document1.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<chapter xmlns="http://docbook.org/ns/docbook" id="Chapter">
-  <title>Chapter</title>
-  <section id="Section1">
-    <title>Section 1</title>
-    <section id="Section1.1">
-      <title>Section 1.1</title>
-    </section>
-  </section>
-  <section id="Section2">
-    <title>Section 2</title>
-  </section>
-</chapter>
\ No newline at end of file
diff --git a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/document2.wiki b/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/document2.wiki
deleted file mode 100644
index 976cf38..0000000
--- a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/document2.wiki
+++ /dev/null
@@ -1,9 +0,0 @@
-h1. Chapter
-
-h2. Section 1
-Paragraph 1 starts here...
-
-Paragraph 2 starts here...
-
-h3. Section 1.1
-And one more paragraph
\ No newline at end of file
diff --git a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/document2.xml b/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/document2.xml
deleted file mode 100644
index 2436c0a..0000000
--- a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/document2.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<chapter xmlns="http://docbook.org/ns/docbook" id="Chapter">
-  <title>Chapter</title>
-  <section id="Section1">
-    <title>Section 1</title>
-    <para>Paragraph 1 starts here...</para>
-    <para>Paragraph 2 starts here...</para>
-    <section id="Section1.1">
-      <title>Section 1.1</title>
-      <para>And one more paragraph</para>
-    </section>
-  </section>
-</chapter>
\ No newline at end of file
diff --git a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/images.wiki b/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/images.wiki
deleted file mode 100644
index 6e15094..0000000
--- a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/images.wiki
+++ /dev/null
@@ -1,6 +0,0 @@
-h1. Chapter
-
-h2. Section 1
-This section contains an image
-
-!image.png!
\ No newline at end of file
diff --git a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/images.xml b/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/images.xml
deleted file mode 100644
index 39e49c1..0000000
--- a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/images.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<chapter xmlns="http://docbook.org/ns/docbook" id="Chapter">
-  <title>Chapter</title>
-  <section id="Section1">
-    <title>Section 1</title>
-    <para>This section contains an image</para>
-    <para>
-      <mediaobject>
-        <imageobject>
-          <imagedata fileref="image.png"/>
-        </imageobject>
-      </mediaobject>
-    </para>
-  </section>
-</chapter>
\ No newline at end of file
diff --git a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/links.wiki b/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/links.wiki
deleted file mode 100644
index 46cfdbd..0000000
--- a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/links.wiki
+++ /dev/null
@@ -1,26 +0,0 @@
-h1. Chapter
-
-{anchor:My Anchor}
-
-h2. Section 1
-This section contains a simple link to [http://www.google.be]
-
-h2. Section 2
-Click [here|http://www.google.be] to follow the link with text
-
-h2. Section 3
-Links in a variable list
-- search provider :: [Google|http://www.google.be] is often used for searching the web
-
-h2. Section 4
-[Google|http://www.google.be]
-
-h2. Section 5
-[http://www.google.be]
-
-h2. Section 6
-[#Section 5]
-
-h2. Section 7
-[#My Anchor]
-
diff --git a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/links.xml b/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/links.xml
deleted file mode 100644
index 2237ea6..0000000
--- a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/links.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<chapter xmlns="http://docbook.org/ns/docbook" id="Chapter">
-  <title>Chapter</title>
-  <para>
-      <phrase id="MyAnchor"></phrase>
-  </para>
-  <section id="Section1">
-    <title>Section 1</title>
-    <para>This section contains a simple link to
-        <ulink url="http://www.google.be">http://www.google.be</ulink>
-    </para>
-  </section>
-  <section id="Section2">
-    <title>Section 2</title>
-    <para>Click
-        <ulink url="http://www.google.be">here</ulink> to follow the link with text
-    </para>
-  </section>
-  <section id="Section3">
-    <title>Section 3</title>
-    <para>Links in a variable list</para>
-      <variablelist>
-        <varlistentry>
-          <term>search provider</term>
-          <listitem>
-            <para>
-              <ulink url="http://www.google.be">Google</ulink> is often used for searching the web
-            </para>
-          </listitem>
-        </varlistentry>
-      </variablelist>
-  </section>    
-    <section id="Section4">
-      <title>Section 4</title>
-      <para>
-        <ulink url="http://www.google.be">Google</ulink>
-      </para>
-    </section>
-    <section id="Section5">
-      <title>Section 5</title>
-      <para>
-        <ulink url="http://www.google.be">http://www.google.be</ulink>
-      </para>
-    </section>
-    <section id="Section6">
-        <title>Section 6</title>
-        <para>
-            <link linkend="Section5">Section 5</link>
-        </para>
-    </section>
-    <section id="Section7">
-        <title>Section 7</title>
-        <para>
-            <link linkend="MyAnchor">My Anchor</link>
-        </para>
-    </section>
-</chapter>
\ No newline at end of file
diff --git a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/lists.wiki b/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/lists.wiki
deleted file mode 100644
index eaed557..0000000
--- a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/lists.wiki
+++ /dev/null
@@ -1,20 +0,0 @@
-h1. Chapter
-
-h2. Section 1
-This section contains a bulleted list:
-* item 1
-* {{item 2}}
-* item 3
-
-h2. Section 2
-This section contains a numbered list:
-# item 1
-# {{item 2}}
-# item 3
-
-h2. Variable list
-This section contains a variable list:
-- term1 :: Definition for term1
-- {{term2}} :: Definition for term2 (including {{code text}})
-- term3 :: Definition for term3
-
diff --git a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/lists.xml b/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/lists.xml
deleted file mode 100644
index c9017cf..0000000
--- a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/lists.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<chapter xmlns="http://docbook.org/ns/docbook" id="Chapter">
-  <title>Chapter</title>
-  <section id="Section1">
-    <title>Section 1</title>
-    <para>This section contains a bulleted list:</para>
-      <itemizedlist>
-        <listitem>
-          <para>item 1</para>
-        </listitem>
-        <listitem>
-          <para>
-              <literal>item 2</literal>
-          </para>
-        </listitem>
-        <listitem>
-          <para>item 3</para>
-        </listitem>
-      </itemizedlist>
-  </section>
-  <section id="Section2">
-    <title>Section 2</title>
-    <para>This section contains a numbered list:</para>
-      <orderedlist>
-        <listitem>
-          <para>item 1</para>
-        </listitem>
-        <listitem>
-          <para>
-              <literal>item 2</literal>
-          </para>
-        </listitem>
-        <listitem>
-          <para>item 3</para>
-        </listitem>
-      </orderedlist>
-  </section>
-  <section id="Variablelist">
-    <title>Variable list</title>
-    <para>This section contains a variable list:</para>
-      <variablelist>
-        <varlistentry>
-          <term>term1</term>
-          <listitem>
-            <para>Definition for term1</para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>
-            <literal>term2</literal>
-          </term>
-          <listitem>
-            <para>Definition for term2 (including
-              <literal>code text</literal>)
-            </para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>term3</term>
-          <listitem>
-            <para>Definition for term3</para>
-          </listitem>
-        </varlistentry>
-      </variablelist>
-  </section>
-</chapter>
\ No newline at end of file
diff --git a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/tables.wiki b/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/tables.wiki
deleted file mode 100644
index 6b6fd53..0000000
--- a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/tables.wiki
+++ /dev/null
@@ -1,7 +0,0 @@
-h1. Chapter
-
-h2. An informal table
-This section contains an informal table:
-|| Header 1 || Header 2 || Header 3 ||
-| Val 1.1 | Val 1.2 | {{Val 1.3}} |
-| Val 2.1 | Val 2.2 | {{Val 2.3}} |
diff --git a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/tables.xml b/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/tables.xml
deleted file mode 100644
index e0078bb..0000000
--- a/docs-maven-plugin/src/test/resources/org/apache/servicemix/docs/confluence/tables.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<chapter xmlns="http://docbook.org/ns/docbook" id="Chapter">
-  <title>Chapter</title>
-  <section id="Aninformaltable">
-    <title>An informal table</title>
-    <para>This section contains an informal table:</para>
-      <informaltable>
-          <tr>
-            <th>Header 1</th>
-            <th>Header 2</th>
-            <th>Header 3</th>
-          </tr>
-          <tr>
-            <td>Val 1.1</td>
-            <td>Val 1.2</td>
-            <td>
-                <literal>Val 1.3</literal>
-            </td>
-          </tr>
-          <tr>
-            <td>Val 2.1</td>
-            <td>Val 2.2</td>
-            <td>
-                <literal>Val 2.3</literal>
-            </td>
-          </tr>
-      </informaltable>
-  </section>
-</chapter>
\ No newline at end of file
diff --git a/features-maven-plugin/LICENSE b/features-maven-plugin/LICENSE
deleted file mode 100644
index 6b0b127..0000000
--- a/features-maven-plugin/LICENSE
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/features-maven-plugin/NOTICE b/features-maven-plugin/NOTICE
deleted file mode 100644
index b6212c4..0000000
--- a/features-maven-plugin/NOTICE
+++ /dev/null
@@ -1,9 +0,0 @@
-   =========================================================================
-   ==  NOTICE file for use with the Apache License, Version 2.0,          ==
-   ==  in this case for the Apache ServiceMix distribution.               ==
-   =========================================================================
-
-   This product contains software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-
diff --git a/features-maven-plugin/pom.xml b/features-maven-plugin/pom.xml
deleted file mode 100644
index f4713d8..0000000
--- a/features-maven-plugin/pom.xml
+++ /dev/null
@@ -1,134 +0,0 @@
-<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">
-	<!--
-		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.
-	-->
-	<modelVersion>4.0.0</modelVersion>
-
-    <parent>
-      <groupId>org.apache.servicemix.tooling</groupId>
-      <artifactId>maven-plugins-pom</artifactId>
-      <version>3</version>
-      <relativePath>../maven-plugins-pom/pom.xml</relativePath>      
-    </parent>
-
-
-    <groupId>org.apache.servicemix.tooling</groupId>
-    <artifactId>features-maven-plugin</artifactId>
-    <packaging>maven-plugin</packaging>
-    <version>1.2-SNAPSHOT</version>
-    <name>Apache ServiceMix :: Plugins :: Maven2 Features plugin</name>
-
-    <scm>
-      <connection>scm:svn:http://svn.apache.org/repos/asf/servicemix/maven-plugins/features-maven-plugin/trunk</connection>
-      <developerConnection>scm:svn:https://svn.apache.org/repos/asf/servicemix/maven-plugins/features-maven-plugin/trunk</developerConnection>
-      <url>http://svn.apache.org/viewcvs.cgi/servicemix/maven-plugins/features-maven-plugin/trunk</url>
-    </scm>
-
-	<dependencies>
-		<dependency>
-			<groupId>org.apache.maven</groupId>
-			<artifactId>maven-plugin-api</artifactId>
-			<version>2.0.9</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.maven</groupId>
-			<artifactId>maven-project</artifactId>
-			<version>2.0.9</version>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.felix</groupId>
-			<artifactId>maven-bundle-plugin</artifactId>
-			<version>1.4.3</version>
-		</dependency>
-		<dependency>
-		    <groupId>org.jmock</groupId>
-			<artifactId>jmock</artifactId>
-			<version>2.5.0</version>
-			<scope>test</scope>
-		</dependency>
-	</dependencies>
-
-       <profiles>
-      <profile>
-            <id>release</id>
-            <build>
-                <plugins>
-                    <!-- We want to deploy the artifact to a staging location for perusal -->
-                    <plugin>
-                        <inherited>true</inherited>
-                        <artifactId>maven-deploy-plugin</artifactId>
-                        <version>2.3</version>
-                        <configuration>
-                            <altDeploymentRepository>${deploy.altRepository}</altDeploymentRepository>
-                            <updateReleaseInfo>true</updateReleaseInfo>
-                        </configuration>
-                    </plugin>
-                    <!-- We want to sign the artifact, the POM, and all attached artifacts -->
-                    <plugin>
-                        <artifactId>maven-gpg-plugin</artifactId>
-                        <version>1.0-alpha-4</version>
-                        <configuration>
-                            <passphrase>${gpg.passphrase}</passphrase>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>sign</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>deploy</id>
-            <build>
-                <defaultGoal>deploy</defaultGoal>
-                 <plugins>
-                   <plugin>
-                        <artifactId>maven-javadoc-plugin</artifactId>
-                        <version>2.2</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>jar</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <source>1.5</source>
-                            <attach>true</attach>
-                        </configuration>
-                   </plugin>
-                   <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-source-plugin</artifactId>
-                        <version>2.0.2</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>jar</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <attach>true</attach>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-      </profiles>
-</project>
diff --git a/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/AddFeaturesToRepoMojo.java b/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/AddFeaturesToRepoMojo.java
deleted file mode 100644
index 3806c06..0000000
--- a/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/AddFeaturesToRepoMojo.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/**
- *
- * 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.
- */
-package org.apache.servicemix.tooling.features;
-
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Properties;
-import java.util.Hashtable;
-import java.util.Set;
-import java.util.HashSet;
-import java.io.File;
-import java.io.IOException;
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.io.BufferedOutputStream;
-import java.io.FileOutputStream;
-import java.io.FileInputStream;
-import java.net.URI;
-import java.net.URL;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.w3c.dom.*;
-
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.DefaultArtifact;
-import org.apache.maven.artifact.handler.DefaultArtifactHandler;
-import org.apache.maven.artifact.versioning.VersionRange;
-import org.xml.sax.SAXException;
-
-/**
- * Generates the features XML file
- *
- * @version $Revision: 1.1 $
- * @goal add-features-to-repo
- * @phase compile
- * @execute phase="compile"
- * @requiresDependencyResolution runtime
- * @inheritByDefault true
- * @description Add the features to the repository
- */
-public class AddFeaturesToRepoMojo extends MojoSupport {
-
-    /**
-     * @parameter
-     */
-    private List<String> descriptors;
-
-    /**
-     * @parameter
-     */
-    private List<String> features;
-
-    /**
-     * @parameter
-     */
-    private File repository;
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        try {
-            Map<String, Feature> featuresMap = new HashMap<String, Feature>();
-            for (String uri : descriptors) {
-                Repository repo = new Repository(URI.create(translateFromMaven(uri)));
-                for (Feature f : repo.getFeatures()) {
-                    featuresMap.put(f.getName(), f);
-                }
-            }
-            Set<String> transitiveFeatures = new HashSet<String>();
-            addFeatures(features, transitiveFeatures, featuresMap);
-            Set<String> bundles = new HashSet<String>();
-            for (String feature : transitiveFeatures) {
-                bundles.addAll(featuresMap.get(feature).getBundles());
-            }
-            System.out.println("Base repo: " + localRepo.getUrl());
-            for (String bundle : bundles) {
-                if (!bundle.startsWith("mvn:")) {
-                    throw new MojoExecutionException("Bundle url is not a maven url: " + bundle);
-                }
-                String[] parts = bundle.substring("mvn:".length()).split("/");
-                String groupId = parts[0];
-                String artifactId = parts[1];
-                String version = null;
-                String classifier = null;
-                String type = "jar";
-                if (parts.length > 2) {
-                    version = parts[2];
-                    if (parts.length > 3) {
-                        classifier = parts[3];
-                        if (parts.length > 4) {
-                            type = parts[4];
-                        }
-                    }
-                }
-                String dir = groupId.replace('.', '/') + "/" + artifactId + "/" + version + "/";
-                String name = artifactId + "-" + version + (classifier != null ? "-" + classifier : "") + "." + type;
-                System.out.println("Copy:      " + dir + name);
-                copy(new URL(getLocalRepoUrl() + "/" + dir + name).openStream(),
-                     repository,
-                     name,
-                     dir,
-                     new byte[8192]);
-
-            }
-        } catch (MojoExecutionException e) {
-            throw e;
-        } catch (MojoFailureException e) {
-            throw e;
-        } catch (Exception e) {
-            throw new MojoExecutionException("Error populating repository", e);
-        }
-    }
-
-    private String translateFromMaven(String uri) {
-        if (uri.startsWith("mvn:")) {
-            String[] parts = uri.substring("mvn:".length()).split("/");
-            String groupId = parts[0];
-            String artifactId = parts[1];
-            String version = null;
-            String classifier = null;
-            String type = "jar";
-            if (parts.length > 2) {
-                version = parts[2];
-                if (parts.length > 3) {
-                    type = parts[3];
-                    if (parts.length > 4) {
-                        classifier = parts[4];
-                    }
-                }
-            }
-            String dir = groupId.replace('.', '/') + "/" + artifactId + "/" + version + "/";
-            String name = artifactId + "-" + version + (classifier != null ? "-" + classifier : "") + "." + type;
-
-            return getLocalRepoUrl() + "/" + dir + name;
-        }
-        if (System.getProperty("os.name").startsWith("Windows") && uri.startsWith("file:")) {
-        	String baseDir = uri.substring(5).replace('\\', '/').replaceAll(" ", "%20");
-        	String result = baseDir;
-        	if (baseDir.indexOf(":") > 0) {
-        		result = "file:///" + baseDir;
-        	}
-        	return result;
-        }
-        return uri;
-    }
-
-    private String getLocalRepoUrl() {
-    	 if (System.getProperty("os.name").startsWith("Windows")) {
-             String baseDir = localRepo.getBasedir().replace('\\', '/').replaceAll(" ", "%20");
-             return localRepo.getProtocol() + ":///" + baseDir;
-    	 } else {
-    		 return localRepo.getUrl();
-    	 }
-    }
-
-    private void addFeatures(List<String> features, Set<String> transitiveFeatures, Map<String, Feature> featuresMap) {
-        for (String feature : features) {
-            Feature f = featuresMap.get(feature);
-            transitiveFeatures.add(feature);
-            addFeatures(f.getDependencies(), transitiveFeatures, featuresMap);
-        }
-    }
-
-    public static void copy(
-        InputStream is, File dir, String destName, String destDir, byte[] buffer)
-        throws IOException
-    {
-        if (destDir == null)
-        {
-            destDir = "";
-        }
-
-        // Make sure the target directory exists and
-        // that is actually a directory.
-        File targetDir = new File(dir, destDir);
-        if (!targetDir.exists())
-        {
-            if (!targetDir.mkdirs())
-            {
-                throw new IOException("Unable to create target directory: "
-                    + targetDir);
-            }
-        }
-        else if (!targetDir.isDirectory())
-        {
-            throw new IOException("Target is not a directory: "
-                + targetDir);
-        }
-
-        BufferedOutputStream bos = new BufferedOutputStream(
-            new FileOutputStream(new File(targetDir, destName)));
-        int count = 0;
-        while ((count = is.read(buffer)) > 0)
-        {
-            bos.write(buffer, 0, count);
-        }
-        bos.close();
-    }
-
-    public static class Feature {
-
-        private String name;
-        private List<String> dependencies = new ArrayList<String>();
-        private List<String> bundles = new ArrayList<String>();
-        private Map<String, Map<String,String>> configs = new HashMap<String, Map<String,String>>();
-
-        public Feature(String name) {
-            this.name = name;
-        }
-
-        public String getName() {
-            return name;
-        }
-
-        public List<String> getDependencies() {
-            return dependencies;
-        }
-
-        public List<String> getBundles() {
-            return bundles;
-        }
-
-        public Map<String, Map<String, String>> getConfigurations() {
-            return configs;
-        }
-
-        public void addDependency(String dependency) {
-            dependencies.add(dependency);
-        }
-
-        public void addBundle(String bundle) {
-            bundles.add(bundle);
-        }
-
-        public void addConfig(String name, Map<String,String> properties) {
-            configs.put(name, properties);
-        }
-    }
-
-    public static class Repository {
-
-        private URI uri;
-        private List<Feature> features;
-
-        public Repository(URI uri) {
-            this.uri = uri;
-        }
-
-        public URI getURI() {
-            return uri;
-        }
-
-        public Feature[] getFeatures() throws Exception {
-            if (features == null) {
-                load();
-            }
-            return features.toArray(new Feature[features.size()]);
-        }
-
-        public void load() throws IOException {
-            try {
-                features = new ArrayList<Feature>();
-                DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-                Document doc = factory.newDocumentBuilder().parse(uri.toURL().openStream());
-                NodeList nodes = doc.getDocumentElement().getChildNodes();
-                for (int i = 0; i < nodes.getLength(); i++) {
-                    org.w3c.dom.Node node = nodes.item(i);
-                    if (!(node instanceof Element) || !"feature".equals(node.getNodeName())) {
-                        continue;
-                    }
-                    Element e = (Element) nodes.item(i);
-                    String name = e.getAttribute("name");
-                    Feature f = new Feature(name);
-                    NodeList featureNodes = e.getElementsByTagName("feature");
-                    for (int j = 0; j < featureNodes.getLength(); j++) {
-                        Element b = (Element) featureNodes.item(j);
-                        f.addDependency(b.getTextContent());
-                    }
-                    NodeList configNodes = e.getElementsByTagName("config");
-                    for (int j = 0; j < configNodes.getLength(); j++) {
-                        Element c = (Element) configNodes.item(j);
-                        String cfgName = c.getAttribute("name");
-                        String data = c.getTextContent();
-                        Properties properties = new Properties();
-                        properties.load(new ByteArrayInputStream(data.getBytes()));
-                        Map<String, String> hashtable = new Hashtable<String, String>();
-                        for (Object key : properties.keySet()) {
-                            String n = key.toString();
-                            hashtable.put(n, properties.getProperty(n));
-                        }
-                        f.addConfig(cfgName, hashtable);
-                    }
-                    NodeList bundleNodes = e.getElementsByTagName("bundle");
-                    for (int j = 0; j < bundleNodes.getLength(); j++) {
-                        Element b = (Element) bundleNodes.item(j);
-                        f.addBundle(b.getTextContent());
-                    }
-                    features.add(f);
-                }
-            } catch (SAXException e) {
-                throw (IOException) new IOException().initCause(e);
-            } catch (ParserConfigurationException e) {
-                throw (IOException) new IOException().initCause(e);
-            }
-        }
-
-    }
-}
diff --git a/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/GenerateFeaturesFileMojo.java b/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/GenerateFeaturesFileMojo.java
deleted file mode 100644
index 91f188e..0000000
--- a/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/GenerateFeaturesFileMojo.java
+++ /dev/null
@@ -1,479 +0,0 @@
-/**
- *
- * 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.
- */
-package org.apache.servicemix.tooling.features;
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.PrintStream;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.TreeSet;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipException;
-import java.util.zip.ZipFile;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.InvalidArtifactRTException;
-import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
-import org.apache.maven.artifact.metadata.ResolutionGroup;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.versioning.ArtifactVersion;
-import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
-import org.apache.maven.artifact.versioning.VersionRange;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.osgi.impl.bundle.obr.resource.Manifest;
-
-/**
- * Generates the features XML file
- * 
- * @version $Revision: 1.1 $
- * @goal generate-features-file
- * @phase compile
- * @execute phase="compile"
- * @requiresDependencyResolution runtime
- * @inheritByDefault true
- * @description Generates the features XML file
- */
-@SuppressWarnings("unchecked")
-public class GenerateFeaturesFileMojo extends MojoSupport {
-    protected static final String SEPARATOR = "/";
-
-    /**
-     * The file to generate
-     * 
-     * @parameter default-value="${project.build.directory}/classes/feature.xml"
-     */
-    private File outputFile;
-
-    /**
-     * The name of the feature, which defaults to the artifact ID if its not
-     * specified
-     * 
-     * @parameter default-value="${project.artifactId}"
-     */
-    private String featureName;
-
-    /**
-     * The artifact type for attaching the generated file to the project
-     * 
-     * @parameter default-value="xml"
-     */
-    private String attachmentArtifactType = "xml";
-
-    /**
-     * The artifact classifier for attaching the generated file to the project
-     * 
-     * @parameter default-value="features"
-     */
-    private String attachmentArtifactClassifier = "features";
-
-    /**
-     * Should we generate a <feature> for the current project?
-     * 
-     * @parameter default-value="false"
-     */
-    private boolean includeProject = false;
-
-    /**
-     * Should we generate a <feature> for the current project's <dependency>s?
-     * 
-     * @parameter default-value="true"
-     */
-    private boolean includeDependencies = true;
-    
-    /**
-     * The kernel version for which to generate the bundle
-     * 
-     * @parameter
-     */
-    private String kernelVersion;
-    
-    /**
-     * A properties file containing bundle translations
-     * 
-     * @parameter
-     */
-    private File translation;
-    
-    /*
-     * The translations
-     */
-    private Map<String, Map<VersionRange, String>> translations = new HashMap<String, Map<VersionRange,String>>() {
-    	@Override
-    	public Map<VersionRange, String> get(Object key) {
-    		if (super.get(key) == null) {
-    			super.put(key.toString(), new HashMap<VersionRange, String>());
-    		}
-    		return super.get(key);
-    	}
-    };
-    
-    /*
-     * These bundles are the features that will be built
-     */
-    private Set<Artifact> features = new HashSet<Artifact>();
-
-    /*
-     * These bundles are provided by SMX4 and will be excluded from <feature/>
-     * generation
-     */
-    private Set<Artifact> provided = new HashSet<Artifact>();
-    
-    /*
-     * List of bundles included in the current feature
-     */
-    private Set<Artifact> currentFeature = new HashSet<Artifact>();
-    
-    /*
-     * List of missing bundles
-     */
-    private Set<Artifact> missingBundles = new TreeSet<Artifact>();
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        OutputStream out = null;
-        try {
-        	prepare();
-        	getLog().info(String.format("-- Start generating %s --", outputFile.getAbsolutePath()));
-            outputFile.getParentFile().mkdirs();
-            out = new FileOutputStream(outputFile);
-            
-            PrintStream printer = new PrintStream(out);
-            populateProperties(printer);
-            getLog().info(String.format("-- Done generating %s --", outputFile.getAbsolutePath()));
-
-            // now lets attach it
-            projectHelper.attachArtifact(project, attachmentArtifactType, attachmentArtifactClassifier, outputFile);
-        } catch (Exception e) {
-            throw new MojoExecutionException("Unable to create dependencies file: " + e, e);
-        } finally {
-            if (out != null) {
-                try {
-                    out.close();
-                } catch (IOException e) {
-                    getLog().info("Failed to close: " + outputFile + ". Reason: " + e, e);
-                }
-            }
-        }
-    }
-
-    protected void populateProperties(PrintStream out) throws ArtifactResolutionException, ArtifactNotFoundException, IOException {
-        out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
-        out.println("<features>");
-        if (includeProject) {
-            writeCurrentProjectFeature(out);
-        }
-        if (includeDependencies) {
-            writeProjectDependencyFeatures(out);
-        }
-        out.println("</features>");
-    }
-
-    private void prepare() throws ArtifactResolutionException, ArtifactNotFoundException, IOException, InvalidVersionSpecificationException {
-    	if (translation != null) {
-    		InputStream stream = null;
-    		try {
-    			stream = new BufferedInputStream(new FileInputStream(translation));
-    			Properties file = new Properties();
-    			file.load(stream);
-    			ArrayList<String> stringNames = getStringNames(file);
-    			for (String key : stringNames) {
-    				String[] elements = key.split("/");
-    				translations.get(String.format("%s/%s", elements[0], elements[1]))
-    				            .put(VersionRange.createFromVersionSpec(elements[2]), file.getProperty(key));
-    			}
-    			getLog().info("Loaded " + translations.size() + " bundle name translation rules from " + translation.getAbsolutePath());
-    		} finally {
-    			if (stream != null) {
-    				stream.close();
-    			}
-    		}
-    	}
-    	
-    	Artifact kernel = factory.createArtifact("org.apache.servicemix.kernel", 
-    			                                 "apache-servicemix-kernel",
-    			                                 kernelVersion, Artifact.SCOPE_PROVIDED, "pom");
-    	resolver.resolve(kernel, remoteRepos, localRepo);
-    	getLog().info("-- List of bundles provided by ServiceMix Kernel " + kernelVersion + " --");
-        for (Artifact artifact : getDependencies(kernel)) {
-        	getLog().info(" " + artifact);
-            provided.add(artifact);
-        }
-        getLog().info("-- <end of list>  --");
-    }
-
-    private ArrayList<String> getStringNames(Properties file) {
-    	// this method simulate the Properties.stringPropertyNames() of JDK6 in order to make this class 
-    	// compile with jdk5
-    	ArrayList<String> ret = new ArrayList<String>();
-    	Enumeration<?> name = file.propertyNames();
-    	while (name.hasMoreElements()) {
-    		Object ele = name.nextElement();
-    		if (ele instanceof String && file.get(ele) instanceof String) {
-    			ret.add((String)ele);
-    		}
-    	}
-		return ret;
-	}
-
-	private void writeProjectDependencyFeatures(PrintStream out) {
-        Set<Artifact> dependencies = (Set<Artifact>)project.getDependencyArtifacts();
-        dependencies.removeAll(provided);
-        for (Artifact artifact : dependencies) {
-            getLog().info(" Generating feature " + artifact.getArtifactId() + " from " + artifact);
-            out.println("  <feature name='" + artifact.getArtifactId() + "'>");
-            currentFeature.clear();
-            writeBundle(out, artifact);
-            features.add(artifact);
-            out.println("  </feature>");
-        }
-        if (missingBundles.size() > 0) {
-        	getLog().info("-- Some bundles were missing  --");
-        	for (Artifact artifact : missingBundles) {
-        		getLog().info(String.format(" %s", artifact));
-        	}
-        }
-    }
-
-    private void writeBundle(PrintStream out, Artifact artifact) {
-    	Artifact replacement = getReplacement(artifact);
-    	if (replacement != null) {
-    		writeBundle(out, replacement);
-    		return;
-    	}
-        if (isProvided(artifact)) {
-            getLog().debug(String.format("Skipping '%s' -- bundle will be provided at runtime", artifact));
-            return;
-        }
-        if (features.contains(artifact)) {
-            // if we already created a feature for this one, just add that instead of the bundle
-            out.println(String.format("    <feature>%s</feature>", artifact.getArtifactId()));
-            return;
-        }
-        // first write the dependencies
-        for (Artifact dependency : getDependencies(artifact)) {
-            if (dependency.isOptional() || Artifact.SCOPE_TEST.equals(dependency.getScope())) {
-                // omit optional dependencies
-                getLog().debug(String.format("Omitting optional and/or test scoped dependency '%s' for '%s'", 
-                                             dependency, artifact));
-                continue;
-            }
-            getLog().debug(String.format("Adding '%s' as a dependency for '%s'", dependency, artifact));
-            writeBundle(out, dependency);
-        }
-        // skip the bundle if it was already added to this feature previously
-        if (!currentFeature.add(artifact)) {
-            getLog().debug(String.format("Artifact '%s' was already added to the current feature", artifact));
-            return;
-        }
-        // and then write the bundle itself
-        if (isBundle(artifact)) {
-        	getLog().info(String.format("  adding bundle %s", artifact));
-            writeBundle(out, artifact.getGroupId(), artifact.getArtifactId(), artifact.getBaseVersion());
-        } else {
-            Artifact wrapper = findServicemixBundle(artifact);
-            if (wrapper != null) {
-            	getLog().info(String.format("  adding bundle %s (for %s)", wrapper, artifact));
-            	writeBundle(out, wrapper.getGroupId(), wrapper.getArtifactId(), wrapper.getBaseVersion());
-            } else {
-            	getLog().error(String.format(" unable to find suitable bundle for artifact '%s'", artifact));
-            	missingBundles.add(artifact);
-            }
-        }
-    }
-
-	private Artifact getReplacement(Artifact artifact) {
-		String key = String.format("%s/%s", artifact.getGroupId(), artifact.getArtifactId());
-		String bundle = null;
-		for (VersionRange range : translations.get(key).keySet()) {
-			try {
-				if (range.containsVersion(artifact.getSelectedVersion())) {
-					bundle = translations.get(key).get(range);
-					break;
-				}
-			} catch (OverConstrainedVersionException e) {
-				bundle = null;
-			}
-		}
-		if (bundle != null) {
-			String[] split = bundle.split("/");
-			return factory.createArtifact(split[0], split[1], split[2], Artifact.SCOPE_PROVIDED, artifact.getArtifactHandler().getPackaging());
-		} else {
-			return null;
-		}
-	}
-
-	private Artifact findServicemixBundle(Artifact artifact) {
-        Artifact noVersionWrapper = factory.createArtifact("org.apache.servicemix.bundles", 
-                                                  "org.apache.servicemix.bundles." + artifact.getArtifactId(), 
-                                                  "", 
-                                                  artifact.getScope(), artifact.getType());
-        try {
-            List versions = artifactMetadataSource.retrieveAvailableVersions(noVersionWrapper, localRepo, remoteRepos);
-            Artifact wrapper = factory.createArtifact("org.apache.servicemix.bundles", 
-                                                      "org.apache.servicemix.bundles." + artifact.getArtifactId(), 
-                                                      getBestVersionForArtifact(artifact, versions), 
-                                                      artifact.getScope(), artifact.getType());
-            // let's check if the servicemix bundle for this artifact exists
-            resolver.resolve(wrapper, remoteRepos, localRepo);
-            for (Artifact dependency : getDependencies(wrapper)) {
-                //some of these wrapper bundles provide for multiple JAR files, no need to include any of them after adding the wrapper
-                getLog().debug(String.format("'%s' also provides '%s'", wrapper, dependency));
-                currentFeature.add(dependency);
-            }
-            return wrapper;
-        } catch (ArtifactResolutionException e) {
-            getLog().debug("Couldn't find a ServiceMix bundle for " + artifact, e);
-        } catch (ArtifactNotFoundException e) {
-            getLog().debug("Couldn't find a ServiceMix bundle for " + artifact, e);
-        } catch (ArtifactMetadataRetrievalException e) {
-            getLog().debug("Couldn't find a ServiceMix bundle for " + artifact, e);
-        }
-        if (artifact.getArtifactId().contains("-")) {
-            //let's try to see if we can't find a bundle wrapping multiple artifacts (e.g. mina -> mina-core, mina-codec, ...)
-            return findServicemixBundle(factory.createArtifact(artifact.getGroupId(), artifact.getArtifactId().split("-")[0], 
-                                                               artifact.getVersion(), artifact.getScope(), artifact.getType()));
-        } else {
-            return null;
-        }
-    }
-
-    protected String getBestVersionForArtifact(Artifact artifact, List<ArtifactVersion> versions) throws ArtifactMetadataRetrievalException {
-        if (versions.size() == 0) {
-            throw new ArtifactMetadataRetrievalException("No wrapper bundle available for " + artifact);
-        }
-        Collections.sort(versions, Collections.reverseOrder());
-        //check for same version
-        for (ArtifactVersion version : versions) {
-            if (version.toString().startsWith(artifact.getVersion())) {
-                return version.toString();
-            }
-        }
-        //check for same major/minor version
-        for (ArtifactVersion version : versions) {
-            String[] elements = version.toString().split("\\.");
-            if (elements.length >= 2 && artifact.getVersion().startsWith(elements[0] + "." + elements[1])) {
-                return version.toString();
-            }
-        }
-        throw new ArtifactMetadataRetrievalException("No suitable version found for " + artifact + " wrapper bundle");
-    }
-
-    private boolean isProvided(Artifact bundle) {
-        for (Artifact artifact : provided) {
-            if (bundle.getArtifactId().equals(artifact.getArtifactId())
-                && bundle.getGroupId().equals(artifact.getGroupId())) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    private boolean isBundle(Artifact artifact) {
-        if (artifact.getArtifactHandler().getPackaging().equals("bundle")) {
-            return true;
-        } else {
-            try {
-                resolver.resolve(artifact, remoteRepos, localRepo);
-                ZipFile file = new ZipFile(artifact.getFile());
-                ZipEntry entry = file.getEntry("META-INF/MANIFEST.MF");
-                Manifest manifest = new Manifest(file.getInputStream(entry));
-                if (manifest.getBsn() != null) {
-                    getLog().debug(String.format("MANIFEST.MF for '%s' contains Bundle-Name '%s'",
-                                                 artifact, manifest.getBsn().getName()));
-                    return true;
-                }
-            } catch (ZipException e) {
-                getLog().warn("Unable to determine if " + artifact + " is a bundle; defaulting to false", e);
-            } catch (IOException e) {
-                getLog().warn("Unable to determine if " + artifact + " is a bundle; defaulting to false", e);
-            } catch (Exception e) {
-                getLog().warn("Unable to determine if " + artifact + " is a bundle; defaulting to false", e);
-            }
-        }
-        return false;
-    }
-
-    private List<Artifact> getDependencies(Artifact artifact) {
-        List<Artifact> list = new ArrayList<Artifact>();
-        try {
-            ResolutionGroup pom = artifactMetadataSource.retrieve(artifact, localRepo, remoteRepos);
-            if (pom != null) {
-            	list.addAll(pom.getArtifacts());
-            }
-        } catch (ArtifactMetadataRetrievalException e) {
-            getLog().warn("Unable to retrieve metadata for " + artifact + ", not including dependencies for it");
-        } catch (InvalidArtifactRTException e) {
-            getLog().warn("Unable to retrieve metadata for " + artifact + ", not including dependencies for it");
-        }
-        return list;
-    }
-
-
-    private void writeCurrentProjectFeature(PrintStream out) {
-        out.println("  <feature name='" + featureName + "'>");
-
-        writeBundle(out, project.getGroupId(), project.getArtifactId(), project.getVersion());
-        out.println();
-
-        Iterator iterator = project.getDependencies().iterator();
-        while (iterator.hasNext()) {
-            Dependency dependency = (Dependency)iterator.next();
-
-            if (isValidDependency(dependency)) {
-                out.print("  ");
-                writeBundle(out, dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion());
-            }
-        }
-
-        out.println("  </feature>");
-    }
-
-    protected boolean isValidDependency(Dependency dependency) {
-        // TODO filter out only compile time dependencies which are OSGi
-        // bundles?
-        return true;
-    }
-
-    protected void writeBundle(PrintStream out, String groupId, String artifactId, String version) {
-        out.print("    <bundle>mvn:");
-        out.print(groupId);
-        out.print("/");
-        out.print(artifactId);
-        out.print("/");
-        out.print(version);
-        out.print("</bundle>");
-        out.println();
-    }
-}
diff --git a/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/GenerateFeaturesXmlMojo.java b/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/GenerateFeaturesXmlMojo.java
deleted file mode 100644
index dcf5e2c..0000000
--- a/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/GenerateFeaturesXmlMojo.java
+++ /dev/null
@@ -1,578 +0,0 @@
-/**
- *
- * 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.
- */
-package org.apache.servicemix.tooling.features;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.PrintStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.Stack;
-import java.util.zip.ZipException;
-import java.util.zip.ZipFile;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.InvalidArtifactRTException;
-import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
-import org.apache.maven.artifact.metadata.ResolutionGroup;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.resolver.DefaultArtifactCollector;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.shared.dependency.tree.DependencyNode;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException;
-import org.apache.maven.shared.dependency.tree.traversal.DependencyNodeVisitor;
-import org.osgi.impl.bundle.obr.resource.Manifest;
-import org.osgi.impl.bundle.obr.resource.ManifestEntry;
-import org.osgi.impl.bundle.obr.resource.VersionRange;
-
-/**
- * Generates the features XML file
- * 
- * @version $Revision: 1.1 $
- * @goal generate-features-xml
- * @phase compile
- * @execute phase="compile"
- * @requiresDependencyResolution runtime
- * @inheritByDefault true
- * @description Generates the features XML file
- */
-@SuppressWarnings("unchecked")
-public class GenerateFeaturesXmlMojo extends MojoSupport {
-    protected static final String SEPARATOR = "/";
-    
-    /**
-     * The dependency tree builder to use.
-     * 
-     * @component
-     * @required
-     * @readonly
-     */
-    private DependencyTreeBuilder dependencyTreeBuilder;
-
-    /**
-     * The file to generate
-     * 
-     * @parameter default-value="${project.build.directory}/classes/feature.xml"
-     */
-    private File outputFile;
-
-    /**
-     * The artifact type for attaching the generated file to the project
-     * 
-     * @parameter default-value="xml"
-     */
-    private String attachmentArtifactType = "xml";
-
-    /**
-     * The artifact classifier for attaching the generated file to the project
-     * 
-     * @parameter default-value="features"
-     */
-    private String attachmentArtifactClassifier = "features";
-
-    /**
-     * The kernel version for which to generate the bundle
-     * 
-     * @parameter
-     */
-    private String kernelVersion;
-    
-    /*
-     * A list of packages exported by the kernel
-     */
-    private Map<String, VersionRange> kernelExports = new HashMap<String, VersionRange>();
-
-    /**
-     * A file containing the list of bundles
-     * 
-     * @parameter
-     */
-    private File bundles;
-
-    /*
-     * A set of known bundles
-     */
-    private Set<String> knownBundles = new HashSet<String>();
-    
-    /*
-     * A list of exports by the bundles
-     */
-    private Map<String, Map<VersionRange, Artifact>> bundleExports = new HashMap<String, Map<VersionRange, Artifact>>();
-
-    /*
-     * The set of system exports
-     */
-    private List<String> systemExports = new LinkedList<String>();
-    
-    /*
-     * These bundles are the features that will be built
-     */
-    private Map<Artifact, Feature> features = new HashMap<Artifact, Feature>();
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        PrintStream out = null;
-        try {
-            out = new PrintStream(new FileOutputStream(outputFile));
-            readSystemPackages();
-            readKernelBundles();
-            readBundles();
-            discoverBundles();
-            writeFeatures(out);
-            // now lets attach it
-            projectHelper.attachArtifact(project, attachmentArtifactType, attachmentArtifactClassifier, outputFile);
-        } catch (Exception e) {
-            getLog().error(e);
-            throw new MojoExecutionException("Unable to create features.xml file: " + e, e);
-        } finally {
-            if (out != null) {
-                out.close();
-            }
-        }
-    }
-    
-	/*
-     * Read all the system provided packages from the <code>config.properties</code> file 
-     */
-    private void readSystemPackages() throws IOException {
-        Properties properties = new Properties();
-        properties.load(getClass().getClassLoader().getResourceAsStream("config.properties"));
-        readSystemPackages(properties, "jre-1.5");
-        readSystemPackages(properties, "osgi");
-    }
-
-    
-    private void readSystemPackages(Properties properties, String key) {
-        String packages = (String) properties.get(key);
-        for (String pkg : packages.split(";")) {
-            systemExports.add(pkg.trim());
-        }
-    }
-
-    /*
-     * Download a Kernel distro and check the list of bundles provided by the Kernel
-     */
-    private void readKernelBundles() throws ArtifactResolutionException, ArtifactNotFoundException, MojoExecutionException,
-        ZipException, IOException, DependencyTreeBuilderException {
-        final Collection<Artifact> kernelArtifacts;
-        if (kernelVersion == null) {
-           getLog().info("Step 1: Building list of provided bundle exports");
-           kernelArtifacts = new HashSet<Artifact>();
-           DependencyNode tree = dependencyTreeBuilder.buildDependencyTree(project, localRepo, factory, artifactMetadataSource, new ArtifactFilter() {
-
-            public boolean include(Artifact artifact) {
-                return true;
-            }
-               
-           }, new DefaultArtifactCollector());
-           tree.accept(new DependencyNodeVisitor() {
-                public boolean endVisit(DependencyNode node) {
-                    // we want the next sibling too
-                    return true;
-                }
-                public boolean visit(DependencyNode node) {
-                    if (node.getState() != DependencyNode.OMITTED_FOR_CONFLICT) {
-                        Artifact artifact = node.getArtifact();
-                        if (Artifact.SCOPE_PROVIDED.equals(artifact.getScope()) && !artifact.getType().equals("pom")) {
-                            kernelArtifacts.add(artifact);
-                        }
-                    }
-                    // we want the children too
-                    return true;
-                }
-            });
-        } else {
-            getLog().info("Step 1 : Building list of kernel exports");
-            getLog().warn("Use of 'kernelVersion' is deprecated -- use a dependency with scope 'provided' instead");
-            Artifact kernel = factory.createArtifact("org.apache.servicemix.kernel", "apache-servicemix-kernel", kernelVersion, Artifact.SCOPE_PROVIDED, "pom");
-            resolver.resolve(kernel, remoteRepos, localRepo);
-            kernelArtifacts = getDependencies(kernel);
-        }
-        for (Artifact artifact : kernelArtifacts) {
-            registerKernelBundle(artifact);
-        }
-        getLog().info("...done!");
-    }
-
-    private void registerKernelBundle(Artifact artifact) throws ArtifactResolutionException, ArtifactNotFoundException, ZipException,
-            IOException {
-        Manifest manifest = getManifest(artifact);
-        if (manifest.getExports() != null) {
-            for (ManifestEntry entry : (List<ManifestEntry>)manifest.getExports()) {
-                kernelExports.put(entry.getName(), entry.getVersion());
-                getLog().debug(" adding kernel export " + entry.getName() + " (" + entry.getVersion() + ")");
-            }
-        }
-        registerBundle(artifact);
-    }
-
-    /*
-     * Read the list of bundles we can use to satisfy links
-     */
-    private void readBundles() throws IOException, ArtifactResolutionException, ArtifactNotFoundException {        
-        BufferedReader reader = null;
-        try {
-            if (bundles != null) {
-                getLog().info("Step 2 : Building a list of exports for bundles in " + bundles.getAbsolutePath());
-                reader = new BufferedReader(new FileReader(bundles));
-                String line = reader.readLine();
-                while (line != null) {
-                    if (line.contains("/") && !line.startsWith("#")) {
-                        String[] elements = line.split("/");
-                        Artifact artifact = factory.createArtifact(elements[0], elements[1], elements[2], Artifact.SCOPE_PROVIDED,
-                                                                   elements[3]);
-                        registerBundle(artifact);
-                    }
-                    line = reader.readLine();
-                }                
-            } else {
-                getLog().info("Step 2 : No Bundle file supplied for building list of exports");
-            }
-        } finally {
-            if (reader != null) {
-                reader.close();
-            }
-        }
-        getLog().info("...done!");
-    }
-    
-    /*
-     * Auto-discover bundles currently in the dependencies
-     */
-    private void discoverBundles() throws ArtifactResolutionException, ArtifactNotFoundException, ZipException, IOException {
-    	getLog().info("Step 3 : Discovering bundles in Maven dependencies");
-		for (Artifact dependency : (Set<Artifact>) project.getArtifacts()) {
-			// we will generate a feature for this afterwards
-			if (project.getDependencyArtifacts().contains(dependency)) {
-				continue;
-			}
-			// this is a provided bundle, has been handled in step 1
-			if (dependency.getScope().equals(Artifact.SCOPE_PROVIDED)) {
-			    continue;
-			}
-			if (isDiscoverableBundle(dependency)) {
-				getLog().info("  Discovered " + dependency);
-				registerBundle(dependency);
-			}
-		}
-		getLog().info("...done!");
-	}
-
-    /*
-     * Write all project dependencies as feature
-     */
-    private void writeFeatures(PrintStream out) throws ArtifactResolutionException, ArtifactNotFoundException,
-        ZipException, IOException {
-        getLog().info("Step 4 : Generating " + outputFile.getAbsolutePath());
-        out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
-        out.println("<features>");
-        Set<Artifact> dependencies = (Set<Artifact>)project.getDependencyArtifacts();
-        for (Artifact artifact : dependencies) {
-            if (!artifact.getScope().equals(Artifact.SCOPE_PROVIDED) && !artifact.getType().equals("pom")) {
-                getLog().info(" Generating feature " + artifact.getArtifactId() + " from " + artifact);
-                Feature feature = getFeature(artifact);
-                feature.write(out);
-                registerFeature(artifact, feature);
-            }
-        }
-        out.println("</features>");
-        getLog().info("...done!");
-    }
-
-    /*
-     * Get the feature for an artifact 
-     */
-    private Feature getFeature(Artifact artifact) throws ArtifactResolutionException, ArtifactNotFoundException, ZipException, IOException {
-        Feature feature = new Feature(artifact);
-        addRequirements(artifact, feature);
-        return feature;
-    }
-
-    /*
-     * Only auto-discover an OSGi bundle
-     * - if it is not already known as a feature itself
-     * - if it is not another version of an already known bundle
-     */
-    private boolean isDiscoverableBundle(Artifact artifact) {
-        if (isBundle(artifact) && !isFeature(artifact) && !artifact.getScope().equals(Artifact.SCOPE_PROVIDED)) {
-            for (String known : knownBundles) {
-                String[] elements = known.split("/");
-                if (artifact.getGroupId().equals(elements[0]) &&
-                    artifact.getArtifactId().equals(elements[1])) {
-                    getLog().debug(String.format("  Avoid auto-discovery for %s because of existing bundle %s", 
-                                                 toString(artifact), known));
-                    return false;
-                }
-            }
-            return true;
-        }
-        return false;
-    }
-
-    /*
-     * Check if the given artifact is a bundle
-     */
-    private boolean isBundle(Artifact artifact) {
-        if (knownBundles.contains(toString(artifact)) || artifact.getArtifactHandler().getPackaging().equals("bundle")) {
-            return true;
-        } else {
-            try {
-                Manifest manifest = getManifest(artifact);
-                if (manifest.getBsn() != null) {
-                    getLog().debug(String.format("MANIFEST.MF for '%s' contains Bundle-Name '%s'",
-                                                 artifact, manifest.getBsn().getName()));
-                    return true;
-                }
-            } catch (ZipException e) {
-                getLog().debug("Unable to determine if " + artifact + " is a bundle; defaulting to false", e);
-            } catch (IOException e) {
-                getLog().debug("Unable to determine if " + artifact + " is a bundle; defaulting to false", e);
-            } catch (Exception e) {
-                getLog().debug("Unable to determine if " + artifact + " is a bundle; defaulting to false", e);
-            }
-        }
-        return false;
-     }
-
-    /*
-     * Add requirements for an artifact to a feature
-     */
-    private void addRequirements(Artifact artifact, Feature feature) throws ArtifactResolutionException, ArtifactNotFoundException, ZipException, IOException {
-        Manifest manifest = getManifest(artifact);
-        Collection<ManifestEntry> remaining = getRemainingImports(manifest);
-        Artifact previous = null;
-        for (ManifestEntry entry : remaining) {
-            Artifact add = null;
-            Map<VersionRange, Artifact> versions = bundleExports.get(entry.getName());
-            if (versions != null) {
-                for (VersionRange range : versions.keySet()) {
-                    add = versions.get(range);
-                    if (range.compareTo(entry.getVersion()) == 0) {
-                        add = versions.get(range);
-                    }
-                }
-            }
-            if (add == null) {
-                if (isOptional(entry)) {
-                    // debug logging for optional dependency...
-                    getLog().debug(String.format("  Unable to find suitable bundle for optional dependency %s (%s)", 
-                                                 entry.getName(), entry.getVersion()));
-                } else {
-                    // ...but a warning for a mandatory dependency
-                    getLog().warn(
-                                  String.format("  Unable to find suitable bundle for dependency %s (%s) (required by %s)", 
-                                                entry.getName(), entry.getVersion(), artifact.getArtifactId()));
-                }
-            } else {
-                if (!add.equals(previous) && feature.push(add) && !isFeature(add)) {
-                    //and get requirements for the bundle we just added
-                    getLog().debug("  Getting requirements for " + add);
-                    addRequirements(add, feature);
-                }
-            }
-            previous = add;
-        }
-    }
-
-    /*
-     * Check if a given bundle is itself being generated as a feature
-     */
-    private boolean isFeature(Artifact artifact) {
-        return features.containsKey(artifact);
-    }
-
-    /*
-     * Check a manifest entry and check if the resolution for the import has been marked as optional 
-     */
-    private boolean isOptional(ManifestEntry entry) {
-        return entry.getAttributes() != null && entry.getAttributes().get("resolution:") != null
-               && entry.getAttributes().get("resolution:").equals("optional");
-    }
-
-    /*
-     * Register a bundle, enlisting all packages it provides
-     */
-    private void registerBundle(Artifact artifact) throws ArtifactResolutionException, ArtifactNotFoundException, ZipException,
-        IOException {
-        getLog().debug("Registering bundle " + artifact);
-        knownBundles.add(toString(artifact));
-        Manifest manifest = getManifest(artifact);
-        for (ManifestEntry entry : getManifestEntries(manifest.getExports())) {
-            Map<VersionRange, Artifact> versions = bundleExports.get(entry.getName());
-            if (versions == null) {
-                versions = new HashMap<VersionRange, Artifact>();
-            }
-            versions.put(entry.getVersion(), artifact);
-            getLog().debug(String.format(" %s exported by bundle %s", entry.getName(), artifact));
-            bundleExports.put(entry.getName(), versions);
-        }
-    }
-
-    /*
-     * Register a feature and also register the bundle for the feature
-     */
-    private void registerFeature(Artifact artifact, Feature feature) throws ArtifactResolutionException, ArtifactNotFoundException, ZipException,
-        IOException {
-        features.put(artifact, feature);
-        registerBundle(artifact);
-    }
-
-    /*
-     * Determine the list of imports to be resolved
-     */
-    private Collection<ManifestEntry> getRemainingImports(Manifest manifest) {
-        // take all imports
-        Collection<ManifestEntry> input = getManifestEntries(manifest.getImports());
-        Collection<ManifestEntry> output = new LinkedList<ManifestEntry>(input);
-        // remove imports satisfied by exports in the same bundle
-        for (ManifestEntry entry : input) {
-            for (ManifestEntry export : getManifestEntries(manifest.getExports())) {
-                if (entry.getName().equals(export.getName())) {
-                    output.remove(entry);
-                }
-            }
-        }
-        // remove imports for packages exported by the kernel
-        for (ManifestEntry entry : input) {
-            for (String export : kernelExports.keySet()) {
-                if (entry.getName().equals(export)) {
-                    output.remove(entry);
-                }
-            }
-        }
-        // remove imports for packages exported by the system bundle
-        for (ManifestEntry entry : input) {
-            if (systemExports.contains(entry.getName())) {
-                output.remove(entry);
-            }
-        }
-        return output;
-    }
-
-    private Collection<ManifestEntry> getManifestEntries(List imports) {
-        if (imports == null) {
-            return new LinkedList<ManifestEntry>();
-        } else {
-            return (Collection<ManifestEntry>)imports;
-        }
-    }
-
-    private Manifest getManifest(Artifact artifact) throws ArtifactResolutionException, ArtifactNotFoundException, ZipException,
-        IOException {
-        File localFile = new File(localRepo.pathOf(artifact));
-        ZipFile file;
-        if (localFile.exists()) {
-            //avoid going over to the repository if the file is already on the disk
-            file = new ZipFile(localFile);
-        } else {
-            resolver.resolve(artifact, remoteRepos, localRepo);
-            file = new ZipFile(artifact.getFile());
-        }
-        return new Manifest(file.getInputStream(file.getEntry("META-INF/MANIFEST.MF")));
-    }
-
-    private List<Artifact> getDependencies(Artifact artifact) {
-        List<Artifact> list = new ArrayList<Artifact>();
-        try {
-            ResolutionGroup pom = artifactMetadataSource.retrieve(artifact, localRepo, remoteRepos);
-            if (pom != null) {
-                list.addAll(pom.getArtifacts());
-            }
-        } catch (ArtifactMetadataRetrievalException e) {
-            getLog().warn("Unable to retrieve metadata for " + artifact + ", not including dependencies for it");
-        } catch (InvalidArtifactRTException e) {
-            getLog().warn("Unable to retrieve metadata for " + artifact + ", not including dependencies for it");
-        }
-        return list;
-    }
-    
-    public static String toString(Artifact artifact) {
-        return String.format("%s/%s/%s", artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion());
-    }
-
-    private class Feature {
-
-        private Stack<Artifact> artifacts = new Stack<Artifact>();
-        private final Artifact artifact;
-        
-        private Feature(Artifact artifact) {
-            super();
-            this.artifact = artifact;
-            artifacts.push(artifact);
-        }
-
-        public boolean push(Artifact item) {
-            if (artifacts.contains(item)) {
-                artifacts.remove(item);
-                artifacts.push(item);
-                return false;
-            }
-            if (!artifacts.contains(item)) {
-                artifacts.push(item);
-                return true;
-            }
-            return false;
-        }
-
-        public void write(PrintStream out) {
-            out.println("  <feature name='" + artifact.getArtifactId() + "' version='"
-            		+ artifact.getBaseVersion() + "'>");
-            
-            Stack<Artifact> resulting = new Stack<Artifact>();
-            resulting.addAll(artifacts);
-
-            // remove dependencies for included features
-            for (Artifact next : artifacts) {
-                if (isFeature(next)) {
-                    resulting.removeAll(features.get(next).getDependencies());
-                }
-            }
-            
-            while (!resulting.isEmpty()) {
-            	Artifact next = resulting.pop();
-                if (isFeature(next)) {
-                    out.println("    <feature version='"
-            		+ next.getBaseVersion() + "'>" + String.format("%s</feature>", next.getArtifactId()));
-                } else {
-            		out.println(String.format("    <bundle>mvn:%s/%s/%s</bundle>", 
-                            next.getGroupId(), next.getArtifactId(), next.getBaseVersion()));
-                }
-            }
-            out.println("  </feature>");
-        }
-        
-        public List<Artifact> getDependencies() {
-            List<Artifact> dependencies = new LinkedList<Artifact>(artifacts);
-            dependencies.remove(artifact);
-            return dependencies;
-        }
-    }
-}
diff --git a/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/GraphArtifactCollector.java b/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/GraphArtifactCollector.java
deleted file mode 100644
index 2c3d93c..0000000
--- a/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/GraphArtifactCollector.java
+++ /dev/null
@@ -1,435 +0,0 @@
-/**
- *
- * 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.
- */
-package org.apache.servicemix.tooling.features;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
-import org.apache.maven.artifact.metadata.ResolutionGroup;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactCollector;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
-import org.apache.maven.artifact.resolver.CyclicDependencyException;
-import org.apache.maven.artifact.resolver.ResolutionListener;
-import org.apache.maven.artifact.resolver.ResolutionNode;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.artifact.versioning.ArtifactVersion;
-import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
-import org.apache.maven.artifact.versioning.VersionRange;
-
-/**
- * @version $Revision: 1.1 $
- */
-public class GraphArtifactCollector implements ArtifactCollector {
-    public ArtifactResolutionResult collect(
-            Set artifacts,
-            Artifact originatingArtifact,
-            ArtifactRepository localRepository,
-            List remoteRepositories,
-            ArtifactMetadataSource source,
-            ArtifactFilter filter,
-            List listeners) throws ArtifactResolutionException {
-        return collect(artifacts, originatingArtifact, Collections.EMPTY_MAP,
-                localRepository, remoteRepositories, source, filter, listeners);
-    }
-
-    public ArtifactResolutionResult collect(
-            Set artifacts,
-            Artifact originatingArtifact,
-            Map managedVersions,
-            ArtifactRepository localRepository,
-            List remoteRepositories,
-            ArtifactMetadataSource source,
-            ArtifactFilter filter,
-            List listeners) throws ArtifactResolutionException {
-        Map resolvedArtifacts = new HashMap();
-
-        ResolutionNode root = new ResolutionNode(originatingArtifact, remoteRepositories);
-        root.addDependencies(artifacts, remoteRepositories, filter);
-        recurse(root, resolvedArtifacts, managedVersions, localRepository,
-                remoteRepositories, source, filter, listeners);
-
-        Set set = new HashSet();
-        for (Iterator i = resolvedArtifacts.values().iterator(); i.hasNext();) {
-            List nodes = (List) i.next();
-            for (Iterator j = nodes.iterator(); j.hasNext();) {
-                ResolutionNode node = (ResolutionNode) j.next();
-                Artifact artifact = node.getArtifact();
-                if (!node.equals(root) && node.isActive() && node.filterTrail(filter)
-                        // If it was optional and not a direct dependency,
-                        // we don't add it or its children, just allow the
-                        // update of the version and scope
-                        && (node.isChildOfRootNode() || !artifact.isOptional())) {
-                    artifact.setDependencyTrail(node.getDependencyTrail());
-                    set.add(node);
-                }
-            }
-        }
-
-        ArtifactResolutionResult result = new ArtifactResolutionResult();
-        result.setArtifactResolutionNodes(set);
-        return result;
-    }
-
-    private void recurse(
-            ResolutionNode node,
-            Map resolvedArtifacts,
-            Map managedVersions,
-            ArtifactRepository localRepository,
-            List remoteRepositories,
-            ArtifactMetadataSource source,
-            ArtifactFilter filter,
-            List listeners) throws CyclicDependencyException, ArtifactResolutionException,
-            OverConstrainedVersionException {
-        fireEvent(ResolutionListener.TEST_ARTIFACT, listeners, node);
-
-        // TODO: use as a conflict resolver
-        Object key = node.getKey();
-        if (managedVersions.containsKey(key)) {
-            Artifact artifact = (Artifact) managedVersions.get(key);
-            fireEvent(ResolutionListener.MANAGE_ARTIFACT, listeners, node, artifact);
-            if (artifact.getVersion() != null) {
-                node.getArtifact().setVersion(artifact.getVersion());
-            }
-            if (artifact.getScope() != null) {
-                node.getArtifact().setScope(artifact.getScope());
-            }
-        }
-
-        List previousNodes = (List) resolvedArtifacts.get(key);
-        if (previousNodes != null) {
-            node = checkPreviousNodes(node, listeners, previousNodes);
-        }
-        else {
-            previousNodes = new ArrayList();
-            resolvedArtifacts.put(key, previousNodes);
-        }
-        previousNodes.add(node);
-
-        if (node.isActive()) {
-            fireEvent(ResolutionListener.INCLUDE_ARTIFACT, listeners, node);
-        }
-
-        // don't pull in the transitive deps of a system-scoped dependency.
-        if (node.isActive() && !Artifact.SCOPE_SYSTEM.equals(node.getArtifact().getScope())) {
-            fireEvent(ResolutionListener.PROCESS_CHILDREN, listeners, node);
-            for (Iterator i = node.getChildrenIterator(); i.hasNext();) {
-                ResolutionNode child = (ResolutionNode) i.next();
-                // We leave in optional ones, but don't pick up its dependencies
-                if (!child.isResolved()
-                        && (!child.getArtifact().isOptional() || child.isChildOfRootNode())) {
-                    Artifact artifact = child.getArtifact();
-                    try {
-                        if (artifact.getVersion() == null) {
-                            // set the recommended version
-                            // TODO: maybe its better to just pass the range
-                            // through to retrieval and use a transformation?
-                            ArtifactVersion version;
-                            version = getArtifactVersion(localRepository, remoteRepositories, source, artifact);
-
-                            artifact.selectVersion(version.toString());
-                            fireEvent(ResolutionListener.SELECT_VERSION_FROM_RANGE,
-                                    listeners, child);
-                        }
-
-                        ResolutionGroup rGroup = source.retrieve(artifact,
-                                localRepository, remoteRepositories);
-
-                        // TODO might be better to have source.retreive() throw
-                        // a specific exception for this situation
-                        // and catch here rather than have it return null
-                        if (rGroup == null) {
-                            // relocated dependency artifact is declared
-                            // excluded, no need to add and recurse further
-                            continue;
-                        }
-
-                        child.addDependencies(rGroup.getArtifacts(),
-                                rGroup.getResolutionRepositories(), filter);
-                    }
-                    catch (CyclicDependencyException e) {
-                        // would like to throw this, but we have crappy stuff in
-                        // the repo
-
-                        fireEvent(ResolutionListener.OMIT_FOR_CYCLE, listeners,
-                                new ResolutionNode(e.getArtifact(), remoteRepositories, child));
-                    }
-                    catch (ArtifactMetadataRetrievalException e) {
-                        artifact.setDependencyTrail(node.getDependencyTrail());
-                        throw new ArtifactResolutionException(
-                                "Unable to get dependency information: "
-                                        + e.getMessage(), artifact, e);
-                    }
-
-                    recurse(child, resolvedArtifacts, managedVersions,
-                            localRepository, remoteRepositories, source,
-                            filter, listeners);
-                }
-            }
-            fireEvent(ResolutionListener.FINISH_PROCESSING_CHILDREN, listeners,
-                    node);
-        }
-    }
-
-    private ArtifactVersion getArtifactVersion(
-            ArtifactRepository localRepository,
-            List remoteRepositories,
-            ArtifactMetadataSource source,
-            Artifact artifact) throws OverConstrainedVersionException,
-            ArtifactMetadataRetrievalException {
-        ArtifactVersion version;
-        if (!artifact.isSelectedVersionKnown()) {
-            List versions = artifact.getAvailableVersions();
-            if (versions == null) {
-                versions = source.retrieveAvailableVersions(
-                        artifact, localRepository,
-                        remoteRepositories);
-                artifact.setAvailableVersions(versions);
-            }
-
-            VersionRange versionRange = artifact.getVersionRange();
-
-            version = versionRange.matchVersion(versions);
-
-            if (version == null) {
-                if (versions.isEmpty()) {
-                    throw new OverConstrainedVersionException(
-                            "No versions are present in the repository for the artifact with a range "
-                                    + versionRange, artifact, remoteRepositories);
-                }
-                else {
-                    throw new OverConstrainedVersionException(
-                            "Couldn't find a version in "
-                                    + versions
-                                    + " to match range "
-                                    + versionRange,
-                            artifact, remoteRepositories);
-                }
-            }
-        }
-        else {
-            version = artifact.getSelectedVersion();
-        }
-        return version;
-    }
-
-    private ResolutionNode checkPreviousNodes(
-            ResolutionNode node,
-            List listeners,
-            List previousNodes) throws OverConstrainedVersionException {
-        for (Iterator i = previousNodes.iterator(); i.hasNext();) {
-            ResolutionNode previous = (ResolutionNode) i.next();
-            if (previous.isActive()) {
-                // Version mediation
-                VersionRange previousRange = previous.getArtifact().getVersionRange();
-                VersionRange currentRange = node.getArtifact().getVersionRange();
-                // TODO: why do we force the version on it? what if they
-                // don't match?
-                if (previousRange == null) {
-                    // version was already resolved
-                    node.getArtifact().setVersion(previous.getArtifact().getVersion());
-                }
-                else if (currentRange == null) {
-                    // version was already resolved
-                    previous.getArtifact().setVersion(node.getArtifact().getVersion());
-                }
-                else {
-                    // TODO: shouldn't need to double up on this work, only
-                    // done for simplicity of handling recommended
-                    // version but the restriction is identical
-                    VersionRange newRange = previousRange.restrict(currentRange);
-                    // TODO: ick. this forces the OCE that should have come
-                    // from the previous call. It is still correct
-                    if (newRange.isSelectedVersionKnown(previous.getArtifact())) {
-                        fireEvent(ResolutionListener.RESTRICT_RANGE,
-                                listeners, node, previous.getArtifact(),
-                                newRange);
-                    }
-                    previous.getArtifact().setVersionRange(newRange);
-                    node.getArtifact().setVersionRange(
-                            currentRange.restrict(previousRange));
-
-                    // Select an appropriate available version from the (now
-                    // restricted) range
-                    // Note this version was selected before to get the
-                    // appropriate POM
-                    // But it was reset by the call to setVersionRange on
-                    // restricting the version
-                    ResolutionNode[] resetNodes = {previous, node};
-                    for (int j = 0; j < 2; j++) {
-                        Artifact resetArtifact = resetNodes[j]
-                                .getArtifact();
-                        if (resetArtifact.getVersion() == null
-                                && resetArtifact.getVersionRange() != null
-                                && resetArtifact.getAvailableVersions() != null) {
-
-                            resetArtifact
-                                    .selectVersion(resetArtifact
-                                            .getVersionRange()
-                                            .matchVersion(
-                                                    resetArtifact
-                                                            .getAvailableVersions())
-                                            .toString());
-                            fireEvent(ResolutionListener.SELECT_VERSION_FROM_RANGE,
-                                    listeners, resetNodes[j]);
-                        }
-                    }
-                }
-
-                // Conflict Resolution
-                // TODO: use as conflict resolver(s), chain
-
-                // TODO: should this be part of mediation?
-                // previous one is more dominant
-                if (previous.getDepth() <= node.getDepth()) {
-                    checkScopeUpdate(node, previous, listeners);
-                }
-                else {
-                    checkScopeUpdate(previous, node, listeners);
-                }
-
-                if (previous.getDepth() <= node.getDepth()) {
-                    // previous was nearer
-                    fireEvent(ResolutionListener.OMIT_FOR_NEARER,
-                            listeners, node, previous.getArtifact());
-                    node.disable();
-                    node = previous;
-                }
-                else {
-                    fireEvent(ResolutionListener.OMIT_FOR_NEARER,
-                            listeners, previous, node.getArtifact());
-                    previous.disable();
-                }
-            }
-        }
-        return node;
-    }
-
-    private void checkScopeUpdate(ResolutionNode farthest,
-            ResolutionNode nearest, List listeners) {
-        boolean updateScope = false;
-        Artifact farthestArtifact = farthest.getArtifact();
-        Artifact nearestArtifact = nearest.getArtifact();
-
-        if (Artifact.SCOPE_RUNTIME.equals(farthestArtifact.getScope())
-                && (Artifact.SCOPE_TEST.equals(nearestArtifact.getScope()) || Artifact.SCOPE_PROVIDED
-                .equals(nearestArtifact.getScope()))) {
-            updateScope = true;
-        }
-
-        if (Artifact.SCOPE_COMPILE.equals(farthestArtifact.getScope())
-                && !Artifact.SCOPE_COMPILE.equals(nearestArtifact.getScope())) {
-            updateScope = true;
-        }
-
-        // current POM rules all
-        if (nearest.getDepth() < 2 && updateScope) {
-            updateScope = false;
-
-            fireEvent(ResolutionListener.UPDATE_SCOPE_CURRENT_POM, listeners,
-                    nearest, farthestArtifact);
-        }
-
-        if (updateScope) {
-            fireEvent(ResolutionListener.UPDATE_SCOPE, listeners, nearest,
-                    farthestArtifact);
-
-            // previously we cloned the artifact, but it is more effecient to
-            // just update the scope
-            // if problems are later discovered that the original object needs
-            // its original scope value, cloning may
-            // again be appropriate
-            nearestArtifact.setScope(farthestArtifact.getScope());
-        }
-    }
-
-    private void fireEvent(int event, List listeners, ResolutionNode node) {
-        fireEvent(event, listeners, node, null);
-    }
-
-    private void fireEvent(int event, List listeners, ResolutionNode node,
-            Artifact replacement) {
-        fireEvent(event, listeners, node, replacement, null);
-    }
-
-    private void fireEvent(int event, List listeners, ResolutionNode node,
-            Artifact replacement, VersionRange newRange) {
-        for (Iterator i = listeners.iterator(); i.hasNext();) {
-            ResolutionListener listener = (ResolutionListener) i.next();
-
-            switch (event) {
-                case ResolutionListener.TEST_ARTIFACT:
-                    listener.testArtifact(node.getArtifact());
-                    break;
-                case ResolutionListener.PROCESS_CHILDREN:
-                    listener.startProcessChildren(node.getArtifact());
-                    break;
-                case ResolutionListener.FINISH_PROCESSING_CHILDREN:
-                    listener.endProcessChildren(node.getArtifact());
-                    break;
-                case ResolutionListener.INCLUDE_ARTIFACT:
-                    listener.includeArtifact(node.getArtifact());
-                    break;
-                case ResolutionListener.OMIT_FOR_NEARER:
-                    String version = node.getArtifact().getVersion();
-                    String replacementVersion = replacement.getVersion();
-                    if (version != null ? !version.equals(replacementVersion)
-                            : replacementVersion != null) {
-                        listener.omitForNearer(node.getArtifact(), replacement);
-                    }
-                    break;
-                case ResolutionListener.OMIT_FOR_CYCLE:
-                    listener.omitForCycle(node.getArtifact());
-                    break;
-                case ResolutionListener.UPDATE_SCOPE:
-                    listener
-                            .updateScope(node.getArtifact(), replacement.getScope());
-                    break;
-                case ResolutionListener.UPDATE_SCOPE_CURRENT_POM:
-                    listener.updateScopeCurrentPom(node.getArtifact(), replacement
-                            .getScope());
-                    break;
-                case ResolutionListener.MANAGE_ARTIFACT:
-                    listener.manageArtifact(node.getArtifact(), replacement);
-                    break;
-                case ResolutionListener.SELECT_VERSION_FROM_RANGE:
-                    listener.selectVersionFromRange(node.getArtifact());
-                    break;
-                case ResolutionListener.RESTRICT_RANGE:
-                    if (node.getArtifact().getVersionRange().hasRestrictions()
-                            || replacement.getVersionRange().hasRestrictions()) {
-                        listener.restrictRange(node.getArtifact(), replacement,
-                                newRange);
-                    }
-                    break;
-                default:
-                    throw new IllegalStateException("Unknown event: " + event);
-            }
-        }
-    }
-}
diff --git a/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/MojoSupport.java b/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/MojoSupport.java
deleted file mode 100644
index 0d2af3e..0000000
--- a/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/MojoSupport.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/**
- *
- * 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.
- */
-package org.apache.servicemix.tooling.features;
-
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactCollector;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
-import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.artifact.versioning.VersionRange;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.DependencyManagement;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectBuilder;
-import org.apache.maven.project.MavenProjectHelper;
-import org.apache.maven.project.ProjectBuildingException;
-
-/**
- * @version $Revision: 1.1 $
- */
-public abstract class MojoSupport extends AbstractMojo {
-
-    /**
-     * Maven ProjectHelper
-     *
-     * @component
-     */
-    protected MavenProjectHelper projectHelper;
-
-    /**
-     * The maven project.
-     *
-     * @parameter expression="${project}"
-     * @required
-     * @readonly
-     */
-    protected MavenProject project;
-
-    /**
-     * Directory that resources are copied to during the build.
-     *
-     * @parameter expression="${project.build.directory}/${project.artifactId}-${project.version}-installer"
-     * @required
-     */
-    protected File workDirectory;
-
-    /**
-     * @component
-     */
-    protected MavenProjectBuilder projectBuilder;
-
-    /**
-     * @parameter default-value="${localRepository}"
-     */
-    protected ArtifactRepository localRepo;
-
-    /**
-     * @parameter default-value="${project.remoteArtifactRepositories}"
-     */
-    protected List remoteRepos;
-
-    /**
-     * @component
-     */
-    protected ArtifactMetadataSource artifactMetadataSource;
-
-    /**
-     * @component
-     */
-    protected ArtifactResolver resolver;
-
-    protected ArtifactCollector collector = new GraphArtifactCollector();
-
-    /**
-     * @component
-     */
-    protected ArtifactFactory factory;
-
-    protected MavenProject getProject() {
-        return project;
-    }
-
-    protected File getWorkDirectory() {
-        return workDirectory;
-    }
-
-    public MavenProjectHelper getProjectHelper() {
-        return projectHelper;
-    }
-
-    protected void removeBranch(ResolutionListenerImpl listener,
-            Artifact artifact) {
-        Node n = listener.getNode(artifact);
-        if (n != null) {
-            for (Iterator it = n.getParents().iterator(); it.hasNext();) {
-                Node parent = (Node) it.next();
-                parent.getChildren().remove(n);
-            }
-        }
-    }
-
-    protected void removeChildren(ResolutionListenerImpl listener,
-            Artifact artifact) {
-        Node n = listener.getNode(artifact);
-        n.getChildren().clear();
-    }
-
-    protected Set getArtifacts(Node n, Set s) {
-        if (!s.contains(n.getArtifact())) {
-            s.add(n.getArtifact());
-            for (Iterator iter = n.getChildren().iterator(); iter.hasNext();) {
-                Node c = (Node) iter.next();
-                getArtifacts(c, s);
-            }
-        }
-        return s;
-    }
-
-    protected void excludeBranch(Node n, Set excludes) {
-        excludes.add(n);
-        for (Iterator iter = n.getChildren().iterator(); iter.hasNext();) {
-            Node c = (Node) iter.next();
-            excludeBranch(c, excludes);
-        }
-    }
-
-    protected void print(Node rootNode) {
-        for (Iterator iter = getArtifacts(rootNode, new HashSet()).iterator(); iter.hasNext();) {
-            Artifact a = (Artifact) iter.next();
-            getLog().info(" " + a);
-        }
-    }
-
-    protected Set retainArtifacts(Set includes, ResolutionListenerImpl listener) {
-        Set finalIncludes = new HashSet();
-        Set filteredArtifacts = getArtifacts(listener.getRootNode(),
-                new HashSet());
-        for (Iterator iter = includes.iterator(); iter.hasNext();) {
-            Artifact artifact = (Artifact) iter.next();
-            for (Iterator iter2 = filteredArtifacts.iterator(); iter2.hasNext();) {
-                Artifact filteredArtifact = (Artifact) iter2.next();
-                if (filteredArtifact.getArtifactId().equals(
-                        artifact.getArtifactId())
-                        && filteredArtifact.getType()
-                                .equals(artifact.getType())
-                        && filteredArtifact.getGroupId().equals(
-                                artifact.getGroupId())) {
-                    if (!filteredArtifact.getVersion().equals(
-                            artifact.getVersion())) {
-                        getLog()
-                                .warn(
-                                        "Resolved artifact "
-                                                + artifact
-                                                + " has a different version from that in dependency management "
-                                                + filteredArtifact
-                                                + ", overriding dependency management");
-                    }
-                    finalIncludes.add(artifact);
-                }
-            }
-
-        }
-
-        return finalIncludes;
-    }
-
-    protected ResolutionListenerImpl resolveProject() {
-        Map managedVersions = null;
-        try {
-            managedVersions = createManagedVersionMap(project.getId(), project
-                    .getDependencyManagement());
-        } catch (ProjectBuildingException e) {
-            getLog().error(
-                    "An error occurred while resolving project dependencies.",
-                    e);
-        }
-        ResolutionListenerImpl listener = new ResolutionListenerImpl();
-        listener.setLog(getLog());
-        try {
-            collector.collect(project.getDependencyArtifacts(), project
-                    .getArtifact(), managedVersions, localRepo, remoteRepos,
-                    artifactMetadataSource, null, Collections
-                            .singletonList(listener));
-        } catch (ArtifactResolutionException e) {
-            getLog().error(
-                    "An error occurred while resolving project dependencies.",
-                    e);
-        }
-        if (getLog().isDebugEnabled()) {
-            getLog().debug("Dependency graph");
-            getLog().debug("================");
-            print(listener.getRootNode());
-            getLog().debug("================");
-        }
-        return listener;
-    }
-
-    protected Map createManagedVersionMap(String projectId,
-            DependencyManagement dependencyManagement) throws ProjectBuildingException {
-        Map map;
-        if (dependencyManagement != null
-                && dependencyManagement.getDependencies() != null) {
-            map = new HashMap();
-            for (Iterator i = dependencyManagement.getDependencies().iterator(); i
-                    .hasNext();) {
-                Dependency d = (Dependency) i.next();
-
-                try {
-                    VersionRange versionRange = VersionRange
-                            .createFromVersionSpec(d.getVersion());
-                    Artifact artifact = factory.createDependencyArtifact(d
-                            .getGroupId(), d.getArtifactId(), versionRange, d
-                            .getType(), d.getClassifier(), d.getScope());
-                    map.put(d.getManagementKey(), artifact);
-                } catch (InvalidVersionSpecificationException e) {
-                    throw new ProjectBuildingException(projectId,
-                            "Unable to parse version '" + d.getVersion()
-                                    + "' for dependency '"
-                                    + d.getManagementKey() + "': "
-                                    + e.getMessage(), e);
-                }
-            }
-        } else {
-            map = Collections.EMPTY_MAP;
-        }
-        return map;
-    }
-
-    /**
-     * Set up a classloader for the execution of the main class.
-     *
-     * @return
-     * @throws MojoExecutionException
-     */
-    protected URLClassLoader getClassLoader() throws MojoExecutionException {
-        try {
-            Set urls = new HashSet();
-
-            URL mainClasses = new File(project.getBuild().getOutputDirectory())
-                    .toURL();
-            getLog().debug("Adding to classpath : " + mainClasses);
-            urls.add(mainClasses);
-
-            URL testClasses = new File(project.getBuild()
-                    .getTestOutputDirectory()).toURL();
-            getLog().debug("Adding to classpath : " + testClasses);
-            urls.add(testClasses);
-
-            Set dependencies = project.getArtifacts();
-            Iterator iter = dependencies.iterator();
-            while (iter.hasNext()) {
-                Artifact classPathElement = (Artifact) iter.next();
-                getLog().debug(
-                        "Adding artifact: " + classPathElement.getFile()
-                                + " to classpath");
-                urls.add(classPathElement.getFile().toURL());
-            }
-            URLClassLoader appClassloader = new URLClassLoader((URL[]) urls
-                    .toArray(new URL[urls.size()]), this.getClass().getClassLoader());
-            return appClassloader;
-        } catch (MalformedURLException e) {
-            throw new MojoExecutionException(
-                    "Error during setting up classpath", e);
-        }
-    }
-}
diff --git a/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/Node.java b/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/Node.java
deleted file mode 100644
index 4920939..0000000
--- a/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/Node.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- *
- * 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.
- */
-package org.apache.servicemix.tooling.features;
-
-import java.util.Set;
-import java.util.HashSet;
-
-import org.apache.maven.artifact.Artifact;
-
-/**
- * @version $Revision: 1.1 $
-*/
-public class Node {
-    private Set children = new HashSet();
-    private Set parents = new HashSet();
-    private Artifact artifact;
-
-    public Set getChildren() {
-        return children;
-    }
-
-    public Artifact getArtifact() {
-        return artifact;
-    }
-
-    public Set getParents() {
-        return parents;
-    }
-
-    public void setChildren(Set children) {
-        this.children = children;
-    }
-
-    public void setParents(Set parents) {
-        this.parents = parents;
-    }
-
-    public void setArtifact(Artifact artifact) {
-        this.artifact = artifact;
-    }
-}
diff --git a/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/ResolutionListenerImpl.java b/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/ResolutionListenerImpl.java
deleted file mode 100644
index 1bf5e1a..0000000
--- a/features-maven-plugin/src/main/java/org/apache/servicemix/tooling/features/ResolutionListenerImpl.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/**
- *
- * 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.
- */
-package org.apache.servicemix.tooling.features;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Stack;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.ResolutionListener;
-import org.apache.maven.artifact.versioning.VersionRange;
-import org.apache.maven.plugin.logging.Log;
-
-/**
- * @author Edwin Punzalan
- * @version $Revision: 1.1 $
- */
-public class ResolutionListenerImpl implements ResolutionListener {
-    private Stack parents = new Stack();
-    private Map artifacts = new HashMap();
-    private Node rootNode;
-    private Log log;
-
-    public void setLog(Log log) {
-        this.log = log;
-    }
-
-    public Log getLog() {
-        return log;
-    }
-
-    public void testArtifact(Artifact artifact) {
-        // getLog().debug("testArtifact: " + artifact);
-        // intentionally blank
-    }
-
-    public void startProcessChildren(Artifact artifact) {
-        // getLog().debug("startProcessChildren: " + artifact);
-        Node node = (Node) artifacts.get(artifact.getDependencyConflictId());
-        if (parents.isEmpty()) {
-            rootNode = node;
-        }
-        parents.push(node);
-    }
-
-    public void endProcessChildren(Artifact artifact) {
-        // getLog().debug("endProcessChildren: " + artifact);
-        Node check = (Node) parents.pop();
-        assert artifact.equals(check.getArtifact());
-    }
-
-    public void omitForNearer(Artifact omitted, Artifact kept) {
-        // getLog().debug("omitForNearer: omitted=" + omitted + ", kept=" +
-        // kept);
-        assert omitted.getDependencyConflictId().equals(
-                kept.getDependencyConflictId());
-        Node node = (Node) artifacts.get(omitted.getDependencyConflictId());
-        assert node != null;
-        node.setArtifact(kept);
-    }
-
-    public void omitForCycle(Artifact artifact) {
-        // getLog().debug("omitForCycle: " + artifact);
-        // intentionally blank
-    }
-
-    public void includeArtifact(Artifact artifact) {
-        // getLog().debug("includeArtifact: " + artifact);
-        Node node = (Node) artifacts.get(artifact.getDependencyConflictId());
-        if (node == null) {
-            node = new Node();
-            artifacts.put(artifact.getDependencyConflictId(), node);
-        }
-        node.setArtifact(artifact);
-        if (!parents.isEmpty()) {
-            Node parent = (Node) parents.peek();
-            parent.getChildren().add(node);
-            node.getParents().add(parent);
-        }
-        if (rootNode != null) {
-            // print(rootNode, "");
-        }
-    }
-
-    protected void print(Node node, String string) {
-        // getLog().debug(string + rootNode.getArtifact());
-        for (Iterator iter = node.getChildren().iterator(); iter.hasNext();) {
-            Node n = (Node) iter.next();
-            print(n, string + "  ");
-        }
-    }
-
-    public void updateScope(Artifact artifact, String scope) {
-        // getLog().debug("updateScope: " + artifact);
-        Node node = (Node) artifacts.get(artifact.getDependencyConflictId());
-
-        node.getArtifact().setScope(scope);
-    }
-
-    public void manageArtifact(Artifact artifact, Artifact replacement) {
-        // getLog().debug("manageArtifact: artifact=" + artifact + ",
-        // replacement=" + replacement);
-        Node node = (Node) artifacts.get(artifact.getDependencyConflictId());
-        if (node != null) {
-            if (replacement.getVersion() != null) {
-                node.getArtifact().setVersion(replacement.getVersion());
-            }
-            if (replacement.getScope() != null) {
-                node.getArtifact().setScope(replacement.getScope());
-            }
-        }
-    }
-
-    public void updateScopeCurrentPom(Artifact artifact, String key) {
-
-        getLog().debug("updateScopeCurrentPom: " + artifact);
-        // intentionally blank
-    }
-
-    public void selectVersionFromRange(Artifact artifact) {
-
-        getLog().debug("selectVersionFromRange: " + artifact);
-        // intentionally blank
-    }
-
-    public void restrictRange(Artifact artifact, Artifact artifact1,
-            VersionRange versionRange) {
-
-        getLog().debug("restrictRange: " + artifact);
-        // intentionally blank
-    }
-
-    public Node getNode(Artifact artifact) {
-        return (Node) artifacts.get(artifact.getDependencyConflictId());
-    }
-
-    public Collection getArtifacts() {
-        return artifacts.values();
-    }
-
-    public Node getRootNode() {
-        return rootNode;
-    }
-}
diff --git a/features-maven-plugin/src/main/resources/config.properties b/features-maven-plugin/src/main/resources/config.properties
deleted file mode 100644
index 2f93d13..0000000
--- a/features-maven-plugin/src/main/resources/config.properties
+++ /dev/null
@@ -1,127 +0,0 @@
-jre-1.5= \
- javax.accessibility; \
- javax.activity; \
- javax.crypto; \
- javax.crypto.interfaces; \
- javax.crypto.spec; \
- javax.imageio; \
- javax.imageio.event; \
- javax.imageio.metadata; \
- javax.imageio.plugins.bmp; \
- javax.imageio.plugins.jpeg; \
- javax.imageio.spi; \
- javax.imageio.stream; \
- javax.management; \
- javax.management.loading; \
- javax.management.modelmbean; \
- javax.management.monitor; \
- javax.management.openmbean; \
- javax.management.relation; \
- javax.management.remote; \
- javax.management.remote.rmi; \
- javax.management.timer; \
- javax.naming; \
- javax.naming.directory; \
- javax.naming.event; \
- javax.naming.ldap; \
- javax.naming.spi; \
- javax.net; \
- javax.net.ssl; \
- javax.print; \
- javax.print.attribute; \
- javax.print.attribute.standard; \
- javax.print.event; \
- javax.rmi; \
- javax.rmi.CORBA; \
- javax.rmi.ssl; \
- javax.security.auth; \
- javax.security.auth.callback; \
- javax.security.auth.kerberos; \
- javax.security.auth.login; \
- javax.security.auth.spi; \
- javax.security.auth.x500; \
- javax.security.cert; \
- javax.security.sasl; \
- javax.sound.midi; \
- javax.sound.midi.spi; \
- javax.sound.sampled; \
- javax.sound.sampled.spi; \
- javax.sql; \
- javax.sql.rowset; \
- javax.sql.rowset.serial; \
- javax.sql.rowset.spi; \
- javax.swing; \
- javax.swing.border; \
- javax.swing.colorchooser; \
- javax.swing.event; \
- javax.swing.filechooser; \
- javax.swing.plaf; \
- javax.swing.plaf.basic; \
- javax.swing.plaf.metal; \
- javax.swing.plaf.multi; \
- javax.swing.plaf.synth; \
- javax.swing.table; \
- javax.swing.text; \
- javax.swing.text.html; \
- javax.swing.text.html.parser; \
- javax.swing.text.rtf; \
- javax.swing.tree; \
- javax.swing.undo; \
- javax.xml; \
- javax.xml.datatype; \
- javax.xml.namespace; \
- javax.xml.parsers; \
- javax.xml.transform; \
- javax.xml.transform.dom; \
- javax.xml.transform.sax; \
- javax.xml.transform.stream; \
- javax.xml.validation; \
- javax.xml.xpath; \
- org.ietf.jgss; \
- org.omg.CORBA; \
- org.omg.CORBA_2_3; \
- org.omg.CORBA_2_3.portable; \
- org.omg.CORBA.DynAnyPackage; \
- org.omg.CORBA.ORBPackage; \
- org.omg.CORBA.portable; \
- org.omg.CORBA.TypeCodePackage; \
- org.omg.CosNaming; \
- org.omg.CosNaming.NamingContextExtPackage; \
- org.omg.CosNaming.NamingContextPackage; \
- org.omg.Dynamic; \
- org.omg.DynamicAny; \
- org.omg.DynamicAny.DynAnyFactoryPackage; \
- org.omg.DynamicAny.DynAnyPackage; \
- org.omg.IOP; \
- org.omg.IOP.CodecFactoryPackage; \
- org.omg.IOP.CodecPackage; \
- org.omg.Messaging; \
- org.omg.PortableInterceptor; \
- org.omg.PortableInterceptor.ORBInitInfoPackage; \
- org.omg.PortableServer; \
- org.omg.PortableServer.CurrentPackage; \
- org.omg.PortableServer.POAManagerPackage; \
- org.omg.PortableServer.POAPackage; \
- org.omg.PortableServer.portable; \
- org.omg.PortableServer.ServantLocatorPackage; \
- org.omg.SendingContext; \
- org.omg.stub.java.rmi; \
- org.omg.stub.javax.management.remote.rmi; \
- org.w3c.dom; \
- org.w3c.dom.bootstrap; \
- org.w3c.dom.css; \
- org.w3c.dom.events; \
- org.w3c.dom.html; \
- org.w3c.dom.ls; \
- org.w3c.dom.ranges; \
- org.w3c.dom.stylesheets; \
- org.w3c.dom.traversal; \
- org.w3c.dom.views; \
- org.xml.sax; \
- org.xml.sax.ext; \
- org.xml.sax.helpers; \
- sun.misc; \
- sun.reflect
- 
-osgi= \
- org.osgi.framework;
\ No newline at end of file
diff --git a/features-maven-plugin/src/test/java/org/apache/servicemix/tooling/features/GenerateFeaturesFileMojoTest.java b/features-maven-plugin/src/test/java/org/apache/servicemix/tooling/features/GenerateFeaturesFileMojoTest.java
deleted file mode 100644
index 7331b3e..0000000
--- a/features-maven-plugin/src/test/java/org/apache/servicemix/tooling/features/GenerateFeaturesFileMojoTest.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/**
- *
- * 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.
- */
-package org.apache.servicemix.tooling.features;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
-import org.apache.maven.artifact.versioning.ArtifactVersion;
-import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
-import org.jmock.Expectations;
-import org.jmock.Mockery;
-
-/**
- * Test cases for {@link GenerateFeaturesFileMojo} 
- */
-public class GenerateFeaturesFileMojoTest extends TestCase {
-    
-    private Mockery mockery;
-    private GenerateFeaturesFileMojo mojo;
-    
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        mojo = new GenerateFeaturesFileMojo();
-        mockery = new Mockery();
-    }
-    
-    public void testGetBestVersionForArtifactWithOneVersion() throws Exception {       
-        final Artifact artifact = mockery.mock(Artifact.class);
-        mockery.checking(new Expectations() {{
-            allowing(artifact).getVersion(); will(returnValue("2.1.6"));
-        }});
-
-        assertEquals("2.1.6_1-SNAPSHOT", mojo.getBestVersionForArtifact(artifact, createVersionList("2.1.6_1-SNAPSHOT")));
-    }
-    
-    public void testGetBestVersionForArtifactWithTwoVersions() throws Exception {       
-        final Artifact artifact = mockery.mock(Artifact.class);
-        mockery.checking(new Expectations() {{
-            allowing(artifact).getVersion(); will(returnValue("2.1.6"));
-        }});
-
-        assertEquals("2.1.6_2-SNAPSHOT", mojo.getBestVersionForArtifact(artifact, createVersionList("2.1.6_1-SNAPSHOT", "2.1.6_2-SNAPSHOT")));
-    }
-    
-    public void testGetBestVersionForArtifactWithSameMajorMinor() throws Exception {       
-        final Artifact artifact = mockery.mock(Artifact.class);
-        mockery.checking(new Expectations() {{
-            allowing(artifact).getVersion(); will(returnValue("3.8.2"));
-        }});
-
-        assertEquals("3.8.1_1-SNAPSHOT", mojo.getBestVersionForArtifact(artifact, createVersionList("3.8.1_1-SNAPSHOT")));
-    }
-
-    
-    public void testGetBestVersionForArtifactWithOneNonMatchingVersion() throws Exception {
-        final Artifact artifact = mockery.mock(Artifact.class);
-        mockery.checking(new Expectations() {{
-            allowing(artifact).getVersion(); will(returnValue("9.1.0.1"));
-        }});
-        
-        try {
-            mojo.getBestVersionForArtifact(artifact, createVersionList("9.0_1-SNAPSHOT"));
-            fail("ArtifactMetadataRetrievalException should have been thrown if no matching version was found");
-        } catch (ArtifactMetadataRetrievalException e) {
-            // this is expected
-        }
-    }
-    
-    public void testGetBestVersionForArtifactWithNoVersions() throws Exception {
-        try {
-            mojo.getBestVersionForArtifact(mockery.mock(Artifact.class), createVersionList());
-            fail("ArtifactMetadataRetrievalException should have been thrown if no matching version was found");
-        } catch (ArtifactMetadataRetrievalException e) {
-            // this is expected
-        }
-    }
-    
-    private List<ArtifactVersion> createVersionList(String... versions) {
-        List<ArtifactVersion> results = new ArrayList<ArtifactVersion>();
-        for (final String version : versions) {
-            results.add(new DefaultArtifactVersion(version));
-        }
-        return results;
-    }
-}
diff --git a/features-maven-plugin/src/test/java/org/apache/servicemix/tooling/features/GenerateFeaturesXmlMojoTest.java b/features-maven-plugin/src/test/java/org/apache/servicemix/tooling/features/GenerateFeaturesXmlMojoTest.java
deleted file mode 100644
index 7d1ee7e..0000000
--- a/features-maven-plugin/src/test/java/org/apache/servicemix/tooling/features/GenerateFeaturesXmlMojoTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * 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.
- */
-package org.apache.servicemix.tooling.features;
-
-import org.apache.maven.artifact.Artifact;
-import org.jmock.Expectations;
-import org.jmock.Mockery;
-
-import junit.framework.TestCase;
-
-/**
- * Test cases for {@link GenerateFeaturesXmlMojo}
- */
-public class GenerateFeaturesXmlMojoTest extends TestCase {
-    
-    private Mockery mockery;
-    
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        mockery = new Mockery();
-    }
-    
-    public void testToString() throws Exception {
-        final Artifact artifact = mockery.mock(Artifact.class);
-        mockery.checking(new Expectations() {{
-            allowing(artifact).getGroupId(); will(returnValue("org.apache.servicemix.test"));
-            allowing(artifact).getArtifactId(); will(returnValue("test-artifact"));
-            allowing(artifact).getVersion(); will(returnValue("1.2.3"));
-        }});
-        assertEquals("org.apache.servicemix.test/test-artifact/1.2.3", GenerateFeaturesXmlMojo.toString(artifact));
-    }
-
-}
diff --git a/jbi-maven-plugin/.gitignore b/jbi-maven-plugin/.gitignore
deleted file mode 100644
index 1ef66d2..0000000
--- a/jbi-maven-plugin/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-target
-.project
-.classpath
-.settings
-*.i??
\ No newline at end of file
diff --git a/jbi-maven-plugin/LICENSE b/jbi-maven-plugin/LICENSE
deleted file mode 100644
index 6b0b127..0000000
--- a/jbi-maven-plugin/LICENSE
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/jbi-maven-plugin/NOTICE b/jbi-maven-plugin/NOTICE
deleted file mode 100644
index b6212c4..0000000
--- a/jbi-maven-plugin/NOTICE
+++ /dev/null
@@ -1,9 +0,0 @@
-   =========================================================================
-   ==  NOTICE file for use with the Apache License, Version 2.0,          ==
-   ==  in this case for the Apache ServiceMix distribution.               ==
-   =========================================================================
-
-   This product contains software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-
diff --git a/jbi-maven-plugin/pom.xml b/jbi-maven-plugin/pom.xml
deleted file mode 100644
index 5b1a39c..0000000
--- a/jbi-maven-plugin/pom.xml
+++ /dev/null
@@ -1,269 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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">
-
-    <!--
-
-        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.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.servicemix.tooling</groupId>
-        <artifactId>maven-plugins-pom</artifactId>
-        <version>4</version>
-        <relativePath>../maven-plugins-pom/pom.xml</relativePath>
-    </parent>
-
-    <groupId>org.apache.servicemix.tooling</groupId>
-    <artifactId>jbi-maven-plugin</artifactId>
-    <version>4.6-SNAPSHOT</version>
-
-    <packaging>maven-plugin</packaging>
-    <name>Apache ServiceMix :: Plugins :: Maven2 JBI Plugin</name>
-
-    <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/servicemix/maven-plugins/jbi-maven-plugin/trunk</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/servicemix/maven-plugins/jbi-maven-plugin/trunk
-        </developerConnection>
-        <url>http://svn.apache.org/viewcvs.cgi/servicemix/maven-plugins/jbi-maven-plugin/trunk</url>
-    </scm>
-
-    <properties>
-        <servicemix.specs.version>1.8.0</servicemix.specs.version>
-    </properties>
-
-    <dependencies>
-        <!-- little hack to make sure this gets downloaded before maven-repository.dev.java.net gets pulled in -->
-        <dependency>
-            <groupId>org.apache.servicemix</groupId>
-            <artifactId>servicemix-pom</artifactId>
-            <version>2</version>
-            <type>pom</type>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-plugin-api</artifactId>
-            <version>2.0.9</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-project</artifactId>
-            <version>2.0.9</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-archiver</artifactId>
-            <version>2.4.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-container-default</artifactId>
-            <version>1.5.2</version>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-utils</artifactId>
-            <version>2.0.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-script-ant</artifactId>
-            <version>2.0.9</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.servicemix</groupId>
-            <artifactId>servicemix-core</artifactId>
-            <version>3.4-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.servicemix</groupId>
-            <artifactId>servicemix-common</artifactId>
-            <version>2011.01</version>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>1.6.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <version>1.6.1</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-javamail_1.4_spec</artifactId>
-            <version>1.5</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-ejb_2.1_spec</artifactId>
-            <version>1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-jta_1.1_spec</artifactId>
-            <version>1.1.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
-            <version>2.0.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-tx</artifactId>
-            <version>3.0.5.RELEASE</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-model</artifactId>
-            <version>2.0.9</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-artifact</artifactId>
-            <version>2.0.9</version>
-        </dependency>
-        <dependency>
-            <groupId>wsdl4j</groupId>
-            <artifactId>wsdl4j</artifactId>
-            <version>1.6.2</version>
-        </dependency>
-    </dependencies>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.apache.servicemix.specs</groupId>
-                <artifactId>org.apache.servicemix.specs.jbi-api-1.0</artifactId>
-                <version>${servicemix.specs.version}</version>
-            </dependency>
-            <!-- little hack to avoid touching jencks 2.1 (refers to servicemix.org) -->
-            <dependency>
-                <groupId>org.jencks</groupId>
-                <artifactId>jencks</artifactId>
-                <version>2.2</version>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-    <profiles>
-        <profile>
-            <id>release</id>
-            <build>
-                <plugins>
-                    <!-- We want to deploy the artifact to a staging location for perusal -->
-                    <plugin>
-                        <inherited>true</inherited>
-                        <artifactId>maven-deploy-plugin</artifactId>
-                        <version>2.3</version>
-                        <configuration>
-                            <altDeploymentRepository>${deploy.altRepository}</altDeploymentRepository>
-                            <updateReleaseInfo>true</updateReleaseInfo>
-                        </configuration>
-                    </plugin>
-                    <!-- We want to sign the artifact, the POM, and all attached artifacts -->
-                    <plugin>
-                        <artifactId>maven-gpg-plugin</artifactId>
-                        <version>1.0-alpha-4</version>
-                        <configuration>
-                            <passphrase>${gpg.passphrase}</passphrase>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>sign</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>deploy</id>
-            <build>
-                <defaultGoal>deploy</defaultGoal>
-                <plugins>
-                    <plugin>
-                        <artifactId>maven-javadoc-plugin</artifactId>
-                        <version>2.2</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>jar</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <source>1.5</source>
-                            <attach>true</attach>
-                        </configuration>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-source-plugin</artifactId>
-                        <version>2.0.2</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>jar</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <attach>true</attach>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
-    <build>
-        <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-plugin-plugin</artifactId>
-                <!-- Add the Ant plugin tools -->
-                <dependencies>
-                    <dependency>
-                        <groupId>org.apache.maven.plugin-tools</groupId>
-                        <artifactId>maven-plugin-tools-ant</artifactId>
-                        <version>2.5</version>
-                    </dependency>
-                </dependencies>
-                <configuration>
-                    <goalPrefix>jbi</goalPrefix>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/AbstractDeployableMojo.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/AbstractDeployableMojo.java
deleted file mode 100644
index 9d59b70..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/AbstractDeployableMojo.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import org.apache.servicemix.jbi.management.task.JbiTask;
-import org.apache.tools.ant.Project;
-
-public abstract class AbstractDeployableMojo extends AbstractJbiMojo {
-
-    /**
-     * @parameter default-value="rmi"
-     */
-    protected String serverProtocol;
-
-    /**
-     * @parameter default-value="localhost" expression="${host}"
-     */
-    protected String host;
-
-    /**
-     * @parameter default-value="ServiceMix" expression="${containerName}
-     */
-    protected String containerName;
-
-    /**
-     * @parameter default-value="org.apache.servicemix"
-     */
-    protected String jmxDomainName;
-
-    /**
-     * @parameter default-value="1099" expression="${port}"
-     */
-    protected String port;
-
-    /**
-     * @parameter default-value="/jmxrmi"
-     */
-    protected String jndiPath;
-
-    /**
-     * @parameter default-value="smx" expression="${username}"
-     */
-    protected String username;
-
-    /**
-     * @parameter default-value="smx" expression="${password}"
-     */
-    protected String password;
-
-    /**
-     * @parameter expression="${serviceUrl}
-     */
-    protected String serviceUrl;
-
-    /**
-     * @parameter expression=${environment}
-     */
-    protected String environment;
-
-    protected JbiTask initializeJbiTask(JbiTask task) {
-
-        Project antProject = new Project();
-        antProject.init();
-        task.setProject(antProject);
-
-        task.setContainerName(containerName);
-        task.setHost(host);
-        task.setServerProtocol(serverProtocol);
-        task.setJmxDomainName(jmxDomainName);
-        task.setPort(Integer.parseInt(port));
-        task.setJndiPath(jndiPath);
-        task.setUsername(username);
-        task.setPassword(password);
-        task.setServiceUrl(serviceUrl);
-        task.setEnvironment(environment);
-
-        task.setTaskName("JBITask");
-        task.setTaskType("JBITask");
-        return task;
-    }
-
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/AbstractDescriptorWriter.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/AbstractDescriptorWriter.java
deleted file mode 100644
index ed0585c..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/AbstractDescriptorWriter.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*

- * 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.

- */

-package org.apache.servicemix.maven.plugin.jbi;

-

-import java.util.HashMap;

-import java.util.Iterator;

-import java.util.List;

-import java.util.Map;

-

-import javax.xml.namespace.QName;

-

-import org.apache.servicemix.common.packaging.Consumes;

-import org.apache.servicemix.common.packaging.Provides;

-import org.codehaus.plexus.util.xml.XMLWriter;

-

-public class AbstractDescriptorWriter {

-

-    protected void addStringAttribute(XMLWriter writer, String attributeName,

-            String attributeValue) {

-        if (attributeValue != null) {

-            writer.addAttribute(attributeName, attributeValue);

-        }

-    }

-

-    protected void addQNameAttribute(XMLWriter writer, String attributeName,

-            QName attributeValue, Map namespaceMap) {

-        if (attributeValue != null) {

-            StringBuffer attributeStringValue = new StringBuffer();

-            attributeStringValue.append(namespaceMap.get(attributeValue

-                    .getNamespaceURI()));

-            attributeStringValue.append(":");

-            attributeStringValue.append(attributeValue.getLocalPart());

-            writer.addAttribute(attributeName, attributeStringValue.toString());

-        }

-

-    }

-

-    protected Map getNamespaceMap(List provides, List consumes) {

-        Map namespaceMap = new HashMap();

-        int namespaceCounter = 1;

-        for (Iterator iterator = provides.iterator(); iterator.hasNext();) {

-            Provides providesEntry = (Provides) iterator.next();

-            namespaceCounter = resolveMapEntry(namespaceMap, providesEntry

-                    .getInterfaceName(), namespaceCounter);

-            namespaceCounter = resolveMapEntry(namespaceMap, providesEntry

-                    .getServiceName(), namespaceCounter);

-        }

-

-        for (Iterator iterator = consumes.iterator(); iterator.hasNext();) {

-            Consumes consumesEntry = (Consumes) iterator.next();

-            namespaceCounter = resolveMapEntry(namespaceMap, consumesEntry

-                    .getInterfaceName(), namespaceCounter);

-            namespaceCounter = resolveMapEntry(namespaceMap, consumesEntry

-                    .getServiceName(), namespaceCounter);

-        }

-

-        return namespaceMap;

-    }

-

-    private int resolveMapEntry(Map namespaceMap, QName qname,

-            int namespaceCounter) {

-        if ((qname != null)

-                && (!namespaceMap.containsKey(qname.getNamespaceURI()))) {

-            if (qname.getPrefix() == null || qname.getPrefix().equals("")) {

-                namespaceMap.put(qname.getNamespaceURI(), "ns"

-                        + namespaceCounter++);

-            } else {

-                namespaceMap.put(qname.getNamespaceURI(), qname.getPrefix());

-            }

-        }

-        return namespaceCounter;

-    }

-

-}

diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/AbstractJbiMojo.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/AbstractJbiMojo.java
deleted file mode 100644
index 86e5251..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/AbstractJbiMojo.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.ArtifactCollector;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.artifact.versioning.VersionRange;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.DependencyManagement;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectBuilder;
-import org.apache.maven.project.MavenProjectHelper;
-import org.apache.maven.project.ProjectBuildingException;
-import org.apache.servicemix.maven.plugin.jbi.JbiResolutionListener.Node;
-import org.codehaus.plexus.archiver.jar.Manifest;
-import org.codehaus.plexus.archiver.jar.ManifestException;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-
-public abstract class AbstractJbiMojo extends AbstractMojo {
-
-    public static final String META_INF = "META-INF";
-
-    public static final String JBI_DESCRIPTOR = "jbi.xml";
-
-    public static final String LIB_DIRECTORY = "lib";
-
-    private static final Pattern VERSION_PATTERN = Pattern.compile("^(\\d+(\\.\\d+(\\.\\d+)?)?)-");
-
-    private static final String[] VERSION_COMPLETERS = new String[] {".0.0", ".0" };
-
-    /**
-     * Maven ProjectHelper
-     * 
-     * @component
-     */
-    protected MavenProjectHelper projectHelper;
-
-    /**
-     * The maven project.
-     * 
-     * @parameter expression="${project}"
-     * @required
-     * @readonly
-     */
-    protected MavenProject project;
-
-    /**
-     * Directory that resources are copied to during the build.
-     * 
-     * @parameter expression="${project.build.directory}/${project.artifactId}-${project.version}-installer"
-     * @required
-     */
-    protected File workDirectory;
-
-    /**
-     * @component
-     */
-    protected MavenProjectBuilder projectBuilder;
-
-    /**
-     * @parameter default-value="${localRepository}"
-     */
-    protected ArtifactRepository localRepo;
-
-    /**
-     * @parameter default-value="${project.remoteArtifactRepositories}"
-     */
-    protected List remoteRepos;
-
-    /**
-     * @component
-     */
-    protected ArtifactMetadataSource artifactMetadataSource;
-
-    /**
-     * @component
-     */
-    protected ArtifactResolver resolver;
-
-    /**
-     * @component
-     * @required
-     * @readonly
-     */
-    protected ArtifactCollector collector;
-
-    /**
-     * @component
-     */
-    protected ArtifactFactory factory;
-
-    protected MavenProject getProject() {
-        return project;
-    }
-
-    protected File getWorkDirectory() {
-        return workDirectory;
-    }
-
-    public MavenProjectHelper getProjectHelper() {
-        return projectHelper;
-    }
-
-    protected void removeBranch(JbiResolutionListener listener, Artifact artifact) {
-        Node n = listener.getNode(artifact);
-        if (n != null) {
-            for (Node parent : n.getParents()) {
-                parent.getChildren().remove(n);
-            }
-		}
-    }
-
-    protected void removeChildren(JbiResolutionListener listener, Artifact artifact) {
-        Node n = listener.getNode(artifact);
-        n.getChildren().clear();
-    }
-
-    protected Set<Artifact> getArtifacts(Node n, Set<Artifact> s) {
-        if (s.add(n.getArtifact())) {
-            for (Node c : n.getChildren()) {
-                getArtifacts(c, s);
-            }
-        }
-        return s;
-    }
-
-    protected void excludeBranch(Node n, Set<Artifact> excludes) {
-        excludes.add(n.getArtifact());
-        for (Node c : n.getChildren()) {
-            excludeBranch(c, excludes);
-        }
-    }
-
-    protected void print(Node rootNode) {
-        for (Artifact a : getArtifacts(rootNode, new HashSet<Artifact>())) {
-            getLog().info(" " + a);
-        }
-    }
-
-    protected void print(Node rootNode, String pfx) {
-        getLog().info(pfx + rootNode.getArtifact());
-        for (Node child : rootNode.getChildren()) {
-            print(child, " " + pfx);
-        }
-    }
-
-    protected void pruneTree(Node node, Set<Artifact> excludes) {
-        for (Iterator<Node> iter = node.getChildren().iterator(); iter.hasNext();) {
-            Node child = iter.next();
-            if (child.getArtifact().isOptional() ||
-                    (!child.getScope().equals(Artifact.SCOPE_COMPILE) && !child.getScope().equals(Artifact.SCOPE_RUNTIME)) ||
-                    excludes.contains(child.getArtifact())) {
-                iter.remove();
-            } else {
-                pruneTree(child, excludes);
-            }
-        }
-    }
-
-    protected Set<Artifact> retainArtifacts(Set<Artifact> includes, JbiResolutionListener listener) {
-        Set<Artifact> finalIncludes = new HashSet<Artifact>();
-        Set<Artifact> filteredArtifacts = getArtifacts(listener.getRootNode(), new HashSet<Artifact>());
-        for (Artifact artifact : includes) {
-            for (Artifact filteredArtifact : filteredArtifacts) {
-                if (filteredArtifact.getArtifactId().equals(
-                        artifact.getArtifactId())
-                        && filteredArtifact.getType()
-                                .equals(artifact.getType())
-                        && filteredArtifact.getGroupId().equals(
-                                artifact.getGroupId())) {
-                    if (!filteredArtifact.getVersion().equals(
-                            artifact.getVersion())) {
-                        getLog()
-                                .warn(
-                                        "Resolved artifact "
-                                                + artifact
-                                                + " has a different version from that in dependency management "
-                                                + filteredArtifact
-                                                + ", overriding dependency management");
-                    }
-                    finalIncludes.add(artifact);
-                }
-            }
-
-        }
-        return finalIncludes;
-    }
-
-
-    protected JbiResolutionListener resolveProject() {
-        Map managedVersions = null;
-        try {
-            managedVersions = createManagedVersionMap(project.getId(), project.getDependencyManagement());
-        } catch (ProjectBuildingException e) {
-            getLog().error("An error occurred while resolving project dependencies.", e);
-        }
-        JbiResolutionListener listener = new JbiResolutionListener();
-        listener.setLog(getLog());
-        try {
-            collector.collect(project.getDependencyArtifacts(), project
-                    .getArtifact(), managedVersions, localRepo, remoteRepos,
-                    artifactMetadataSource, null, Collections
-                            .singletonList(listener));
-        } catch (ArtifactResolutionException e) {
-            getLog().error(
-                    "An error occurred while resolving project dependencies.",
-                    e);
-        }
-        if (getLog().isDebugEnabled()) {
-            getLog().debug("Dependency graph");
-            getLog().debug("================");
-            print(listener.getRootNode());
-            getLog().debug("================");
-        }
-        return listener;
-    }
-
-    protected Map createManagedVersionMap(String projectId,
-            DependencyManagement dependencyManagement) throws ProjectBuildingException {
-        Map map;
-        if (dependencyManagement != null
-                && dependencyManagement.getDependencies() != null) {
-            map = new HashMap();
-            for (Iterator i = dependencyManagement.getDependencies().iterator(); i
-                    .hasNext();) {
-                Dependency d = (Dependency) i.next();
-
-                try {
-                    VersionRange versionRange = VersionRange
-                            .createFromVersionSpec(d.getVersion());
-                    Artifact artifact = factory.createDependencyArtifact(d
-                            .getGroupId(), d.getArtifactId(), versionRange, d
-                            .getType(), d.getClassifier(), d.getScope());
-                    map.put(d.getManagementKey(), artifact);
-                } catch (InvalidVersionSpecificationException e) {
-                    throw new ProjectBuildingException(projectId,
-                            "Unable to parse version '" + d.getVersion()
-                                    + "' for dependency '"
-                                    + d.getManagementKey() + "': "
-                                    + e.getMessage(), e);
-                }
-            }
-        } else {
-            map = Collections.EMPTY_MAP;
-        }
-        return map;
-    }
-
-    /**
-     * Set up a classloader for the execution of the main class.
-     * 
-     * @return
-     * @throws MojoExecutionException
-     */
-    protected URLClassLoader getClassLoader() throws MojoExecutionException {
-        try {
-            Set urls = new HashSet();
-
-            URL mainClasses = new File(project.getBuild().getOutputDirectory())
-                    .toURL();
-            getLog().debug("Adding to classpath : " + mainClasses);
-            urls.add(mainClasses);
-
-            URL testClasses = new File(project.getBuild()
-                    .getTestOutputDirectory()).toURL();
-            getLog().debug("Adding to classpath : " + testClasses);
-            urls.add(testClasses);
-
-            Set dependencies = project.getArtifacts();
-            Iterator iter = dependencies.iterator();
-            while (iter.hasNext()) {
-                Artifact classPathElement = (Artifact) iter.next();
-                getLog().debug(
-                        "Adding artifact: " + classPathElement.getFile()
-                                + " to classpath");
-                urls.add(classPathElement.getFile().toURL());
-            }
-            URLClassLoader appClassloader = new URLClassLoader((URL[]) urls
-                    .toArray(new URL[urls.size()]), this.getClass().getClassLoader());
-            return appClassloader;
-        } catch (MalformedURLException e) {
-            throw new MojoExecutionException(
-                    "Error during setting up classpath", e);
-        }
-    }
-
-    protected Manifest createManifest() throws ManifestException {
-        Manifest manifest = new Manifest();
-        //manifest.getMainSection().addConfiguredAttribute(new Manifest.Attribute("Bundle-Name", project.getName()));
-        //manifest.getMainSection().addConfiguredAttribute(new Manifest.Attribute("Bundle-SymbolicName", project.getArtifactId()));
-        //manifest.getMainSection().addConfiguredAttribute(new Manifest.Attribute(
-            //"Bundle-Version", fixBundleVersion(project.getVersion())));
-        return manifest;
-    }
-
-    public static String fixBundleVersion(String version) {
-        // Maven uses a '-' to separate the version qualifier, while
-        // OSGi uses a '.', so we need to convert the first '-' to a
-        // '.' and fill in any missing minor or micro version
-        // components if necessary.
-        final Matcher matcher = VERSION_PATTERN.matcher(version);
-        if (!matcher.lookingAt()) {
-            return version;
-        }
-        // Leave extra space for worst-case additional insertion:
-        final StringBuffer sb = new StringBuffer(version.length() + 4);
-        sb.append(matcher.group(1));
-        if (null == matcher.group(3)) {
-            final int count = null != matcher.group(2) ? 2 : 1;
-            sb.append(VERSION_COMPLETERS[count - 1]);
-        }
-        sb.append('.');
-        sb.append(version.substring(matcher.end(), version.length()));
-        return sb.toString();
-    }
-    
-    protected String getServiceUnitName(MavenProject project) {
-		for (Object elem : project.getBuildPlugins()) {
-			if (elem instanceof Plugin) {
-				Plugin plugin = (Plugin)elem;
-				if (plugin.getGroupId().equals("org.apache.servicemix.tooling")
-						&& plugin.getArtifactId().equals("jbi-maven-plugin")) {
-					Xpp3Dom configuration = (Xpp3Dom) plugin.getConfiguration();
-					if (configuration != null) {
-						Xpp3Dom serviceUnitName = configuration.getChild("serviceUnitName");
-						if (serviceUnitName != null) {
-							return serviceUnitName.getValue();
-						}
-					}
-					break;
-				}
-			}
-		}
-		return null;
-	}
-
-
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/DependencyInformation.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/DependencyInformation.java
deleted file mode 100644
index 114cf94..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/DependencyInformation.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-/**
- * The dependency information is a simple value object to help with passing
- * around information on dependencies used to help in the creation of the jbi
- * descriptors
- * 
- */
-public class DependencyInformation {
-
-    /**
-     * Artifact type for a JBI Shared Library
-     */
-    public static final String SHARED_LIBRARY_TYPE = "jbi-shared-library";
-
-    private String filename;
-
-    private String component;
-
-    private String description;
-
-    private String name;
-
-    private String version;
-
-    private String type;
-
-    public String getType() {
-        return type;
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    public String getFilename() {
-        return filename;
-    }
-
-    public String getComponent() {
-        return component;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public String getVersion() {
-        return version;
-    }
-
-    public void setFilename(String artifactZip) {
-        this.filename = artifactZip;
-    }
-
-    public void setComponent(String component) {
-        this.component = component;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public void setVersion(String version) {
-        this.version = version;
-    }
-
-    /**
-     * Is this dependency a JBI Shared Library?
-     */
-    public boolean isSharedLibrary() {
-        return SHARED_LIBRARY_TYPE.equals(type);
-    }
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateComponentDescriptorMojo.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateComponentDescriptorMojo.java
deleted file mode 100644
index 2b5b022..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateComponentDescriptorMojo.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectBuildingException;
-import org.codehaus.plexus.util.FileUtils;
-
-import static org.apache.servicemix.maven.plugin.jbi.DependencyInformation.*;
-
-/**
- * A Mojo used to build the jbi.xml file.
- * 
- * @author <a href="gnodet@apache.org">Guillaume Nodet</a>
- * @version $Id: GenerateComponentDescriptorMojo 314956 2005-10-12 16:27:15Z
- *          brett $
- * @goal generate-jbi-component-descriptor
- * @phase generate-resources
- * @requiresDependencyResolution runtime
- * @description generates the jbi.xml deployment descriptor
- */
-public class GenerateComponentDescriptorMojo extends AbstractJbiMojo {
-
-    public static final String UTF_8 = "UTF-8";
-
-    /**
-     * Whether the application.xml should be generated or not.
-     * 
-     * @parameter
-     */
-    private Boolean generateJbiDescriptor = Boolean.TRUE;
-
-    /**
-     * The component class name.
-     * 
-     * @parameter
-     * @required
-     */
-    private String component;
-
-    /**
-     * The bootstrap class name.
-     * 
-     * @parameter
-     */
-    private String bootstrap;
-
-    /**
-     * The component type.
-     * 
-     * @parameter
-     * @required
-     */
-    private String type;
-
-    /**
-     * The component name.
-     * 
-     * @parameter expression="${project.artifactId}"
-     */
-    private String name;
-
-    /**
-     * The destination of the default bootstrap.
-     * 
-     * @parameter expression="${project.build.directory}/classes/org/apache/servicemix/common/DefaultBootstrap.class"
-     */
-    private File defaultBootstrapFile;
-
-    /**
-     * The component description.
-     * 
-     * @parameter expression="${project.name}"
-     */
-    private String description;
-
-    /**
-     * Character encoding for the auto-generated application.xml file.
-     * 
-     * @parameter
-     */
-    private String encoding = UTF_8;
-
-    /**
-     * Directory where the application.xml file will be auto-generated.
-     * 
-     * @parameter expression="${project.build.directory}"
-     */
-    private String generatedDescriptorLocation;
-
-    /**
-     * The component class loader delegation
-     * 
-     * @parameter expression="parent-first"
-     */
-    private String componentClassLoaderDelegation;
-
-    /**
-     * The bootstrap class loader delegation
-     * 
-     * @parameter expression="parent-first"
-     */
-    private String bootstrapClassLoaderDelegation;
-    
-    /**
-     * A list of dependency types to include in component classpath.
-     * Default: jar, bundle, jbi-component
-     *
-     * @parameter
-     */
-    private List componentTypes = new ArrayList(Arrays.asList(new Object[]{"jar", "bundle", "jbi-component"}));
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-
-        getLog().debug(
-                " ======= GenerateComponentDescriptorMojo settings =======");
-        getLog().debug("workDirectory[" + workDirectory + "]");
-        getLog().debug("generateJbiDescriptor[" + generateJbiDescriptor + "]");
-        getLog().debug("type[" + type + "]");
-        getLog().debug("component[" + component + "]");
-        getLog().debug("bootstrap[" + bootstrap + "]");
-        getLog().debug("name[" + name + "]");
-        getLog().debug("description[" + description + "]");
-        getLog().debug("encoding[" + encoding + "]");
-        getLog().debug(
-                "generatedDescriptorLocation[" + generatedDescriptorLocation
-                        + "]");
-
-        if (!generateJbiDescriptor.booleanValue()) {
-            getLog().debug("Generation of jbi.xml is disabled");
-            return;
-        }
-
-        if (bootstrap == null) {
-            injectBootStrap();
-        }
-
-        // Generate jbi descriptor and copy it to the build directory
-        getLog().info("Generating jbi.xml");
-        try {
-            generateJbiDescriptor();
-        } catch (JbiPluginException e) {
-            throw new MojoExecutionException("Failed to generate jbi.xml", e);
-        }
-
-        try {
-            FileUtils.copyFileToDirectory(new File(generatedDescriptorLocation,
-                    JBI_DESCRIPTOR), new File(getWorkDirectory(), META_INF));
-        } catch (IOException e) {
-            throw new MojoExecutionException(
-                    "Unable to copy jbi.xml to final destination", e);
-        }
-    }
-
-    /**
-     * Helper method used to inject the BaseBootstrap from servicemix-commons
-     * into the component this allows to you bypass actually having to create a
-     * bootstrap
-     * 
-     * @throws MojoExecutionException
-     * 
-     */
-    private void injectBootStrap() throws MojoExecutionException {
-
-        try {
-            URL defaultBootStrap = getClassLoader().getResource(
-                    "org/apache/servicemix/common/DefaultBootstrap.class");
-            FileUtils.copyURLToFile(defaultBootStrap, defaultBootstrapFile);
-            bootstrap = "org.apache.servicemix.common.DefaultBootstrap";
-        } catch (IOException e) {
-            throw new MojoExecutionException(
-                    "Unable to copy DefaultBootstrap.class to "
-                            + defaultBootstrapFile.getAbsolutePath(), e);
-        }
-    }
-
-    /**
-     * Generates the deployment descriptor if necessary.
-     */
-    protected void generateJbiDescriptor() throws JbiPluginException {
-        File outputDir = new File(generatedDescriptorLocation);
-        if (!outputDir.exists()) {
-            outputDir.mkdirs();
-        }
-
-        File descriptor = new File(outputDir, JBI_DESCRIPTOR);
-
-        List uris = new ArrayList();
-        DependencyInformation info = new DependencyInformation();
-        info.setFilename(LIB_DIRECTORY + "/" + project.getBuild().getFinalName() + ".jar");
-        info.setVersion(project.getVersion());
-        info.setName(project.getArtifactId());
-        info.setType("jar");
-        uris.add(info);
-
-        ArtifactFilter filter = new ArtifactFilter() {
-            public boolean include(Artifact artifact) {
-                return !artifact.isOptional() &&
-                        (artifact.getScope() == Artifact.SCOPE_RUNTIME || artifact.getScope() == Artifact.SCOPE_COMPILE);
-            }
-        };
-
-
-        JbiResolutionListener listener = resolveProject();
-        Set<Artifact> includes = new HashSet<Artifact>();
-        Set<Artifact> excludes = new HashSet<Artifact>();
-        for (Iterator iter = project.getArtifacts().iterator(); iter.hasNext();) {
-            Artifact artifact = (Artifact) iter.next();
-            if (filter.include(artifact)) {
-                MavenProject project = null;
-                try {
-                    project = projectBuilder.buildFromRepository(artifact, remoteRepos, localRepo);
-                } catch (ProjectBuildingException e) {
-                    getLog().warn("Unable to determine packaging for dependency : "
-                                    + artifact.getArtifactId() + " assuming jar");
-                }
-                String type = project != null ? project.getPackaging() : artifact.getType();
-                if (SHARED_LIBRARY_TYPE.equals(type)) {
-                    // exclude children, but not the shared library itself
-                    excludeBranch(listener.getNode(artifact), excludes);
-                    excludes.remove(artifact);
-                    includes.add(artifact);
-                } else if (componentTypes.contains(type)) {
-                    includes.add(artifact);
-                }
-            }
-        }
-        pruneTree(listener.getRootNode(), excludes);
-        // print(listener.getRootNode(), "");
-        for (Artifact artifact : retainArtifacts(includes, listener)) {
-            MavenProject project = null;
-            try {
-                project = projectBuilder.buildFromRepository(artifact, remoteRepos, localRepo);
-            } catch (ProjectBuildingException e) {
-                getLog().warn("Unable to determine packaging for dependency : "
-                                + artifact.getArtifactId() + " assuming jar");
-            }
-            String type = project != null ? project.getPackaging() : artifact.getType();
-            info = new DependencyInformation();
-            info.setFilename(LIB_DIRECTORY + "/" + artifact.getFile().getName());
-            info.setVersion(artifact.getVersion());
-            info.setName(artifact.getArtifactId());
-            info.setType(type);
-            uris.add(info);
-        }
-
-        JbiComponentDescriptorWriter writer = new JbiComponentDescriptorWriter(encoding);
-        writer.write(descriptor, component, bootstrap, type, name, description,
-                componentClassLoaderDelegation, bootstrapClassLoaderDelegation,
-                uris);
-    }
-
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateComponentMojo.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateComponentMojo.java
deleted file mode 100644
index 2364ba2..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateComponentMojo.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.maven.archiver.MavenArchiveConfiguration;
-import org.apache.maven.archiver.MavenArchiver;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.DependencyResolutionRequiredException;
-import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectBuildingException;
-import org.codehaus.plexus.archiver.ArchiverException;
-import org.codehaus.plexus.archiver.jar.JarArchiver;
-import org.codehaus.plexus.archiver.jar.Manifest;
-import org.codehaus.plexus.archiver.jar.ManifestException;
-import org.codehaus.plexus.util.DirectoryScanner;
-import org.codehaus.plexus.util.FileUtils;
-
-/**
- * A Mojo used to build the jbi component installer file.
- * 
- * @author <a href="gnodet@apache.org">Guillaume Nodet</a>
- * @version $Id: GenerateApplicationXmlMojo.java 314956 2005-10-12 16:27:15Z
- *          brett $
- * @goal jbi-component
- * @phase package
- * @requiresDependencyResolution runtime
- * @description generates the component installer
- */
-public class GenerateComponentMojo extends AbstractJbiMojo {
-
-    /**
-     * The directory for the generated JBI component.
-     * 
-     * @parameter expression="${project.build.directory}"
-     * @required
-     */
-    private File outputDirectory;
-
-    /**
-     * The name of the generated war.
-     * 
-     * @parameter expression="${project.build.finalName}"
-     * @required
-     */
-    private String finalName;
-
-    /**
-     * The name of the generated war.
-     * 
-     * @parameter expression="${project.build.finalName}-installer.zip"
-     * @required
-     */
-    private String installerName;
-
-    /**
-     * The Zip archiver.
-     * 
-     * @component role="org.codehaus.plexus.archiver.Archiver" roleHint="jar"
-     * @required
-     */
-    private JarArchiver jarArchiver;
-
-    /**
-     * Single directory for extra files to include in the JBI component.
-     * 
-     * @parameter expression="${basedir}/src/main/jbi"
-     * @required
-     */
-    private File jbiSourceDirectory;
-
-    /**
-     * The maven archive configuration to use.
-     * 
-     * @parameter
-     */
-    private MavenArchiveConfiguration archive = new MavenArchiveConfiguration();
-    
-    /**
-     * A list of dependency types to include in component classpath.
-     * Default: jar, bundle, jbi-component
-     * 
-     * @parameter
-     */
-    private List componentTypes = new ArrayList(Arrays.asList(new Object[]{"jar", "bundle", "jbi-component"}));
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-
-        getLog().debug(" ======= GenerateInstallerMojo settings =======");
-        getLog().debug("workDirectory[" + workDirectory + "]");
-        getLog().debug("installerName[" + installerName + "]");
-        getLog().debug("jbiSourceDirectory[" + jbiSourceDirectory + "]");
-
-        try {
-
-            createUnpackedInstaller();
-
-            File installerFile = new File(outputDirectory, installerName);
-            createArchive(installerFile);
-
-            projectHelper.attachArtifact(project, "zip", "installer", new File(
-                    outputDirectory, installerName));
-
-        } catch (JbiPluginException e) {
-            throw new MojoExecutionException("Failed to create installer", e);
-        }
-    }
-
-    private void createArchive(File installerFile) throws JbiPluginException {
-        try {
-
-            // generate war file
-            getLog().info(
-                    "Generating installer " + installerFile.getAbsolutePath());
-            MavenArchiver archiver = new MavenArchiver();
-            archiver.setArchiver(jarArchiver);
-            archiver.setOutputFile(installerFile);
-            jarArchiver.addDirectory(workDirectory);
-            Manifest manifest = createManifest();
-            jarArchiver.addConfiguredManifest(manifest);
-            if (jbiSourceDirectory.isDirectory()) {
-                jarArchiver.addDirectory(jbiSourceDirectory, null,
-                        DirectoryScanner.DEFAULTEXCLUDES);
-            }
-            // create archive
-            archiver.createArchive(getProject(), archive);
-
-        } catch (ArchiverException e) {
-            throw new JbiPluginException("Error creating assembly: "
-                    + e.getMessage(), e);
-        } catch (ManifestException e) {
-            throw new JbiPluginException("Error creating assembly: "
-                    + e.getMessage(), e);
-        } catch (IOException e) {
-            throw new JbiPluginException("Error creating assembly: "
-                    + e.getMessage(), e);
-        } catch (DependencyResolutionRequiredException e) {
-            throw new JbiPluginException("Error creating assembly: "
-                    + e.getMessage(), e);
-        }
-
-    }
-
-    private void createUnpackedInstaller() throws JbiPluginException {
-
-        if (!workDirectory.isDirectory() && !workDirectory.mkdirs()) {
-            throw new JbiPluginException("Unable to create work directory: " + workDirectory);
-        }
-
-        File projectArtifact = new File(outputDirectory, finalName + ".jar");
-        try {
-            FileUtils.copyFileToDirectory(projectArtifact, new File(workDirectory, LIB_DIRECTORY));
-        } catch (IOException e) {
-            throw new JbiPluginException("Unable to copy file "
-                    + projectArtifact, e);
-        }
-
-        ArtifactFilter filter = new ArtifactFilter() {
-            public boolean include(Artifact artifact) {
-                return !artifact.isOptional() &&
-                        (artifact.getScope() == Artifact.SCOPE_RUNTIME || artifact.getScope() == Artifact.SCOPE_COMPILE);
-            }
-        };
-
-        JbiResolutionListener listener = resolveProject();
-        if (getLog().isDebugEnabled()) {
-            print(listener.getRootNode(), " ");
-        }
-
-        Set<Artifact> includes = new HashSet<Artifact>();
-        Set<Artifact> excludes = new HashSet<Artifact>();
-        for (Iterator iter = project.getArtifacts().iterator(); iter.hasNext();) {
-            Artifact artifact = (Artifact) iter.next();
-            if (filter.include(artifact)) {
-                MavenProject project = null;
-                try {
-                    project = projectBuilder.buildFromRepository(artifact, remoteRepos, localRepo);
-                } catch (ProjectBuildingException e) {
-                    getLog().warn("Unable to determine packaging for dependency : "
-                                    + artifact.getArtifactId()
-                                    + " assuming jar");
-                }
-                String type = project != null ? project.getPackaging() : artifact.getType();
-                if ("jbi-shared-library".equals(type)) {
-                    excludeBranch(listener.getNode(artifact), excludes);
-                } else if (componentTypes.contains(type)) {
-                    includes.add(artifact);
-                }
-            }
-        }
-        pruneTree(listener.getRootNode(), excludes);
-        if (getLog().isDebugEnabled()) {
-            getLog().info("Excludes: " + excludes);
-            print(listener.getRootNode(), " ");
-        }
-
-        for (Artifact artifact : retainArtifacts(includes, listener)) {
-            try {
-                getLog().info("Including: " + artifact);
-                FileUtils.copyFileToDirectory(artifact.getFile(), new File(workDirectory, LIB_DIRECTORY));
-            } catch (IOException e) {
-                throw new JbiPluginException("Unable to copy file " + artifact.getFile(), e);
-            }
-        }
-    }
-
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateDependsFileMojo.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateDependsFileMojo.java
deleted file mode 100644
index ac0fc44..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateDependsFileMojo.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.PrintStream;
-import java.util.Date;
-import java.util.Iterator;
-
-import org.apache.maven.model.Dependency;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-
-/**
- * Generates the dependencies properties file
- *
- * @version $Id: $
- * @goal generate-depends-file
- * @phase generate-resources
- * @requiresDependencyResolution runtime
- * @description Generates the dependencies properties file
- */
-public class GenerateDependsFileMojo extends AbstractJbiMojo {
-
-    protected static final String SEPARATOR = "/";
-
-    /**
-     * The file to generate
-     *
-     * @parameter default-value="${project.build.directory}/classes/META-INF/maven/dependencies.properties"
-     */
-    
-    private File outputFile;
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        OutputStream out = null;
-        try {
-            outputFile.getParentFile().mkdirs();
-            out = new FileOutputStream(outputFile);
-            PrintStream printer = new PrintStream(out);
-            populateProperties(printer);
-            getLog().info("Created: " + outputFile);
-
-        } catch (Exception e) {
-            throw new MojoExecutionException(
-                    "Unable to create dependencies file: " + e, e);
-        } finally {
-            if (out != null) {
-                try {
-                    out.close();
-                } catch (IOException e) {
-                    getLog().info("Failed to close: " + outputFile + ". Reason: " + e, e);
-                }
-            }
-        }
-    }
-
-    protected void populateProperties(PrintStream out) {
-        out.println("# Project dependencies generated by the Apache ServiceMix Maven Plugin");
-        out.println("# Generated at: " + new Date());
-        out.println();
-
-        out.println("groupId = " + project.getGroupId());
-        out.println("artifactId = " + project.getArtifactId());
-        out.println("version = " + project.getVersion());
-        out.println(project.getGroupId() + SEPARATOR + project.getArtifactId() + SEPARATOR + "version = " + project.getVersion());
-        out.println();
-        out.println("# dependencies");
-        out.println();
-
-        Iterator iterator = project.getDependencies().iterator();
-        while (iterator.hasNext()) {
-            Dependency dependency = (Dependency) iterator.next();
-            String prefix = dependency.getGroupId() + SEPARATOR + dependency.getArtifactId() + SEPARATOR;
-            out.println(prefix + "version = " + dependency.getVersion());
-            String classifier = dependency.getClassifier();
-            if (classifier != null) {
-                out.println(prefix + "classifier = " + classifier);
-            }
-            out.println(prefix + "type = " + dependency.getType());
-            out.println(prefix + "scope = " + dependency.getScope());
-            out.println();
-
-            getLog().debug("Dependency: " + dependency + " classifier: " + classifier + " type: " + dependency.getType());
-        }
-    }
-}
\ No newline at end of file
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateServiceAssemblyDescriptorMojo.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateServiceAssemblyDescriptorMojo.java
deleted file mode 100644
index ef07ba9..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateServiceAssemblyDescriptorMojo.java
+++ /dev/null
@@ -1,489 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.Profile;
-import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectBuildingException;
-import org.apache.servicemix.common.packaging.Consumes;
-import org.apache.servicemix.common.packaging.Provides;
-import org.codehaus.plexus.util.FileUtils;
-
-/**
- * A Mojo used to build the jbi.xml file for a service unit.
- * 
- * @author <a href="pdodds@apache.org">Philip Dodds</a>
- * @version $Id: GenerateComponentDescriptorMojo 314956 2005-10-12 16:27:15Z
- *          brett $
- * @goal generate-jbi-service-assembly-descriptor
- * @phase generate-resources
- * @requiresDependencyResolution runtime
- * @description generates the jbi.xml deployment descriptor for a service unit
- */
-public class GenerateServiceAssemblyDescriptorMojo extends AbstractJbiMojo {
-
-    public static final String JBI_NAMESPACE = "http://java.sun.com/xml/ns/jbi";
-
-    public static final String UTF_8 = "UTF-8";
-
-    public class Connection {
-        private Consumes consumes;
-
-        private Provides provides;
-
-        public Consumes getConsumes() {
-            return consumes;
-        }
-
-        public void setConsumes(Consumes consumes) {
-            this.consumes = consumes;
-        }
-
-        public Provides getProvides() {
-            return provides;
-        }
-
-        public void setProvides(Provides provides) {
-            this.provides = provides;
-        }
-    }
-
-    /**
-     * Whether the jbi.xml should be generated or not.
-     * 
-     * @parameter
-     */
-    private Boolean generateJbiDescriptor = Boolean.TRUE;
-
-    /**
-     * The component name.
-     * 
-     * @parameter expression="${project.artifactId}"
-     */
-    private String name;
-
-    /**
-     * The component description.
-     * 
-     * @parameter expression="${project.name}"
-     */
-    private String description;
-
-    /**
-     * Character encoding for the auto-generated application.xml file.
-     * 
-     * @parameter
-     */
-    private String encoding = UTF_8;
-
-    /**
-     * Directory where the application.xml file will be auto-generated.
-     * 
-     * @parameter expression="${project.build.directory}/classes/META-INF"
-     */
-    private String generatedDescriptorLocation;
-
-    /**
-     * The location of a file containing the connections elements that can be
-     * merged into the jbi.xml
-     * 
-     * @parameter expression="${basedir}/src/main/resources/jbi-connections.xml"
-     */
-    private File jbiConnectionsFile;
-
-    /**
-     * Dependency graph
-     */
-    private JbiResolutionListener listener;
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-
-        getLog()
-                .debug(
-                        " ======= GenerateServiceAssemlbyDescriptorMojo settings =======");
-        getLog().debug("workDirectory[" + workDirectory + "]");
-        getLog().debug("generateJbiDescriptor[" + generateJbiDescriptor + "]");
-        getLog().debug("name[" + name + "]");
-        getLog().debug("description[" + description + "]");
-        getLog().debug("encoding[" + encoding + "]");
-        getLog().debug(
-                "generatedDescriptorLocation[" + generatedDescriptorLocation
-                        + "]");
-
-        if (!generateJbiDescriptor.booleanValue()) {
-            getLog().debug("Generation of jbi.xml is disabled");
-            return;
-        }
-
-        // Generate jbi descriptor and copy it to the build directory
-        getLog().info("Generating jbi.xml");
-        try {
-            listener = resolveProject();
-            generateJbiDescriptor();
-        } catch (JbiPluginException e) {
-            throw new MojoExecutionException("Failed to generate jbi.xml", e);
-        }
-
-        try {
-            FileUtils.copyFileToDirectory(new File(generatedDescriptorLocation,
-                    JBI_DESCRIPTOR), new File(getWorkDirectory(), META_INF));
-        } catch (IOException e) {
-            throw new MojoExecutionException(
-                    "Unable to copy jbi.xml to final destination", e);
-        }
-    }
-
-    /**
-     * Generates the deployment descriptor if necessary.
-     * 
-     * @throws MojoExecutionException
-     */
-    protected void generateJbiDescriptor() throws JbiPluginException,
-            MojoExecutionException {
-        File outputDir = new File(generatedDescriptorLocation);
-        if (!outputDir.exists()) {
-            outputDir.mkdirs();
-        }
-
-        File descriptor = new File(outputDir, JBI_DESCRIPTOR);
-
-        List serviceUnits = new ArrayList();
-
-        Set artifacts = project.getArtifacts();
-        for (Iterator iter = artifacts.iterator(); iter.hasNext();) {
-        	
-            Artifact artifact = (Artifact) iter.next();
-            // TODO: utilise appropriate methods from project builder
-            ScopeArtifactFilter filter = new ScopeArtifactFilter(
-                    Artifact.SCOPE_RUNTIME);
-            if (!artifact.isOptional() && filter.include(artifact)
-                    && (artifact.getDependencyTrail().size() == 2)) {
-                MavenProject project = null;
-                try {
-                    project = projectBuilder.buildFromRepository(artifact,
-                            remoteRepos, localRepo);
-                } catch (ProjectBuildingException e) {
-                    getLog().warn(
-                            "Unable to determine packaging for dependency : "
-                                    + artifact.getArtifactId()
-                                    + " assuming jar");
-                }
-                if ((project != null)
-                        && (project.getPackaging().equals("jbi-service-unit"))) {
-                    DependencyInformation info = new DependencyInformation();
-                    info.setName(artifact.getArtifactId());
-                    String fileName = artifact.getFile().getName();
-                    if (fileName == null) {
-                        // the name is not defined in the POM
-                        // try to use the artifactId
-                        // as the artifactId is mandatory by maven, we don't
-                        // need any additional test
-                        fileName = artifact.getArtifactId();
-                    }
-                    if (fileName.equals("classes")) {
-                    	fileName = artifact.getArtifactId() + "-" + artifact.getVersion() + ".jar";
-                    }
-                    String suName = getServiceUnitName(project);
-                    if (suName != null && suName.length() > 0) {
-                    	fileName = suName;
-                    } else {
-                    	fileName = fileName.substring(0, fileName.lastIndexOf('.')) + ".zip";
-                    }
-                    info.setFilename(fileName);
-                    info.setComponent(getComponentName(project, artifacts, artifact));
-                    info.setDescription(project.getDescription());
-                    serviceUnits.add(info);
-                }
-
-            }
-        }
-
-        List orderedServiceUnits = reorderServiceUnits(serviceUnits);
-
-        List connections = getConnections();
-
-        JbiServiceAssemblyDescriptorWriter writer = new JbiServiceAssemblyDescriptorWriter(
-                encoding);
-        writer.write(descriptor, name, description, orderedServiceUnits,
-                connections);
-    }
-
-    /**
-     * Used to return a list of connections if they have been found in the
-     * jbiConnectionsFile
-     * 
-     * @return A list of connections
-     * @throws MojoExecutionException
-     */
-    private List getConnections() throws MojoExecutionException {
-
-        if (jbiConnectionsFile.exists()) {
-            return parseConnectionsXml();
-        } else {
-            return new ArrayList();
-        }
-    }
-
-    /**
-     * Parse the jbiConnectionsFile
-     * 
-     * @return
-     * @throws MojoExecutionException
-     */
-    private List parseConnectionsXml() throws MojoExecutionException {
-        getLog().info(
-                "Picking up connections from "
-                        + jbiConnectionsFile.getAbsolutePath());
-        List connections = new ArrayList();
-        try {
-            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-            dbf.setNamespaceAware(true);
-            DocumentBuilder db = dbf.newDocumentBuilder();
-            Document doc = db.parse(jbiConnectionsFile);
-
-            Node servicesNode = doc.getFirstChild();
-            if (servicesNode instanceof Element
-                  && XmlDescriptorHelper.isElement(servicesNode, JBI_NAMESPACE, "connections")) {
-                // We will process the children
-                Element servicesElement = (Element) servicesNode;
-                NodeList children = servicesElement.getChildNodes();
-                for (int i = 0; i < children.getLength(); i++) {
-                    if (XmlDescriptorHelper.isElement(children.item(i), JBI_NAMESPACE, "connection")) {
-                        Connection connection = new Connection();
-                        NodeList connectionChildren = children.item(i).getChildNodes();
-                        for (int x = 0; x < connectionChildren.getLength(); x++) {
-                            if (connectionChildren.item(x) instanceof Element) {
-                                Element childElement = (Element) connectionChildren.item(x);
-                                if (XmlDescriptorHelper.isElement(
-                                        childElement, JBI_NAMESPACE, "consumer")) {
-                                    Consumes newConsumes = new Consumes();
-                                    newConsumes.setEndpointName(XmlDescriptorHelper
-                                                    .getEndpointName(childElement));
-                                    newConsumes.setInterfaceName(XmlDescriptorHelper
-                                                    .getInterfaceName(childElement));
-                                    newConsumes.setServiceName(XmlDescriptorHelper
-                                                    .getServiceName(childElement));
-                                    connection.setConsumes(newConsumes);
-                                } else if (XmlDescriptorHelper.isElement(
-                                        childElement, JBI_NAMESPACE, "provider")) {
-                                    Provides newProvides = new Provides();
-                                    newProvides.setEndpointName(XmlDescriptorHelper
-                                                    .getEndpointName(childElement));
-                                    newProvides.setInterfaceName(XmlDescriptorHelper
-                                                    .getInterfaceName(childElement));
-                                    newProvides.setServiceName(XmlDescriptorHelper
-                                                    .getServiceName(childElement));
-                                    connection.setProvides(newProvides);
-                                }
-                            }
-                        }
-                        connections.add(connection);
-                    }
-                }
-            }
-            getLog().info("Found " + connections.size() + " connections");
-            return connections;
-        } catch (Exception e) {
-            throw new MojoExecutionException("Unable to parse "
-                    + jbiConnectionsFile.getAbsolutePath());
-        }
-    }
-
-    /**
-     * Re-orders the service units to match order in the dependencies section of
-     * the pom
-     * 
-     * @param serviceUnits
-     * @throws MojoExecutionException
-     */
-    private List reorderServiceUnits(List serviceUnits) throws MojoExecutionException {
-
-        // TODO Currently we get the model back by re-parsing it however in the
-        // future we should be able to use the getModel() - there should be a
-        // fix post 2.0.4
-
-        // Iterator dependencies =
-        // project.getModel().getDependencies().iterator();
-
-        // For now we will need to reparse the pom without processing
-        Iterator dependencies = getReparsedDependencies();
-
-        List orderedServiceUnits = new ArrayList();
-        parseDependencies(serviceUnits, dependencies, orderedServiceUnits);
-        
-        //get chance the go through the active profile dependencies so that the SU dependency 
-        //from active profile can also be taken into account
-
-        List activeProfileList = project.getActiveProfiles();
-        for (Iterator iter = activeProfileList.iterator(); iter.hasNext();) {
-                Profile activeProfile = (Profile) iter.next();
-                parseDependencies(serviceUnits, activeProfile.getDependencies().iterator(), orderedServiceUnits);
-                
-        }
-
-        return orderedServiceUnits;
-    }
-
-	private void parseDependencies(List serviceUnits, Iterator dependencies,
-			List orderedServiceUnits) throws MojoExecutionException {
-		while (dependencies.hasNext()) {
-            Dependency dependency = (Dependency) dependencies.next();
-            if (dependency.getArtifactId().contains("${")) {
-                int first = dependency.getArtifactId().indexOf("${");
-                int last  = dependency.getArtifactId().indexOf("}");
-                String property = dependency.getArtifactId().substring(first + 2, last);
-                Object propValue = project.getProperties().get(property);
-                if (propValue == null) {
-                    throw new MojoExecutionException("The value for the property " + property + "is not set."
-                            + "Jbi descriptor may not be generated properly");
-                }
-                String propString = (String) propValue;
-                String artifactID = dependency.getArtifactId().replace("${" + property + "}", propString);
-                dependency.setArtifactId(artifactID);
-            }
-            for (Iterator it = serviceUnits.iterator(); it.hasNext();) {
-                DependencyInformation serviceUnitInfo = (DependencyInformation) it
-                        .next();
-                if (dependency.getArtifactId()
-                        .equals(serviceUnitInfo.getName())) {
-                	//check if this su already added to descriptor
-                	boolean addedSu = false;
-                	for (Iterator innerIt = orderedServiceUnits.iterator();innerIt.hasNext();) {
-                		DependencyInformation addedServiceUnitInfo = (DependencyInformation) innerIt.next();
-                		if (addedServiceUnitInfo.getName().equals(serviceUnitInfo.getName())) {
-                			addedSu = true;
-                		}
-                	}
-                	if (!addedSu) {
-                		getLog().debug("Adding " + serviceUnitInfo.getFilename());
-                		orderedServiceUnits.add(serviceUnitInfo);
-                	}
-                }
-
-            }
-        }
-	}
-
-    private Iterator getReparsedDependencies() throws MojoExecutionException {
-        MavenXpp3Reader mavenXpp3Reader = new MavenXpp3Reader();
-        try {
-            Model model = mavenXpp3Reader.read(new FileReader(new File(project
-                    .getBasedir(), "pom.xml")), false);
-            return model.getDependencies().iterator();
-        } catch (Exception e) {
-            throw new MojoExecutionException("Unable to reparse the pom.xml");
-        }
-    }
-
-    private String getComponentName(MavenProject project, Set artifacts,
-            Artifact suArtifact) throws MojoExecutionException {
-
-        getLog().info(
-                "Determining component name for service unit "
-                        + project.getArtifactId());
-        if (project.getProperties().getProperty("componentName") != null) {
-            return project.getProperties().getProperty("componentName");
-        }
-
-        JbiResolutionListener.Node n = listener.getNode(suArtifact);
-        for (Iterator it = n.getChildren().iterator(); it.hasNext();) {
-            JbiResolutionListener.Node child = (JbiResolutionListener.Node) it
-                    .next();
-            MavenProject artifactProject = null;
-            try {
-                getLog().info(child.getArtifact().toString());
-                
-                artifactProject = projectBuilder
-                    .buildFromRepository(child.getArtifact(), 
-                                         remoteRepos, localRepo);
-            } catch (ProjectBuildingException e) {
-                getLog().warn(
-                        "Unable to determine packaging for dependency : "
-                                + child.getArtifact().getArtifactId()
-                                + " assuming jar");
-                getLog().debug(e);                
-            }      
-            if (artifactProject != null) {
-                getLog().info(
-                              "Project " + artifactProject + " packaged "
-                              + artifactProject.getPackaging());
-            }
-            if ((artifactProject != null)
-                    && (artifactProject.getPackaging().equals("jbi-component"))) {
-                return child.getArtifact().getArtifactId();
-            }
-        }
-        
-        //as the jbi-component packaged dependency may already have been pruned
-        //in case of multiple sus which belong to same jbi-component exist in one sa, so we
-        //just check the dependencies from this su maven project to find the jbi-component name
-        
-        for (Iterator it = project.getArtifacts().iterator(); it.hasNext();) {
-            Artifact artifactInSUPom = (Artifact) it
-                    .next();
-            MavenProject artifactProject = null;
-            try {
-                artifactProject = projectBuilder.buildFromRepository(artifactInSUPom
-                        , remoteRepos, localRepo);
-            } catch (ProjectBuildingException e) {
-                getLog().warn(
-                        "Unable to determine packaging for dependency : "
-                                + artifactInSUPom.getArtifactId()
-                                + " assuming jar");
-                getLog().debug(e);                
-            }
-            if (artifactProject != null) {
-                getLog().info(
-                    "Project " + artifactProject + " packaged "
-                            + artifactProject.getPackaging());
-            }
-            if ((artifactProject != null)
-                    && (artifactProject.getPackaging().equals("jbi-component"))) {
-                return artifactInSUPom.getArtifactId();
-            }
-        }
-
-        throw new MojoExecutionException(
-                "The service unit "
-                        + project.getArtifactId()
-                        + " does not have a dependency which is packaged as a jbi-component or a project property 'componentName'");
-    }
-
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateServiceAssemblyMojo.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateServiceAssemblyMojo.java
deleted file mode 100644
index cdbfc6b..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateServiceAssemblyMojo.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import org.apache.maven.archiver.MavenArchiveConfiguration;
-import org.apache.maven.archiver.MavenArchiver;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectBuildingException;
-import org.codehaus.plexus.archiver.jar.JarArchiver;
-import org.codehaus.plexus.archiver.jar.Manifest;
-import org.codehaus.plexus.util.DirectoryScanner;
-import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * A Mojo used to build the jbi service assembly zip file
- *
- * @goal jbi-service-assembly
- * @phase package
- * @requiresDependencyResolution runtime
- * @description injects additional libraries into service assembly
- */
-public class GenerateServiceAssemblyMojo extends AbstractJbiMojo {
-
-    /**
-     * The Zip archiver.
-     *
-     * @parameter expression="${component.org.codehaus.plexus.archiver.Archiver#jar}"
-     * @component role="org.codehaus.plexus.archiver.Archiver" roleHint="jar"
-     * @required
-     */
-    private JarArchiver jarArchiver;
-
-    /**
-     * The directory for the generated JBI component.
-     *
-     * @parameter expression="${project.build.directory}"
-     * @required
-     */
-    private File outputDirectory;
-
-    /**
-     * The name of the generated war.
-     *
-     * @parameter expression="${project.build.finalName}.zip"
-     * @required
-     */
-    private String finalName;
-
-    /**
-     * The maven archive configuration to use.
-     *
-     * @parameter
-     */
-    private MavenArchiveConfiguration archive = new MavenArchiveConfiguration();
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        try {
-            injectDependentServiceUnits();
-            File sa = new File(outputDirectory, finalName);
-            createArchive(sa);
-            project.getArtifact().setFile(sa);
-        } catch (Exception e) {
-            throw new MojoExecutionException("Failed to inject dependencies", e);
-        }
-    }
-
-    private void createArchive(File installerFile) throws JbiPluginException {
-        try {
-            getLog().info("Generating service assembly " + installerFile.getAbsolutePath());
-            MavenArchiver archiver = new MavenArchiver();
-            archiver.setArchiver(jarArchiver);
-            archiver.setOutputFile(installerFile);
-            Manifest m = createManifest();
-            String version = getProject().getArtifact().getVersion();
-            // add Implementation-Version attribute in the MANIFEST
-            m.getMainSection().addConfiguredAttribute(new Manifest.Attribute("Implementation-Version", version));
-
-            getLog().info("Add Implementation-Version: " + version);
-
-            jarArchiver.addConfiguredManifest(m);
-
-            File classesDir = new File(getProject().getBuild().getOutputDirectory());
-            if ( classesDir.exists() )
-                jarArchiver.addDirectory(classesDir, null, DirectoryScanner.DEFAULTEXCLUDES);
-
-            jarArchiver.addDirectory(workDirectory, null, DirectoryScanner.DEFAULTEXCLUDES);
-            archiver.createArchive(getProject(), archive);
-        } catch (Exception e) {
-            throw new JbiPluginException("Error creating shared library: "
-                    + e.getMessage(), e);
-        }
-    }
-
-    private void injectDependentServiceUnits() throws JbiPluginException, ArtifactResolutionException, ArtifactNotFoundException {
-        Set artifacts = project.getArtifacts();
-        for (Iterator iter = artifacts.iterator(); iter.hasNext();) {
-            Artifact artifact = (Artifact) iter.next();
-            // TODO: utilise appropriate methods from project builder
-            ScopeArtifactFilter filter = new ScopeArtifactFilter(Artifact.SCOPE_RUNTIME);
-            if (!artifact.isOptional() && filter.include(artifact) && (artifact.getDependencyTrail().size() == 2)) {
-                MavenProject project = null;
-                try {
-                    project = projectBuilder.buildFromRepository(artifact, remoteRepos, localRepo);
-                } catch (ProjectBuildingException e) {
-                    getLog().warn("Unable to determine packaging for dependency : "
-                                    + artifact.getArtifactId()
-                                    + " assuming jar");
-                }
-                if (project != null && project.getPackaging().equals("jbi-service-unit")) {
-                    try {
-                    	String suName = getServiceUnitName(project);
-                    	String path = artifact.getFile().getAbsolutePath();
-                    	if (suName != null && suName.length() > 0) {
-                    		path = path.substring(0, path.lastIndexOf(File.separator)) + File.separator + suName;
-                    	} else {
-                    		path = path.substring(0, path.lastIndexOf('.')) + ".zip";
-                    	}
-                    	FileUtils.copyFileToDirectory(new File(path), workDirectory);
-                    } catch (IOException e) {
-                        throw new JbiPluginException(e);
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateServiceUnitDescriptorMojo.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateServiceUnitDescriptorMojo.java
deleted file mode 100644
index b8e2301..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateServiceUnitDescriptorMojo.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
-import org.apache.maven.model.Plugin;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectBuildingException;
-import org.apache.servicemix.common.packaging.ServiceUnitAnalyzer;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-
-/**
- * A Mojo used to build the jbi.xml file for a service unit.
- * 
- * @author <a href="pdodds@apache.org">Philip Dodds</a>
- * @version $Id: GenerateComponentDescriptorMojo 314956 2005-10-12 16:27:15Z
- *          brett $
- * @goal generate-jbi-service-unit-descriptor
- * @phase process-classes
- * @requiresDependencyResolution runtime
- * @description generates the jbi.xml deployment descriptor for a service unit
- */
-public class GenerateServiceUnitDescriptorMojo extends AbstractJbiMojo {
-
-    public static final String UTF_8 = "UTF-8";
-
-    /**
-     * Whether the jbi.xml should be generated or not.
-     * 
-     * @parameter
-     */
-    private Boolean generateJbiDescriptor = Boolean.TRUE;
-
-    /**
-     * Determines whether to use the service unit analyzer
-     * 
-     * @parameter
-     */
-    private Boolean useServiceUnitAnalyzer = Boolean.TRUE;
-
-    /**
-     * Specifies a serviceUnitAnalyzer class name (optional)
-     * 
-     * @parameter
-     */
-    private String serviceUnitAnalyzerClass;
-
-    /**
-     * Fail if the descriptor generation fails
-     * 
-     * @parameter
-     */
-    private Boolean failOnJbiDescriptorFailure = Boolean.FALSE;
-
-    /**
-     * Single directory for extra files to include in the JBI component.
-     * 
-     * @parameter expression="${basedir}/src/main/resources/jbi-services.xml"
-     * @required
-     */
-    private File jbiServicesFile;
-
-    /**
-     * The component name.
-     * 
-     * @parameter expression="${project.artifactId}"
-     */
-    private String name;
-
-    /**
-     * The component description.
-     * 
-     * @parameter expression="${project.name}"
-     */
-    private String description;
-
-    /**
-     * Character encoding for the auto-generated application.xml file.
-     * 
-     * @parameter
-     */
-    private String encoding = UTF_8;
-
-    /**
-     * Directory where the application.xml file will be auto-generated.
-     * 
-     * @parameter expression="${project.build.directory}/classes/META-INF"
-     */
-    private String generatedDescriptorLocation;
-
-    /**
-     * Directory where artifacts for the service unit are held
-     * 
-     * @parameter expression="${basedir}/src/main/resources"
-     */
-    private File serviceUnitArtifactsDir;
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-
-        getLog().debug(
-                " ======= GenerateServiceUnitDescriptorMojo settings =======");
-        getLog().debug("workDirectory[" + workDirectory + "]");
-        getLog().debug("generateDescriptor[" + generateJbiDescriptor + "]");
-        getLog().debug("name[" + name + "]");
-        getLog().debug("description[" + description + "]");
-        getLog().debug("encoding[" + encoding + "]");
-        getLog().debug(
-                "generatedDescriptorLocation[" + generatedDescriptorLocation
-                        + "]");
-
-        if (!generateJbiDescriptor.booleanValue()) {
-            getLog().debug("Generation of jbi.xml is disabled");
-            return;
-        }
-
-        // Generate jbi descriptor and copy it to the build directory
-        getLog().info("Generating jbi.xml");
-        try {
-            generateJbiDescriptor();
-        } catch (JbiPluginException e) {
-            if (failOnJbiDescriptorFailure.booleanValue()) {
-                throw new MojoExecutionException("Failed to generate jbi.xml",
-                        e);
-            } else {
-                getLog().warn("Failed to generate jbi.xml: " + e, e);
-            }
-        }
-
-    }
-
-    /**
-     * Generates the deployment descriptor if necessary.
-     */
-    protected void generateJbiDescriptor() throws JbiPluginException {
-        File outputDir = new File(generatedDescriptorLocation);
-        if (!outputDir.exists()) {
-            outputDir.mkdirs();
-        }
-
-        ClassLoader old = Thread.currentThread().getContextClassLoader();
-
-        try {
-            URLClassLoader newClassLoader = getClassLoader();
-            Thread.currentThread().setContextClassLoader(newClassLoader);
-            File descriptor = new File(outputDir, JBI_DESCRIPTOR);
-            List uris = new ArrayList();
-            JbiServiceUnitDescriptorWriter writer = new JbiServiceUnitDescriptorWriter(
-                    encoding);
-
-            List consumes = new ArrayList();
-            List provides = new ArrayList();
-
-            String serviceUnitAnalyzerClazzName = getServiceUnitAnalyzer();
-            // The ServiceUnitAnalyzer should give us the consumes and
-            // provides
-            if (serviceUnitAnalyzerClazzName != null) {
-                ServiceUnitAnalyzer serviceUnitAnalyzer = (ServiceUnitAnalyzer) newClassLoader
-                        .loadClass(serviceUnitAnalyzerClazzName).newInstance();
-                getLog().info(
-                        "Created Service Unit Analyzer " + serviceUnitAnalyzer);
-                serviceUnitAnalyzer.init(serviceUnitArtifactsDir);
-
-                // Need to determine whether we are using the dummy analyzer
-                // if so we need to give it the services file
-                if (serviceUnitAnalyzer instanceof JbiServiceFileAnalyzer) {
-                    ((JbiServiceFileAnalyzer) serviceUnitAnalyzer)
-                            .setJbiServicesFile(jbiServicesFile);
-                }
-                consumes.addAll(serviceUnitAnalyzer.getConsumes());
-                provides.addAll(serviceUnitAnalyzer.getProvides());
-            }
-
-            getLog().info(
-                    "generated : consumes " + consumes + " provides "
-                            + provides);
-
-            boolean bc = false;
-            // TODO: find if the component target is a BC ?
-            writer.write(descriptor, bc, name, description, uris, consumes,
-                    provides);
-        } catch (Exception e) {
-            throw new JbiPluginException(
-                    "Unable to generate service unit descriptor!", e);
-        } finally {
-            Thread.currentThread().setContextClassLoader(old);
-        }
-    }
-
-    private String getServiceUnitAnalyzer() {
-        // We need to work out here whether we should use a dummy service unit
-        // analyzer that will examine a local services file or whether
-        // to look for the service unit analyzer from the component
-        if (jbiServicesFile.exists()) {
-            return JbiServiceFileAnalyzer.class.getCanonicalName();
-        }
-        if (useServiceUnitAnalyzer.booleanValue()) {
-            if (serviceUnitAnalyzerClass != null) {
-                return serviceUnitAnalyzerClass;
-            }
-            MavenProject project = getComponentProject();
-            if (project != null) {
-                List plugins = project.getBuild().getPlugins();
-                for (Iterator iterator = plugins.iterator(); iterator.hasNext();) {
-                    Plugin plugin = (Plugin) iterator.next();
-                    if ("org.apache.servicemix.tooling".equals(plugin
-                            .getGroupId())
-                            && "jbi-maven-plugin"
-                                    .equals(plugin.getArtifactId())) {
-                        Xpp3Dom o = (Xpp3Dom) plugin.getConfiguration();
-                        if (o != null
-                                && o.getChild("serviceUnitAnalyzer") != null) {
-                            String clazzName = o
-                                    .getChild("serviceUnitAnalyzer").getValue();
-                            return clazzName;
-                        }
-                    }
-                }
-            }
-        }
-        return null;
-    }
-
-    private MavenProject getComponentProject() {
-        Set artifacts = project.getArtifacts();
-        for (Iterator iter = artifacts.iterator(); iter.hasNext();) {
-            Artifact artifact = (Artifact) iter.next();
-
-            // TODO: utilise appropriate methods from project builder
-            ScopeArtifactFilter filter = new ScopeArtifactFilter(
-                    Artifact.SCOPE_RUNTIME);
-            if (!artifact.isOptional() && filter.include(artifact)
-                    && (artifact.getDependencyTrail().size() == 2)) {
-                MavenProject project = null;
-                try {
-                    project = projectBuilder.buildFromRepository(artifact,
-                            remoteRepos, localRepo);
-                } catch (ProjectBuildingException e) {
-                    getLog().warn(
-                            "Unable to determine packaging for dependency : "
-                                    + artifact.getArtifactId()
-                                    + " assuming jar");
-                }
-                if ((project != null)
-                        && (project.getPackaging().equals("jbi-component"))) {
-                    return project;
-                }
-
-            }
-        }
-        return null;
-    }
-
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateServiceUnitMojo.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateServiceUnitMojo.java
deleted file mode 100644
index 3b2c7e0..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateServiceUnitMojo.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.apache.maven.archiver.MavenArchiveConfiguration;
-import org.apache.maven.archiver.MavenArchiver;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.DependencyResolutionRequiredException;
-import org.apache.maven.artifact.handler.ArtifactHandler;
-import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectBuildingException;
-import org.codehaus.plexus.archiver.ArchiverException;
-import org.codehaus.plexus.archiver.jar.JarArchiver;
-import org.codehaus.plexus.archiver.jar.ManifestException;
-import org.codehaus.plexus.util.FileUtils;
-
-/**
- * A Mojo used to build the jbi service unit zip file
- * 
- * @author <a href="pdodds@apache.org">Philip Dodds</a>
- * @version $Id: GenerateApplicationXmlMojo.java 314956 2005-10-12 16:27:15Z
- *          brett $
- * @goal jbi-service-unit
- * @phase package
- * @requiresDependencyResolution runtime
- * @description injects additional libraries into service unit
- */
-public class GenerateServiceUnitMojo extends AbstractJbiMojo {
-
-    /**
-     * The name of the generated war.
-     * 
-     * @parameter expression="${project.build.finalName}.zip"
-     * @required
-     */
-    private String serviceUnitName;
-
-    /**
-     * The directory for the generated JBI component.
-     * 
-     * @parameter expression="${project.build.directory}"
-     * @required
-     */
-    private File outputDirectory;
-
-    /**
-     * The Zip archiver.
-     * 
-     * @parameter expression="${component.org.codehaus.plexus.archiver.Archiver#jar}"
-     * @component role="org.codehaus.plexus.archiver.Archiver" roleHint="jar"
-     * @required
-     */
-    private JarArchiver jarArchiver;
-
-    /**
-     * The maven archive configuration to use.
-     * 
-     * @parameter
-     */
-    private MavenArchiveConfiguration archive = new MavenArchiveConfiguration();
-
-    /**
-     * Directory where the application.xml file will be auto-generated.
-     * 
-     * @parameter expression="${project.build.directory}/classes"
-     */
-    private File serviceUnitLocation;
-    
-    /**
-     * ArtifactHandler to handle jbi-service-unit artifacts
-     * 
-     * @component role="org.apache.maven.artifact.handler.ArtifactHandler" roleHint="jbi-service-unit"
-     */
-    private ArtifactHandler handler;
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        try {
-        	
-            project.getArtifact().setArtifactHandler(handler);
-            createUnpackedInstaller();
-
-            File serviceUnitFile = new File(outputDirectory, serviceUnitName);
-            createArchive(serviceUnitFile);
-
-            projectHelper.attachArtifact(project, "zip", "", new File(
-                    outputDirectory, serviceUnitName));
-
-        } catch (JbiPluginException e) {
-            throw new MojoExecutionException("Failed to create service unit", e);
-        }
-
-    }
-
-    private void createArchive(File installerFile) throws JbiPluginException {
-        try {
-
-            // generate war file
-            getLog().info(
-                    "Generating service unit "
-                            + installerFile.getAbsolutePath());
-            MavenArchiver archiver = new MavenArchiver();
-            archiver.setArchiver(jarArchiver);
-            archiver.setOutputFile(installerFile);
-            jarArchiver.addDirectory(workDirectory);
-
-            // create archive
-            archiver.createArchive(getProject(), archive);
-
-        } catch (ArchiverException e) {
-            throw new JbiPluginException("Error creating service unit: "
-                    + e.getMessage(), e);
-        } catch (ManifestException e) {
-            throw new JbiPluginException("Error creating service unit: "
-                    + e.getMessage(), e);
-        } catch (IOException e) {
-            throw new JbiPluginException("Error creating service unit: "
-                    + e.getMessage(), e);
-        } catch (DependencyResolutionRequiredException e) {
-            throw new JbiPluginException("Error creating service unit: "
-                    + e.getMessage(), e);
-        }
-
-    }
-
-    private void createUnpackedInstaller() throws JbiPluginException {
-
-        if (!workDirectory.isDirectory() && !workDirectory.mkdirs()) {
-            throw new JbiPluginException("Unable to create work directory: " + workDirectory);
-        }
-
-        try {
-            FileUtils.copyDirectoryStructure(serviceUnitLocation, workDirectory);
-        } catch (IOException e) {
-            throw new JbiPluginException("Unable to copy directory "
-                    + serviceUnitLocation, e);
-        }
-
-        ScopeArtifactFilter filter = new ScopeArtifactFilter(
-                Artifact.SCOPE_RUNTIME);
-
-        JbiResolutionListener listener = resolveProject();
-        // print(listener.getRootNode(), "");
-
-        Set includes = new HashSet();
-        for (Iterator iter = project.getArtifacts().iterator(); iter.hasNext();) {
-            Artifact artifact = (Artifact) iter.next();
-            if (!artifact.isOptional() && filter.include(artifact)) {
-                MavenProject project = null;
-                getLog().info("Resolving " + artifact);
-                try {
-                    project = projectBuilder.buildFromRepository(artifact,
-                            remoteRepos, localRepo);
-                } catch (ProjectBuildingException e) {
-                    getLog().warn(
-                            "Unable to determine packaging for dependency : "
-                                    + artifact.getArtifactId()
-                                    + " assuming jar");
-                }
-                String type = project != null ? project.getPackaging()
-                        : artifact.getType();
-                if ("jbi-component".equals(type)) {
-                    removeBranch(listener, artifact);
-                } else if ("jbi-shared-library".equals(type)) {
-                    removeBranch(listener, artifact);
-                } else {
-                    includes.add(artifact);
-                }
-            }
-        }
-        // print(listener.getRootNode(), "");
-
-        for (Iterator iter = retainArtifacts(includes, listener).iterator(); iter
-                .hasNext();) {
-            Artifact artifact = (Artifact) iter.next();
-            try {
-                getLog().info("Including: " + artifact);
-                FileUtils.copyFileToDirectory(artifact.getFile(), new File(
-                        workDirectory, LIB_DIRECTORY));
-            } catch (IOException e) {
-                throw new JbiPluginException("Unable to copy file "
-                        + artifact.getFile(), e);
-            }
-        }
-    }
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateSharedLibraryDescriptorMojo.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateSharedLibraryDescriptorMojo.java
deleted file mode 100644
index 1e8bb2d..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateSharedLibraryDescriptorMojo.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.codehaus.plexus.util.FileUtils;
-
-/**
- * A Mojo used to build the jbi.xml file for a shared library
- * 
- * @author <a href="pdodds@apache.org">Philip Dodds</a>
- * @version $Id: GenerateComponentDescriptorMojo 314956 2005-10-12 16:27:15Z
- *          brett $
- * @goal generate-jbi-shared-library-descriptor
- * @phase generate-resources
- * @requiresDependencyResolution runtime
- * @description generates the jbi.xml deployment descriptor for a shared library
- */
-public class GenerateSharedLibraryDescriptorMojo extends AbstractJbiMojo {
-
-    public static final String UTF_8 = "UTF-8";
-
-    /**
-     * Whether the jbi.xml should be generated or not.
-     * 
-     * @parameter
-     */
-    private Boolean generateJbiDescriptor = Boolean.TRUE;
-
-    /**
-     * The shared library name.
-     * 
-     * @parameter expression="${project.artifactId}"
-     */
-    private String name;
-
-    /**
-     * The shared library description.
-     * 
-     * @parameter expression="${project.name}"
-     */
-    private String description;
-
-    /**
-     * The shared library version.
-     * 
-     * @parameter expression="${project.version}"
-     */
-    private String version;
-
-    /**
-     * The shared library class loader delegation
-     * 
-     * @parameter expression="parent-first"
-     */
-    private String classLoaderDelegation;
-
-    /**
-     * Character encoding for the auto-generated application.xml file.
-     * 
-     * @parameter
-     */
-    private String encoding = UTF_8;
-
-    /**
-     * Directory where the application.xml file will be auto-generated.
-     * 
-     * @parameter expression="${project.build.directory}"
-     */
-    private String generatedDescriptorLocation;
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-
-        getLog()
-                .debug(
-                        " ======= GenerateSharedLibraryDescriptorMojo settings =======");
-        getLog().debug("workDirectory[" + workDirectory + "]");
-        getLog().debug("generateJbiDescriptor[" + generateJbiDescriptor + "]");
-        getLog().debug("name[" + name + "]");
-        getLog().debug("description[" + description + "]");
-        getLog().debug("encoding[" + encoding + "]");
-        getLog().debug(
-                "generatedDescriptorLocation[" + generatedDescriptorLocation
-                        + "]");
-        getLog().debug("version[" + version + "]");
-
-        if (!generateJbiDescriptor.booleanValue()) {
-            getLog().debug("Generation of jbi.xml is disabled");
-            return;
-        }
-
-        // Generate jbi descriptor and copy it to the build directory
-        getLog().info("Generating jbi.xml");
-        try {
-            generateJbiDescriptor();
-        } catch (JbiPluginException e) {
-            throw new MojoExecutionException("Failed to generate jbi.xml", e);
-        }
-
-        try {
-            FileUtils.copyFileToDirectory(new File(generatedDescriptorLocation,
-                    JBI_DESCRIPTOR), new File(getWorkDirectory(), META_INF));
-        } catch (IOException e) {
-            throw new MojoExecutionException(
-                    "Unable to copy jbi.xml to final destination", e);
-        }
-    }
-
-    /**
-     * Generates the deployment descriptor if necessary.
-     */
-    protected void generateJbiDescriptor() throws JbiPluginException {
-        File outputDir = new File(generatedDescriptorLocation);
-        if (!outputDir.exists()) {
-            outputDir.mkdirs();
-        }
-
-        File descriptor = new File(outputDir, JBI_DESCRIPTOR);
-
-        List embeddedLibraries = new ArrayList();
-
-        DependencyInformation info = new DependencyInformation();
-        info.setFilename(LIB_DIRECTORY + "/" + project.getArtifactId() + "-"
-                + project.getVersion() + ".jar");
-        info.setVersion(project.getVersion());
-        info.setName(project.getArtifactId());
-        info.setType("jar");
-        embeddedLibraries.add(info);
-
-        Set artifacts = project.getArtifacts();
-        for (Iterator iter = artifacts.iterator(); iter.hasNext();) {
-            Artifact artifact = (Artifact) iter.next();
-
-            // TODO: utilise appropriate methods from project builder
-            ScopeArtifactFilter filter = new ScopeArtifactFilter(
-                    Artifact.SCOPE_RUNTIME);
-            if (!artifact.isOptional() && filter.include(artifact)) {
-                String type = artifact.getType();
-                if ("jar".equals(type)) {
-                    info = new DependencyInformation();
-                    info.setFilename(LIB_DIRECTORY + "/"
-                            + artifact.getFile().getName());
-                    embeddedLibraries.add(info);
-                }
-            }
-        }
-
-        JbiSharedLibraryDescriptorWriter writer = new JbiSharedLibraryDescriptorWriter(
-                encoding);
-        writer.write(descriptor, name, description, version,
-                classLoaderDelegation, embeddedLibraries);
-    }
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateSharedLibraryMojo.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateSharedLibraryMojo.java
deleted file mode 100644
index cff991d..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/GenerateSharedLibraryMojo.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.apache.maven.archiver.MavenArchiveConfiguration;
-import org.apache.maven.archiver.MavenArchiver;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.codehaus.plexus.archiver.jar.JarArchiver;
-import org.codehaus.plexus.util.DirectoryScanner;
-import org.codehaus.plexus.util.FileUtils;
-
-/**
- * A Mojo used to build the jbi shared library zip file
- * 
- * @author <a href="pdodds@apache.org">Philip Dodds</a>
- * @version $Id: GenerateApplicationXmlMojo.java 314956 2005-10-12 16:27:15Z
- *          brett $
- * @goal jbi-shared-library
- * @phase package
- * @requiresDependencyResolution runtime
- * @description injects additional libraries into shared library
- */
-public class GenerateSharedLibraryMojo extends AbstractJbiMojo {
-
-    /**
-     * The directory for the generated JBI component.
-     * 
-     * @parameter expression="${project.build.directory}"
-     * @required
-     */
-    private File outputDirectory;
-
-    /**
-     * The name of the generated war.
-     * 
-     * @parameter expression="${project.build.finalName}.zip"
-     * @required
-     */
-    private String sharedLibraryName;
-
-    /**
-     * The name of the generated war.
-     * 
-     * @parameter expression="${project.build.finalName}.jar"
-     * @required
-     */
-    private String jarName;
-
-    /**
-     * The Zip archiver.
-     * 
-     * @component role="org.codehaus.plexus.archiver.Archiver" roleHint="jar"
-     * @required
-     */
-    private JarArchiver jarArchiver;
-
-    /**
-     * Single directory for extra files to include in the JBI component.
-     * 
-     * @parameter expression="${basedir}/src/main/jbi"
-     * @required
-     */
-    private File jbiSourceDirectory;
-
-    /**
-     * The maven archive configuration to use.
-     * 
-     * @parameter
-     */
-    private MavenArchiveConfiguration archive = new MavenArchiveConfiguration();
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-
-        getLog().debug(" ======= GenerateInstallerMojo settings =======");
-        getLog().debug("workDirectory[" + workDirectory + "]");
-        getLog().debug("installerName[" + sharedLibraryName + "]");
-        getLog().debug("jbiSourceDirectory[" + jbiSourceDirectory + "]");
-
-        try {
-
-            createUnpackedSharedLibrary();
-
-            File installerFile = new File(outputDirectory, sharedLibraryName);
-            createArchive(installerFile);
-
-            projectHelper.attachArtifact(project, "jar", "", new File(
-                    outputDirectory, jarName));
-
-            projectHelper.attachArtifact(project, "zip", "installer", new File(
-                    outputDirectory, sharedLibraryName));
-
-        } catch (JbiPluginException e) {
-            throw new MojoExecutionException("Failed to create shared library",
-                    e);
-        }
-    }
-
-    private void createArchive(File installerFile) throws JbiPluginException {
-        try {
-
-            // generate war file
-            getLog().info(
-                    "Generating shared library "
-                            + installerFile.getAbsolutePath());
-            MavenArchiver archiver = new MavenArchiver();
-            archiver.setArchiver(jarArchiver);
-            archiver.setOutputFile(installerFile);
-            jarArchiver.addDirectory(workDirectory);
-            jarArchiver.addConfiguredManifest(createManifest());
-            if (jbiSourceDirectory.isDirectory()) {
-                jarArchiver.addDirectory(jbiSourceDirectory, null,
-                        DirectoryScanner.DEFAULTEXCLUDES);
-            }
-            // create archive
-            archiver.createArchive(getProject(), archive);
-
-        } catch (Exception e) {
-            throw new JbiPluginException("Error creating shared library: "
-                    + e.getMessage(), e);
-        }
-    }
-
-    private void createUnpackedSharedLibrary() throws JbiPluginException {
-
-        if (!workDirectory.isDirectory() && !workDirectory.mkdirs()) {
-            throw new JbiPluginException("Unable to create work directory: " + workDirectory);
-        }
-
-        File projectArtifact = new File(outputDirectory, project
-                .getArtifactId()
-                + "-" + project.getVersion() + ".jar");
-        try {
-            FileUtils.copyFileToDirectory(projectArtifact, new File(
-                    workDirectory, LIB_DIRECTORY));
-
-        } catch (IOException e) {
-            throw new JbiPluginException("Unable to copy file "
-                    + projectArtifact, e);
-        }
-
-        Set artifacts = project.getArtifacts();
-        for (Iterator iter = artifacts.iterator(); iter.hasNext();) {
-            Artifact artifact = (Artifact) iter.next();
-
-            // TODO: utilise appropriate methods from project builder
-            ScopeArtifactFilter filter = new ScopeArtifactFilter(
-                    Artifact.SCOPE_RUNTIME);
-            if (!artifact.isOptional() && filter.include(artifact)) {
-                String type = artifact.getType();
-                if ("jar".equals(type)) {
-                    try {
-                        FileUtils.copyFileToDirectory(artifact.getFile(),
-                                new File(workDirectory, LIB_DIRECTORY));
-                    } catch (IOException e) {
-                        throw new JbiPluginException("Unable to copy file "
-                                + artifact.getFile(), e);
-                    }
-                }
-            }
-        }
-    }
-
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/IsDeployedTask.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/IsDeployedTask.java
deleted file mode 100644
index 6fe0f54..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/IsDeployedTask.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import org.apache.servicemix.jbi.framework.AdminCommandsServiceMBean;
-import org.apache.servicemix.jbi.management.task.JbiTask;
-
-public class IsDeployedTask extends JbiTask {
-
-    private static final String JBI_SHARED_LIBRARY = "jbi-shared-library";
-
-    private static final String JBI_COMPONENT = "jbi-component";
-
-    private static final String JBI_SERVICE_ASSEMBLY = "jbi-service-assembly";
-
-    private boolean deployed;
-
-    private String type;
-
-    private String name;
-
-    public boolean isDeployed() {
-        return deployed;
-    }
-
-    public void setDeployed(boolean deployed) {
-        this.deployed = deployed;
-    }
-
-    protected void doExecute(AdminCommandsServiceMBean acs) throws Exception {
-        if (JBI_SHARED_LIBRARY.equals(type)) {
-            String result = acs.listSharedLibraries(null, name);
-            setDeployed(isResultContaining(result, "shared-library", name));
-        } else if (JBI_SERVICE_ASSEMBLY.equals(type)) {
-            String result = acs.listServiceAssemblies(null, null, name);
-            setDeployed(result.contains("<service-assembly-info name='" + name
-                    + "'"));
-        }
-        if (JBI_COMPONENT.equals(type)) {
-            String result = acs.listComponents(false, false, false, null, null,
-                    null);
-            if (isResultContaining(result, "service-engine", name)
-                    || isResultContaining(result, "binding-component", name)) {
-                setDeployed(true);
-            }
-        }
-    }
-
-    private boolean isResultContaining(String result, String t, String n) {
-        String componentLine = "<component-info type='" + t + "' name='" + n + "'";
-        return result.contains(componentLine);
-    }
-
-    public void setType(String type) {
-        this.type = type;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiComponentDescriptorWriter.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiComponentDescriptorWriter.java
deleted file mode 100644
index 6bfb56c..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiComponentDescriptorWriter.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.Writer;
-import java.util.Iterator;
-import java.util.List;
-
-import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter;
-import org.codehaus.plexus.util.xml.XMLWriter;
-
-public class JbiComponentDescriptorWriter {
-
-    private final String encoding;
-
-    public JbiComponentDescriptorWriter(String encoding) {
-        this.encoding = encoding;
-    }
-
-    public void write(File descriptor, 
-                      String component, 
-                      String bootstrap,
-                      String type, 
-                      String name, 
-                      String description,
-                      String componentClassLoaderDelegation,
-                      String bootstrapClassLoaderDelegation, 
-                      List uris) throws JbiPluginException {
-        PrintWriter w;
-        try {
-            w = new PrintWriter(descriptor, encoding);
-        } catch (IOException ex) {
-            throw new JbiPluginException("Exception while opening file["
-                    + descriptor.getAbsolutePath() + "]", ex);
-        }
-
-        XMLWriter writer = new PrettyPrintXMLWriter(w, encoding, null);
-        writer.startElement("jbi");
-        writer.addAttribute("xmlns", "http://java.sun.com/xml/ns/jbi");
-        writer.addAttribute("version", "1.0");
-
-        writer.startElement("component");
-        writer.addAttribute("type", type);
-        writer.addAttribute("component-class-loader-delegation",
-                componentClassLoaderDelegation);
-        writer.addAttribute("bootstrap-class-loader-delegation",
-                bootstrapClassLoaderDelegation);
-
-        writer.startElement("identification");
-        writer.startElement("name");
-        writer.writeText(name);
-        writer.endElement();
-        writer.startElement("description");
-        writer.writeText(description);
-        writer.endElement();
-        writer.endElement();
-
-        writer.startElement("component-class-name");
-        writer.writeText(component);
-        writer.endElement();
-        writer.startElement("component-class-path");
-        for (Iterator it = uris.iterator(); it.hasNext();) {
-            DependencyInformation info = (DependencyInformation) it.next();
-            if (!info.isSharedLibrary()) {
-                writer.startElement("path-element");
-                writer.writeText(info.getFilename());
-                writer.endElement();
-            }
-        }
-        writer.endElement();
-
-        writer.startElement("bootstrap-class-name");
-        writer.writeText(bootstrap);
-        writer.endElement();
-        writer.startElement("bootstrap-class-path");
-        for (Iterator it = uris.iterator(); it.hasNext();) {
-            DependencyInformation info = (DependencyInformation) it.next();
-            if ("jar".equals(info.getType())) {
-                writer.startElement("path-element");
-                writer.writeText(info.getFilename());
-                writer.endElement();
-            }
-        }
-        writer.endElement();
-
-        for (Iterator it = uris.iterator(); it.hasNext();) {
-            DependencyInformation info = (DependencyInformation) it.next();
-            if (info.isSharedLibrary()) {
-                writer.startElement("shared-library");
-                writer.addAttribute("version", info.getVersion());
-                writer.writeText(info.getName());
-                writer.endElement();
-            }
-        }
-
-        writer.endElement();
-
-        writer.endElement();
-
-        close(w);
-    }
-
-    private void close(Writer closeable) {
-        if (closeable != null) {
-            try {
-                closeable.close();
-            } catch (Exception e) {
-                // TODO: warn
-            }
-        }
-    }
-
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiPluginException.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiPluginException.java
deleted file mode 100644
index 78e3ef3..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiPluginException.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-public class JbiPluginException extends Exception {
-
-    public JbiPluginException() {
-        super();
-    }
-
-    public JbiPluginException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-    public JbiPluginException(String message) {
-        super(message);
-    }
-
-    public JbiPluginException(Throwable cause) {
-        super(cause);
-    }
-
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiProjectDeployerMojo.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiProjectDeployerMojo.java
deleted file mode 100644
index d868abe..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiProjectDeployerMojo.java
+++ /dev/null
@@ -1,414 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Stack;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.ProjectBuildingException;
-import org.apache.servicemix.jbi.management.task.DeployServiceAssemblyTask;
-import org.apache.servicemix.jbi.management.task.InstallComponentTask;
-import org.apache.servicemix.jbi.management.task.InstallSharedLibraryTask;
-import org.apache.servicemix.jbi.management.task.ShutDownComponentTask;
-import org.apache.servicemix.jbi.management.task.ShutDownServiceAssemblyTask;
-import org.apache.servicemix.jbi.management.task.StartComponentTask;
-import org.apache.servicemix.jbi.management.task.StartServiceAssemblyTask;
-import org.apache.servicemix.jbi.management.task.StopComponentTask;
-import org.apache.servicemix.jbi.management.task.StopServiceAssemblyTask;
-import org.apache.servicemix.jbi.management.task.UndeployServiceAssemblyTask;
-import org.apache.servicemix.jbi.management.task.UninstallComponentTask;
-import org.apache.servicemix.jbi.management.task.UninstallSharedLibraryTask;
-
-/**
- * A Mojo that can take any project and determine its JBI dependencies and then
- * install it and its dependencies using the JBI deployment tasks
- * 
- * @author <a href="pdodds@apache.org">Philip Dodds</a>
- * @version $Id: GenerateComponentDescriptorMojo 314956 2005-10-12 16:27:15Z
- *          brett $
- * @goal projectDeploy
- * @requiresDependencyResolution runtime
- * @description Starts a ServiceMix instance and installs the project (and all
- *              dependencies) to it
- */
-public class JbiProjectDeployerMojo extends AbstractDeployableMojo {
-
-    public static final String JBI_SHARED_LIBRARY = "jbi-shared-library";
-
-    public static final String JBI_COMPONENT = "jbi-component";
-
-    public static final String JBI_SERVICE_ASSEMBLY = "jbi-service-assembly";
-
-    private List deploymentTypes;
-
-    /**
-     * @parameter default-value="true" expression="${deployDependencies}"
-     */
-    private boolean deployDependencies;
-
-    /**
-     * @parameter default-value="false" expression="${forceUpdate}"
-     */
-    private boolean forceUpdate;
-
-    /**
-     * @parameter default-value="true" expression="${deferExceptions}"
-     */
-    private boolean deferExceptions;
-
-    /**
-     * @parameter default-value="true" expression="${deployChildren}"
-     */
-    private boolean deployChildren;
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        deployProject();
-    }
-
-    protected void deployProject() throws MojoExecutionException {
-        if (!deployChildren
-                && !getDeployablePackagingTypes().contains(
-                        project.getPackaging())) {
-            throw new MojoExecutionException(
-                    "Project must be of packaging type ["
-                            + getDeployablePackagingTypes() + "]");
-        }
-
-        try {
-            Stack dependencies = new Stack();
-            if (deployChildren) {
-                resolveArtifact(project.getArtifact(), dependencies);
-            } else {
-                dependencies.add(resolveDeploymentPackage(project, project
-                        .getArtifact()));
-                List artifactList = new ArrayList();
-                artifactList.addAll(project.getArtifacts());
-                Collections.sort(artifactList, new ArtifactDepthComparator());
-                for (Iterator iter = artifactList.iterator(); iter.hasNext();) {
-                    Artifact artifact = (Artifact) iter.next();
-                    resolveArtifact(artifact, dependencies);
-                }
-            }
-
-            getLog()
-                    .info(
-                            "------------------ Deployment Analysis --------------------");
-            getLog().info(
-                    project.getName() + " has " + (dependencies.size() - 1)
-                            + " child dependencies");
-
-            for (Iterator iterator = dependencies.iterator(); iterator
-                    .hasNext();) {
-                getLog().info(" - " + iterator.next());
-            }
-
-            getLog()
-                    .info(
-                            "-----------------------------------------------------------");
-
-            if (deployDependencies) {
-                // We need to stop all the dependencies first
-                if (!deferExceptions) {
-                    for (Iterator iterator = dependencies.iterator(); iterator
-                            .hasNext();) {
-                        JbiDeployableArtifact jbiDeployable = (JbiDeployableArtifact) iterator
-                                .next();
-
-                        if (forceUpdate && isDeployed(jbiDeployable)) {
-                            stopDependency(jbiDeployable);
-                            undeployDependency(jbiDeployable);
-                        }
-                    }
-                }
-
-                // Now we can walk the dependencies bottom up - re-deploying and
-                // starting them
-                while (!dependencies.empty()) {
-                    JbiDeployableArtifact jbiDeployable = (JbiDeployableArtifact) dependencies
-                            .pop();
-                    if (forceUpdate || !isDeployed(jbiDeployable)) {
-                        deployDependency(jbiDeployable, deferExceptions);
-                        if (!deferExceptions) {
-                            startDependency(jbiDeployable);
-                        }
-                    }
-                }
-            } else {
-                JbiDeployableArtifact jbiDeployable = (JbiDeployableArtifact) dependencies
-                        .firstElement();
-                if (isDeployed(jbiDeployable)) {
-                    stopDependency(jbiDeployable);
-                    undeployDependency(jbiDeployable);
-                }
-                deployDependency(jbiDeployable, deferExceptions);
-                startDependency(jbiDeployable);
-            }
-
-        } catch (Exception e) {
-            throw new MojoExecutionException("Unable to deploy project, "
-                    + e.getMessage(), e);
-        }
-
-    }
-
-    protected void startDependency(JbiDeployableArtifact jbiDeployable) {
-        getLog().info("Starting " + jbiDeployable.getName());
-        if (JBI_SERVICE_ASSEMBLY.equals(jbiDeployable.getType())) {
-            StartServiceAssemblyTask startTask = new StartServiceAssemblyTask();
-            initializeJbiTask(startTask);
-            startTask.setName(jbiDeployable.getName());
-            startTask.execute();
-        }
-        if (JBI_COMPONENT.equals(jbiDeployable.getType())) {
-            StartComponentTask startTask = new StartComponentTask();
-            initializeJbiTask(startTask);
-            startTask.setName(jbiDeployable.getName());
-            startTask.execute();
-        }
-    }
-
-    protected void undeployDependency(JbiDeployableArtifact jbiDeployable) {
-        getLog().info("Undeploying " + jbiDeployable.getFile());
-        if (JBI_SHARED_LIBRARY.equals(jbiDeployable.getType())) {
-            UninstallSharedLibraryTask sharedLibraryTask = new UninstallSharedLibraryTask();
-            initializeJbiTask(sharedLibraryTask);
-            sharedLibraryTask.setName(jbiDeployable.getName());
-            sharedLibraryTask.execute();
-        } else if (JBI_SERVICE_ASSEMBLY.equals(jbiDeployable.getType())) {
-            UndeployServiceAssemblyTask serviceAssemblyTask = new UndeployServiceAssemblyTask();
-            initializeJbiTask(serviceAssemblyTask);
-            serviceAssemblyTask.setName(jbiDeployable.getName());
-            serviceAssemblyTask.execute();
-        }
-        if (JBI_COMPONENT.equals(jbiDeployable.getType())) {
-            UninstallComponentTask componentTask = new UninstallComponentTask();
-            initializeJbiTask(componentTask);
-            componentTask.setName(jbiDeployable.getName());
-            componentTask.execute();
-        }
-    }
-
-    protected boolean isDeployed(JbiDeployableArtifact jbiDeployable) {
-        IsDeployedTask isDeployedTask = new IsDeployedTask();
-        isDeployedTask.setType(jbiDeployable.getType());
-        isDeployedTask.setName(jbiDeployable.getName());
-        initializeJbiTask(isDeployedTask);
-        isDeployedTask.execute();
-        boolean deployed = isDeployedTask.isDeployed();
-        if (deployed) {
-            getLog().info(jbiDeployable.getName() + " is deployed");
-        } else {
-            getLog().info(jbiDeployable.getName() + " is not deployed");
-        }
-        return deployed;
-    }
-
-    protected void stopDependency(JbiDeployableArtifact jbiDeployable) {
-        getLog().info("Stopping " + jbiDeployable.getName());
-        if (JBI_SERVICE_ASSEMBLY.equals(jbiDeployable.getType())) {
-            StopServiceAssemblyTask stopTask = new StopServiceAssemblyTask();
-            initializeJbiTask(stopTask);
-            stopTask.setName(jbiDeployable.getName());
-            stopTask.execute();
-
-            ShutDownServiceAssemblyTask shutdownTask = new ShutDownServiceAssemblyTask();
-            initializeJbiTask(shutdownTask);
-            shutdownTask.setName(jbiDeployable.getName());
-            shutdownTask.execute();
-        }
-        if (JBI_COMPONENT.equals(jbiDeployable.getType())) {
-            StopComponentTask stopTask = new StopComponentTask();
-            initializeJbiTask(stopTask);
-            stopTask.setName(jbiDeployable.getName());
-            stopTask.execute();
-
-            ShutDownComponentTask shutdownTask = new ShutDownComponentTask();
-            initializeJbiTask(shutdownTask);
-            shutdownTask.setName(jbiDeployable.getName());
-            shutdownTask.execute();
-        }
-    }
-
-    protected void deployDependency(JbiDeployableArtifact jbiDeployable,
-            boolean doDeferExceptions) throws MojoExecutionException {
-
-        getLog().info(
-                "Deploying " + jbiDeployable.getType() + " from "
-                        + jbiDeployable.getFile());
-        if (JBI_SHARED_LIBRARY.equals(jbiDeployable.getType())) {
-            InstallSharedLibraryTask componentTask = new InstallSharedLibraryTask();
-            initializeJbiTask(componentTask);
-            componentTask.setFile(jbiDeployable.getFile());
-            componentTask.setDeferExceptions(doDeferExceptions);
-            componentTask.execute();
-        } else if (JBI_SERVICE_ASSEMBLY.equals(jbiDeployable.getType())) {
-            DeployServiceAssemblyTask componentTask = new DeployServiceAssemblyTask();
-            initializeJbiTask(componentTask);
-            componentTask.setFile(jbiDeployable.getFile());
-            componentTask.setDeferExceptions(doDeferExceptions);
-            componentTask.execute();
-        }
-        if (JBI_COMPONENT.equals(jbiDeployable.getType())) {
-            InstallComponentTask componentTask = new InstallComponentTask();
-            initializeJbiTask(componentTask);
-            componentTask.setFile(jbiDeployable.getFile());
-            componentTask.setDeferExceptions(doDeferExceptions);
-            componentTask.execute();
-        }
-
-    }
-
-    protected List getDeployablePackagingTypes() {
-        if (deploymentTypes == null) {
-            deploymentTypes = new ArrayList();
-            deploymentTypes.add(JBI_SHARED_LIBRARY);
-            deploymentTypes.add(JBI_SERVICE_ASSEMBLY);
-            deploymentTypes.add(JBI_COMPONENT);
-        }
-        return deploymentTypes;
-    }
-
-    private Collection resolveArtifact(Artifact artifact, 
-                                       Stack dependencies) throws ArtifactResolutionException, ArtifactNotFoundException {
-        MavenProject project = null;
-        try {
-            project = projectBuilder.buildFromRepository(artifact, remoteRepos,
-                    localRepo, false);
-        } catch (ProjectBuildingException e) {
-            getLog().warn(
-                    "Unable to determine packaging for dependency : "
-                            + artifact.getArtifactId() + " assuming jar");
-        }
-
-        if (project != null) {
-            if (getDeployablePackagingTypes().contains(project.getPackaging())) {
-                getLog().debug(
-                        "Checking for dependency from project "
-                                + project.getArtifactId());
-                JbiDeployableArtifact deployableArtifact = resolveDeploymentPackage(
-                        project, artifact);
-                if (!dependencies.contains(deployableArtifact)) {
-                    getLog().debug(
-                            "Adding dependency from project "
-                                    + project.getArtifactId());
-                    dependencies.push(deployableArtifact);
-                }
-                List artifactList = new ArrayList();
-                artifactList.addAll(project.getArtifacts());
-                Collections.sort(artifactList, new ArtifactDepthComparator());
-                for (Iterator iter = artifactList.iterator(); iter.hasNext();) {
-                    resolveArtifact((Artifact) iter.next(), dependencies);
-                }
-            } else {
-                getLog().debug(
-                        "Ignoring non-jbi dependency: "
-                                + project.getArtifactId() + " of type "
-                                + project.getPackaging());
-            }
-        }
-        return dependencies;
-    }
-
-    protected JbiDeployableArtifact resolveDeploymentPackage(
-            MavenProject project, 
-            Artifact artifact) throws ArtifactResolutionException, ArtifactNotFoundException {
-        Artifact jbiArtifact = factory.createArtifactWithClassifier(artifact
-                .getGroupId(), artifact.getArtifactId(), artifact.getVersion(),
-                "zip", getExtension(project));
-        resolver.resolve(jbiArtifact, remoteRepos, localRepo);
-        return new JbiDeployableArtifact(project.getArtifactId(), project
-                .getPackaging(), jbiArtifact.getFile().getAbsolutePath());
-    }
-
-    protected String getExtension(MavenProject project2) {
-        if (project2.getPackaging().equals(JBI_SERVICE_ASSEMBLY)) {
-            return "";
-        } else {
-            return "installer";
-        }
-    }
-
-    protected class ArtifactDepthComparator implements Comparator {
-
-        public int compare(Object arg0, Object arg1) {
-            int size1 = ((Artifact) arg0).getDependencyTrail().size();
-            int size2 = ((Artifact) arg1).getDependencyTrail().size();
-            if (size1 == size2) {
-                return 0;
-            }
-            if (size1 > size2) {
-                return 1;
-            } else {
-                return -1;
-            }
-        }
-
-    }
-
-    protected class JbiDeployableArtifact {
-        private String file;
-
-        private String type;
-
-        private String name;
-
-        public JbiDeployableArtifact(String name, String type, String file) {
-            this.name = name;
-            this.file = file;
-            this.type = type;
-        }
-
-        public String getName() {
-            return name;
-        }
-
-        public String getFile() {
-            return file;
-        }
-
-        public String getType() {
-            return type;
-        }
-
-        public String toString() {
-            return type + " : " + file;
-        }
-
-        public boolean equals(Object obj) {
-            if (obj instanceof JbiDeployableArtifact) {
-                return ((JbiDeployableArtifact) obj).toString().equals(this.toString());
-            } else {
-                return false;
-            }
-        }
-        
-        public int hashCode() {
-            return toString().hashCode();
-        }
-    }
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiResolutionListener.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiResolutionListener.java
deleted file mode 100644
index ad7b667..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiResolutionListener.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.Stack;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.ResolutionListener;
-import org.apache.maven.artifact.versioning.VersionRange;
-import org.apache.maven.plugin.logging.Log;
-
-/**
- * @author Edwin Punzalan
- */
-public class JbiResolutionListener implements ResolutionListener {
-    private Stack parents = new Stack();
-
-    private Map artifacts = new HashMap();
-
-    private Node rootNode;
-
-    private Log log;
-
-    public void setLog(Log log) {
-        this.log = log;
-    }
-
-    public Log getLog() {
-        return log;
-    }
-
-    public void testArtifact(Artifact artifact) {
-        // getLog().debug("testArtifact: " + artifact);
-        // intentionally blank
-    }
-
-    public void startProcessChildren(Artifact artifact) {
-        // getLog().debug("startProcessChildren: " + artifact);
-        Node node = (Node) artifacts.get(artifact.getDependencyConflictId());
-        if (parents.isEmpty()) {
-            rootNode = node;
-        }
-        parents.push(node);
-    }
-
-    public void endProcessChildren(Artifact artifact) {
-        // getLog().debug("endProcessChildren: " + artifact);
-        Node check = (Node) parents.pop();
-        assert artifact.equals(check.artifact);
-    }
-
-    public void omitForNearer(Artifact omitted, Artifact kept) {
-        // getLog().debug("omitForNearer: omitted=" + omitted + ", kept=" +
-        // kept);
-        assert omitted.getDependencyConflictId().equals(
-                kept.getDependencyConflictId());
-        Node node = (Node) artifacts.get(omitted.getDependencyConflictId());
-        assert node != null;
-        node.artifact = kept;
-    }
-
-    public void omitForCycle(Artifact artifact) {
-        // getLog().debug("omitForCycle: " + artifact);
-        // intentionally blank
-    }
-
-    public void includeArtifact(Artifact artifact) {
-        // getLog().debug("includeArtifact: " + artifact);
-        Node node = (Node) artifacts.get(artifact.getDependencyConflictId());
-        if (node == null) {
-            node = new Node();
-            artifacts.put(artifact.getDependencyConflictId(), node);
-        }
-        node.artifact = artifact;
-        if (!parents.isEmpty()) {
-            Node parent = (Node) parents.peek();
-            parent.children.add(node);
-            node.parents.add(parent);
-        }
-        if (rootNode != null) {
-            // print(rootNode, "");
-        }
-    }
-
-    protected void print(Node node, String string) {
-        // getLog().debug(string + rootNode.getArtifact());
-        for (Iterator iter = node.getChildren().iterator(); iter.hasNext();) {
-            Node n = (Node) iter.next();
-            print(n, string + "  ");
-        }
-    }
-
-    public void updateScope(Artifact artifact, String scope) {
-        getLog().debug("updateScope: " + artifact);
-        Node node = (Node) artifacts.get(artifact.getDependencyConflictId());
-
-        node.setScope(scope);
-    }
-
-    public void manageArtifact(Artifact artifact, Artifact replacement) {
-        getLog().debug("manageArtifact: artifact=" + artifact + ", replacement=" + replacement);
-        Node node = (Node) artifacts.get(artifact.getDependencyConflictId());
-        if (node != null) {
-            if (replacement.getVersion() != null) {
-                node.artifact.setVersion(replacement.getVersion());
-            }
-            if (replacement.getScope() != null) {
-                node.artifact.setScope(replacement.getScope());
-            }
-        }
-    }
-
-    public void updateScopeCurrentPom(Artifact artifact, String key) {
-
-        getLog().debug("updateScopeCurrentPom: " + artifact);
-        // intentionally blank
-    }
-
-    public void selectVersionFromRange(Artifact artifact) {
-
-        getLog().debug("selectVersionFromRange: " + artifact);
-        // intentionally blank
-    }
-
-    public void restrictRange(Artifact artifact, Artifact artifact1,
-            VersionRange versionRange) {
-
-        getLog().debug("restrictRange: " + artifact);
-        // intentionally blank
-    }
-
-    public Node getNode(Artifact artifact) {
-        return (Node) artifacts.get(artifact.getDependencyConflictId());
-    }
-
-    public Collection getArtifacts() {
-        return artifacts.values();
-    }
-
-    static class Node {
-        private Set<Node> children = new HashSet<Node>();
-
-        private Set<Node> parents = new HashSet<Node>();
-
-        private Artifact artifact;
-
-        private String scope;
-
-        public Set<Node> getChildren() {
-            return children;
-        }
-
-        public Artifact getArtifact() {
-            return artifact;
-        }
-
-        public Set<Node> getParents() {
-            return parents;
-        }
-
-        public String getScope() {
-            if (scope != null) {
-                return scope;
-            }
-            return artifact.getScope();
-        }
-
-        public void setScope(String scope) {
-            this.scope = scope;
-        }
-    }
-
-    public Node getRootNode() {
-        return rootNode;
-    }
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiServiceAssemblyDescriptorWriter.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiServiceAssemblyDescriptorWriter.java
deleted file mode 100644
index be1b0c3..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiServiceAssemblyDescriptorWriter.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.servicemix.maven.plugin.jbi.GenerateServiceAssemblyDescriptorMojo.Connection;
-import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter;
-import org.codehaus.plexus.util.xml.XMLWriter;
-
-/**
- * Helper that can be used to write the jbi.xml for a service assembly
- * 
- */
-public class JbiServiceAssemblyDescriptorWriter extends
-        AbstractDescriptorWriter {
-
-    private final String encoding;
-
-    public JbiServiceAssemblyDescriptorWriter(String encoding) {
-        this.encoding = encoding;
-    }
-
-    public void write(File descriptor, String name, String description,
-            List uris, List connections) throws JbiPluginException {
-        PrintWriter w;
-        try {
-            w = new PrintWriter(descriptor, encoding);
-        } catch (IOException ex) {
-            throw new JbiPluginException("Exception while opening file["
-                    + descriptor.getAbsolutePath() + "]", ex);
-        }
-
-        XMLWriter writer = new PrettyPrintXMLWriter(w, encoding, null);
-        writer.startElement("jbi");
-        writer.addAttribute("xmlns", "http://java.sun.com/xml/ns/jbi");
-        writer.addAttribute("version", "1.0");
-
-        writer.startElement("service-assembly");
-
-        writer.startElement("identification");
-        writer.startElement("name");
-        writer.writeText(name);
-        writer.endElement();
-        writer.startElement("description");
-        writer.writeText(description);
-        writer.endElement();
-        writer.endElement();
-
-        for (Iterator it = uris.iterator(); it.hasNext();) {
-            DependencyInformation serviceUnitInfo = (DependencyInformation) it
-                    .next();
-            writeServiceUnit(writer, serviceUnitInfo);
-
-        }
-
-        if (!connections.isEmpty()) {
-            writer.startElement("connections");
-
-            Map namespaceMap = buildNamespaceMap(connections);
-            for (Iterator it = connections.iterator(); it.hasNext();) {
-                GenerateServiceAssemblyDescriptorMojo.Connection connection = (GenerateServiceAssemblyDescriptorMojo.Connection) it
-                        .next();
-                writeConnection(namespaceMap, writer, connection);
-
-            }
-            writer.endElement();
-        }
-
-        writer.endElement();
-        writer.endElement();
-
-        close(w);
-    }
-
-    private Map buildNamespaceMap(List connections) {
-        List consumes = new ArrayList();
-        List provides = new ArrayList();
-        for (Iterator it = connections.iterator(); it.hasNext();) {
-            GenerateServiceAssemblyDescriptorMojo.Connection connection = (GenerateServiceAssemblyDescriptorMojo.Connection) it
-                    .next();
-            consumes.add(connection.getConsumes());
-            provides.add(connection.getProvides());
-        }
-
-        return getNamespaceMap(provides, consumes);
-
-    }
-
-    private void writeConnection(Map namespaceMap, XMLWriter writer,
-            Connection connection) {
-        writer.startElement("connection");
-        if (connection.getConsumes() != null) {
-            writer.startElement("consumer");
-            addQNameAttribute(writer, "interface-name", connection
-                    .getConsumes().getInterfaceName(), namespaceMap);
-            addQNameAttribute(writer, "service-name", connection.getConsumes()
-                    .getServiceName(), namespaceMap);
-            addStringAttribute(writer, "endpoint-name", connection
-                    .getConsumes().getEndpointName());
-            writer.endElement();
-        }
-        if (connection.getProvides() != null) {
-            writer.startElement("provider");
-            addQNameAttribute(writer, "interface-name", connection
-                    .getProvides().getInterfaceName(), namespaceMap);
-            addQNameAttribute(writer, "service-name", connection.getProvides()
-                    .getServiceName(), namespaceMap);
-            addStringAttribute(writer, "endpoint-name", connection
-                    .getProvides().getEndpointName());
-            writer.endElement();
-        }
-
-        writer.endElement();
-
-    }
-
-    private void writeServiceUnit(XMLWriter writer,
-            DependencyInformation serviceUnitInfo) throws JbiPluginException {
-        writer.startElement("service-unit");
-        writer.startElement("identification");
-        writer.startElement("name");
-        writer.writeText(serviceUnitInfo.getName());
-        writer.endElement();
-        writer.startElement("description");
-        if (serviceUnitInfo.getDescription() != null) {
-            writer.writeText(serviceUnitInfo.getDescription());
-        } else {
-            writer.writeText(serviceUnitInfo.getName());
-        }
-        writer.endElement();
-        writer.endElement();
-
-        writer.startElement("target");
-        writer.startElement("artifacts-zip");
-        writer.writeText(serviceUnitInfo.getFilename());
-        writer.endElement();
-
-        writer.startElement("component-name");
-        writer.writeText(serviceUnitInfo.getComponent());
-        writer.endElement();
-
-        writer.endElement();
-
-        writer.endElement();
-    }
-
-    private void close(Writer closeable) {
-        if (closeable != null) {
-            try {
-                closeable.close();
-            } catch (Exception e) {
-                // TODO: warn
-            }
-        }
-    }
-
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiServiceFileAnalyzer.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiServiceFileAnalyzer.java
deleted file mode 100644
index d1987a6..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiServiceFileAnalyzer.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.servicemix.common.packaging.Consumes;
-import org.apache.servicemix.common.packaging.Provides;
-import org.apache.servicemix.common.packaging.ServiceUnitAnalyzer;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * A dummy implementation of the ServiceUnitAnalyzer that allows you to generate
- * the consumes and provides from a simple XML file
- *
- */
-public class JbiServiceFileAnalyzer implements ServiceUnitAnalyzer {
-
-    public static final String JBI_NAMESPACE = "http://java.sun.com/xml/ns/jbi";
-
-    private final List consumes = new ArrayList();
-
-    private final List provides = new ArrayList();
-
-    public List getConsumes() {
-        return consumes;
-    }
-
-    public List getProvides() {
-        return provides;
-    }
-
-    public void init(File explodedServiceUnitRoot) {
-
-    }
-
-    public void setJbiServicesFile(File jbiServicesFile) throws MojoExecutionException {
-        parseXml(jbiServicesFile);
-    }
-
-    private void parseXml(File jbiServicesFile) throws MojoExecutionException {
-        try {
-            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-            dbf.setNamespaceAware(true);
-            DocumentBuilder db = dbf.newDocumentBuilder();
-            Document doc = db.parse(jbiServicesFile);
-
-            // Stop at first services child node that is found
-            NodeList childNodes = doc.getChildNodes();
-            Node servicesNode = null;
-            for (int i = 0; i < childNodes.getLength(); i++) {
-                if (XmlDescriptorHelper.isElement(childNodes.item(i), JBI_NAMESPACE,
-                    "services")) {
-                    servicesNode = childNodes.item(i);
-                    break;
-                }
-            }
-            if (servicesNode != null) {
-                // We will process the children
-                Element servicesElement = (Element) servicesNode;
-                NodeList children = servicesElement.getChildNodes();
-                for (int i = 0; i < children.getLength(); i++) {
-                    if (children.item(i) instanceof Element) {
-                        Element childElement = (Element) children.item(i);
-                        if (XmlDescriptorHelper.isElement(childElement,
-                                JBI_NAMESPACE, "consumes")) {
-                            Consumes newConsumes = new Consumes();
-                            newConsumes.setEndpointName(XmlDescriptorHelper
-                                    .getEndpointName(childElement));
-                            newConsumes.setInterfaceName(XmlDescriptorHelper
-                                    .getInterfaceName(childElement));
-                            newConsumes.setServiceName(XmlDescriptorHelper
-                                    .getServiceName(childElement));
-                            consumes.add(newConsumes);
-                        } else if (XmlDescriptorHelper.isElement(childElement,
-                                JBI_NAMESPACE, "provides")) {
-                            Provides newProvides = new Provides();
-                            newProvides.setEndpointName(XmlDescriptorHelper
-                                    .getEndpointName(childElement));
-                            newProvides.setInterfaceName(XmlDescriptorHelper
-                                    .getInterfaceName(childElement));
-                            newProvides.setServiceName(XmlDescriptorHelper
-                                    .getServiceName(childElement));
-                            provides.add(newProvides);
-                        }
-                    }
-                }
-            }
-
-        } catch (Exception e) {
-            throw new MojoExecutionException("Unable to parse "
-                    + jbiServicesFile.getAbsolutePath());
-        }
-    }
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiServiceUnitDescriptorWriter.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiServiceUnitDescriptorWriter.java
deleted file mode 100644
index 5f49fa6..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiServiceUnitDescriptorWriter.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.Writer;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.servicemix.common.packaging.Consumes;
-import org.apache.servicemix.common.packaging.Provides;
-import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter;
-import org.codehaus.plexus.util.xml.XMLWriter;
-
-/**
- * Helper that is used to write the jbi.xml for a service unit
- * 
- */
-public class JbiServiceUnitDescriptorWriter extends AbstractDescriptorWriter {
-
-    private final String encoding;
-
-    public JbiServiceUnitDescriptorWriter(String encoding) {
-        this.encoding = encoding;
-    }
-
-    public void write(File descriptor, 
-                      boolean bc, 
-                      String name,
-                      String description, 
-                      List uris, 
-                      List consumes, 
-                      List provides) throws JbiPluginException {
-        PrintWriter w;
-        try {
-            w = new PrintWriter(descriptor, encoding);
-        } catch (IOException ex) {
-            throw new JbiPluginException("Exception while opening file["
-                    + descriptor.getAbsolutePath() + "]", ex);
-        }
-
-        XMLWriter writer = new PrettyPrintXMLWriter(w, encoding, null);
-        writer.startElement("jbi");
-        writer.addAttribute("xmlns", "http://java.sun.com/xml/ns/jbi");
-        writer.addAttribute("version", "1.0");
-
-        writer.startElement("services");
-        writer.addAttribute("binding-component", bc ? "true" : "false");
-
-        // We need to get all the namespaces into a hashmap so we
-        // can get the QName output correctly
-        Map namespaceMap = getNamespaceMap(provides, consumes);
-
-        // Set-up the namespaces
-        for (Iterator iterator = namespaceMap.keySet().iterator(); iterator
-                .hasNext();) {
-            String key = (String) iterator.next();
-            StringBuffer namespaceDecl = new StringBuffer();
-            namespaceDecl.append("xmlns:");
-            namespaceDecl.append(namespaceMap.get(key));
-            writer.addAttribute(namespaceDecl.toString(), key);
-        }
-
-        // Put in the provides
-        for (Iterator iterator = provides.iterator(); iterator.hasNext();) {
-            Provides providesEntry = (Provides) iterator.next();
-            writer.startElement("provides");
-            addQNameAttribute(writer, "interface-name", providesEntry
-                    .getInterfaceName(), namespaceMap);
-            addQNameAttribute(writer, "service-name", providesEntry
-                    .getServiceName(), namespaceMap);
-            addStringAttribute(writer, "endpoint-name", providesEntry
-                    .getEndpointName());
-            writer.endElement();
-        }
-
-        // Put in the consumes
-        for (Iterator iterator = consumes.iterator(); iterator.hasNext();) {
-            Consumes consumesEntry = (Consumes) iterator.next();
-            writer.startElement("consumes");
-            addQNameAttribute(writer, "interface-name", consumesEntry
-                    .getInterfaceName(), namespaceMap);
-            addQNameAttribute(writer, "service-name", consumesEntry
-                    .getServiceName(), namespaceMap);
-            addStringAttribute(writer, "endpoint-name", consumesEntry
-                    .getEndpointName());
-
-            // TODO Handling of LinkType?
-
-            writer.endElement();
-        }
-
-        writer.endElement();
-
-        writer.endElement();
-
-        close(w);
-    }
-
-    private void close(Writer closeable) {
-        if (closeable != null) {
-            try {
-                closeable.close();
-            } catch (Exception e) {
-                // TODO: warn
-            }
-        }
-    }
-
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiSharedLibraryDescriptorWriter.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiSharedLibraryDescriptorWriter.java
deleted file mode 100644
index 094f881..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/JbiSharedLibraryDescriptorWriter.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.Writer;
-import java.util.Iterator;
-import java.util.List;
-
-import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter;
-import org.codehaus.plexus.util.xml.XMLWriter;
-
-/**
- * Helper that is used to write the jbi.xml for a shared library
- * 
- */
-public class JbiSharedLibraryDescriptorWriter {
-
-    private final String encoding;
-
-    public JbiSharedLibraryDescriptorWriter(String encoding) {
-        this.encoding = encoding;
-    }
-
-    public void write(File descriptor, 
-                      String name, 
-                      String description,
-                      String version, 
-                      String classLoaderDelegation, 
-                      List uris) throws JbiPluginException {
-        PrintWriter w;
-        try {
-            w = new PrintWriter(descriptor, encoding);
-        } catch (IOException ex) {
-            throw new JbiPluginException("Exception while opening file["
-                    + descriptor.getAbsolutePath() + "]", ex);
-        }
-
-        XMLWriter writer = new PrettyPrintXMLWriter(w, encoding, null);
-        writer.startElement("jbi");
-        writer.addAttribute("xmlns", "http://java.sun.com/xml/ns/jbi");
-        writer.addAttribute("version", "1.0");
-
-        writer.startElement("shared-library");
-        writer.addAttribute("class-loader-delegation", classLoaderDelegation);
-        writer.addAttribute("version", version);
-
-        writer.startElement("identification");
-        writer.startElement("name");
-        writer.writeText(name);
-        writer.endElement();
-        writer.startElement("description");
-        writer.writeText(description);
-        writer.endElement();
-        writer.endElement();
-
-        writer.startElement("shared-library-class-path");
-        for (Iterator it = uris.iterator(); it.hasNext();) {
-            DependencyInformation dependency = (DependencyInformation) it
-                    .next();
-            writer.startElement("path-element");
-            writer.writeText(dependency.getFilename());
-            writer.endElement();
-        }
-        writer.endElement();
-
-        writer.endElement();
-        writer.endElement();
-
-        close(w);
-    }
-
-    private void close(Writer closeable) {
-        if (closeable != null) {
-            try {
-                closeable.close();
-            } catch (Exception e) {
-                // TODO: warn
-            }
-        }
-    }
-
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/MakeServiceMixDirsMojo.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/MakeServiceMixDirsMojo.java
deleted file mode 100644
index 7f41833..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/MakeServiceMixDirsMojo.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.codehaus.plexus.util.FileUtils;
-
-/**
- * Creates a binary servicemix install directory that can then be referenced
- * by a spring.xml file for integration testing.
- * 
- * @version $Id: $
- * @goal createDirs
- * @execute phase="test-compile"
- * @requiresDependencyResolution runtime
- * @description Creates the ServiceMix runtime directories
- */
-public class MakeServiceMixDirsMojo extends JbiProjectDeployerMojo {
-
-    /**
-     * The deploy diretory to put the service assemblies inside
-     *
-     * @parameter default-value="${project.build.directory}/servicemix/deploy"
-     */
-    private String deployDirectory;
-
-    /**
-     * @parameter default-value="true"
-     */
-    private boolean cleanStart;
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-
-        try {
-
-            if (cleanStart) {
-                getLog().info(
-                        "Cleaning ServiceMix root directory [" + deployDirectory
-                                + "]");
-                File rootDir = new File(deployDirectory);
-                FileUtils.deleteDirectory(rootDir);
-                rootDir.mkdirs();
-            }
-
-            deployProject();
-
-            getLog().info("Project deployed");
-
-        } catch (Exception e) {
-            throw new MojoExecutionException(
-                    "Apache ServiceMix was unable to deploy project", e);
-        }
-    }
-
-    //@Override
-    protected void deployDependency(JbiDeployableArtifact jbiDeployable, boolean doDeferExceptions) throws MojoExecutionException {
-        // do nothing
-        String name = jbiDeployable.getType();
-        getLog().info("deployDependency: type: " + name + " dependency: " + jbiDeployable);
-        if (JBI_SERVICE_ASSEMBLY.equals(name)) {
-            File assemblyFile = new File(jbiDeployable.getFile());
-            File outputFile = new File(deployDirectory, assemblyFile.getName());
-
-            getLog().info("copying service Assembly!:  " + jbiDeployable + " to: " + outputFile);
-            try {
-                FileUtils.copyFile(assemblyFile, outputFile);
-            } catch (IOException e) {
-                throw new MojoExecutionException(e.getMessage(), e);
-            }
-        }
-    }
-
-    //@Override
-    protected void startDependency(JbiProjectDeployerMojo.JbiDeployableArtifact jbiDeployable) {
-        // do nothing
-    }
-
-    //@Override
-    protected void stopDependency(JbiDeployableArtifact jbiDeployable) {
-        // do nothing
-    }
-
-    //@Override
-    protected boolean isDeployed(JbiDeployableArtifact jbiDeployable) {
-        return false;
-    }
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/ServiceMixEmbeddedMojo.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/ServiceMixEmbeddedMojo.java
deleted file mode 100644
index 9ce1725..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/ServiceMixEmbeddedMojo.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*

- * 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.

- */

-package org.apache.servicemix.maven.plugin.jbi;

-

-import java.io.File;

-import org.apache.maven.plugin.MojoExecutionException;

-import org.apache.maven.plugin.MojoFailureException;

-import org.apache.xbean.spring.context.FileSystemXmlApplicationContext;

-import org.springframework.beans.factory.DisposableBean;

-

-/**

- * Starts a ServiceMix JBI container in embedded mode using the servicemix.xml

- * 

- * @author <a href="pdodds@apache.org">Philip Dodds</a>

- * @version $Id: GenerateComponentDescriptorMojo 314956 2005-10-12 16:27:15Z

- *          brett $

- * @goal embeddedServicemix

- * @execute phase="compile"

- * @requiresDependencyResolution runtime

- * @description Starts a local servicemix instance using the servicemix config

- *              provided

- */

-public class ServiceMixEmbeddedMojo extends AbstractJbiMojo {

-

-    /**

-     * @parameter default-value="${basedir}/src/main/resources/servicemix.xml"

-     */

-    private File servicemixConfig;

-

-    private FileSystemXmlApplicationContext context;

-

-    public void execute() throws MojoExecutionException, MojoFailureException {

-

-        try {

-            startServiceMix();

-

-            while (true) {

-                Thread.sleep(1000);

-            }

-

-        } catch (InterruptedException e) {

-            throw new MojoFailureException("Interrupted");

-        } finally {

-            if (context instanceof DisposableBean) {

-                try {

-                    ((DisposableBean) context).destroy();

-                } catch (Exception e) {

-                    // Ignore

-                }

-            }

-        } 

-

-    }

-

-    private void startServiceMix() throws MojoExecutionException {

-        ClassLoader old = Thread.currentThread().getContextClassLoader();

-        try {

-            Thread.currentThread().setContextClassLoader(getClassLoader());

-            context = new FileSystemXmlApplicationContext("file:///"

-                    + servicemixConfig.getAbsolutePath());

-            context.getBean("jbi");

-        } catch (Exception e) {

-            throw new MojoExecutionException(

-                    "Unable to start the ServiceMix container", e);

-        } finally {

-            Thread.currentThread().setContextClassLoader(old);

-        }

-    }

-

-}

diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/ServiceMixMojo.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/ServiceMixMojo.java
deleted file mode 100644
index 26c57e9..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/ServiceMixMojo.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-
-import javax.jbi.JBIException;
-
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.servicemix.jbi.container.JBIContainer;
-import org.codehaus.plexus.util.FileUtils;
-
-/**
- * Starts a ServiceMix JBI container and them uses the deploy project MOJO to
- * push the current project and dependencies to it
- * 
- * @author <a href="pdodds@apache.org">Philip Dodds</a>
- * @version $Id: GenerateComponentDescriptorMojo 314956 2005-10-12 16:27:15Z
- *          brett $
- * @goal servicemix
- * @requiresDependencyResolution runtime
- * @description installs the project (and all dependencies) to a local
- *              ServiceMix instance
- */
-public class ServiceMixMojo extends JbiProjectDeployerMojo {
-
-    private JBIContainer jbiContainer;
-
-    /**
-     * @parameter default-value="${project.build.directory}/servicemix/install"
-     */
-    private String installDirectory;
-
-    /**
-     * @parameter default-value="${project.build.directory}/servicemix/deploy"
-     */
-    private String deploymentDirectory;
-
-    /**
-     * @parameter default-value="${project.build.directory}/servicemix/rootDir"
-     */
-    private String rootDirectory;
-
-    /**
-     * @parameter default-value="true"
-     */
-    private boolean cleanStart;
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-
-        try {
-
-            if (cleanStart) {
-                getLog().info(
-                        "Cleaning ServiceMix root directory [" + rootDirectory
-                                + "]");
-                File rootDir = new File(rootDirectory);
-                FileUtils.deleteDirectory(rootDir);
-                rootDir.mkdirs();
-            }
-
-            startServiceMix();
-            deployProject();
-
-            getLog().info("Project deployed");
-
-            while (true) {
-                Thread.sleep(1000);
-            }
-        } catch (Exception e) {
-            stopServiceMix();
-            throw new MojoExecutionException(
-                    "Apache ServiceMix was unable to deploy project", e);
-        }
-
-    }
-
-    private void stopServiceMix() {
-        getLog().info("Shutting down Apache ServiceMix");
-        if (jbiContainer != null) {
-            try {
-                jbiContainer.shutDown();
-            } catch (JBIException e) {
-                getLog().warn(e);
-            }
-        }
-    }
-
-    private void startServiceMix() throws MojoExecutionException {
-        try {
-            getLog().info("Starting Apache ServiceMix");
-            jbiContainer = new JBIContainer();
-            jbiContainer.setRmiPort(Integer.parseInt(port));
-            jbiContainer.setCreateMBeanServer(true);
-            jbiContainer.setInstallationDirPath(installDirectory);
-            jbiContainer.setDeploymentDirPath(deploymentDirectory);
-            jbiContainer.setRootDir(rootDirectory);
-            jbiContainer.init();
-            jbiContainer.start();
-        } catch (JBIException e) {
-            throw new MojoExecutionException(
-                    "Unable to start the JBI container", e);
-        }
-    }
-}
diff --git a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/XmlDescriptorHelper.java b/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/XmlDescriptorHelper.java
deleted file mode 100644
index 64edcc3..0000000
--- a/jbi-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/jbi/XmlDescriptorHelper.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import javax.xml.namespace.QName;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-public final class XmlDescriptorHelper {
-
-    private static final transient Logger LOGGER = LoggerFactory.getLogger(XmlDescriptorHelper.class);
-
-    private XmlDescriptorHelper() {
-    }
-    
-    public static QName getServiceName(Element childElement) {
-        if (childElement.hasAttribute("service-name")) {
-            String prefixAndLocalPart = childElement
-                    .getAttribute("service-name");
-            String prefix = prefixAndLocalPart.substring(0, prefixAndLocalPart
-                    .indexOf(':'));
-            String localPart = prefixAndLocalPart.substring(prefixAndLocalPart
-                    .indexOf(':') + 1);
-            return new QName(childElement.lookupNamespaceURI(prefix), localPart);
-        }
-        return null;
-    }
-
-    public static QName getInterfaceName(Element childElement) {
-        if (childElement.hasAttribute("interface-name")) {
-            String prefixAndLocalPart = childElement
-                    .getAttribute("interface-name");
-            String prefix = prefixAndLocalPart.substring(0, prefixAndLocalPart
-                    .indexOf(':'));
-            String localPart = prefixAndLocalPart.substring(prefixAndLocalPart
-                    .indexOf(':') + 1);
-            return new QName(childElement.lookupNamespaceURI(prefix), localPart);
-        }
-        return null;
-    }
-
-    public static boolean isElement(Node node, String namespaceUrl,
-            String localPart) {
-        if (node instanceof Element) {
-            Element element = (Element) node;
-            LOGGER.debug("Got Element nodeName:" + element.getNodeName()
-                    + " namespaceUri:" + element.getNamespaceURI()
-                    + " localName:" + element.getLocalName());
-            if (localPart.equals(element.getNodeName())) {
-                return true;
-            } else {
-                // Compare the namespace URI and localname
-                LOGGER.debug(namespaceUrl + "=" + element.getNamespaceURI()
-                        + " is "
-                        + namespaceUrl.equals(element.getNamespaceURI()));
-                LOGGER.debug(localPart + "=" + element.getLocalName() + " is "
-                        + localPart.equals(element.getLocalName()));
-                if ((namespaceUrl.equals(element.getNamespaceURI()))
-                        && (localPart.equals(element.getLocalName()))) {
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
-
-    public static String getEndpointName(Element childElement) {
-        if (childElement.hasAttribute("endpoint-name")) {
-            return childElement.getAttribute("endpoint-name");
-        }
-        return null;
-    }
-
-}
diff --git a/jbi-maven-plugin/src/main/resources/META-INF/plexus/components.xml b/jbi-maven-plugin/src/main/resources/META-INF/plexus/components.xml
deleted file mode 100644
index 174b8f7..0000000
--- a/jbi-maven-plugin/src/main/resources/META-INF/plexus/components.xml
+++ /dev/null
@@ -1,164 +0,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.
-
--->
-<component-set>
-  <components>
-    <!--component>
-      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
-      <role-hint>jar</role-hint>
-      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
-      <configuration>
-        <type>jar</type>
-        <extension>jar</extension>
-      </configuration>
-    </component-->
-    <component>
-      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
-      <role-hint>jbi-component</role-hint>
-      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
-      <configuration>
-        <type>jbi-component</type>
-        <extension>jar</extension>
-        <language>java</language>
-      </configuration>
-    </component>
-    <component>
-      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
-      <role-hint>jbi-component</role-hint>
-      <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
-      <configuration>
-        <phases>
-          <generate-resources>org.apache.servicemix.tooling:jbi-maven-plugin:generate-jbi-component-descriptor</generate-resources>
-          <process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
-          <compile>org.apache.maven.plugins:maven-compiler-plugin:compile</compile>
-          <process-test-resources>org.apache.maven.plugins:maven-resources-plugin:testResources</process-test-resources>
-          <test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile>
-          <test>org.apache.maven.plugins:maven-surefire-plugin:test</test>
-          <package>org.apache.maven.plugins:maven-jar-plugin:jar, org.apache.servicemix.tooling:jbi-maven-plugin:jbi-component</package>
-          <install>org.apache.maven.plugins:maven-install-plugin:install</install>
-          <deploy>org.apache.maven.plugins:maven-deploy-plugin:deploy</deploy>
-        </phases>
-      </configuration>
-    </component>
-    <component>
-      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
-      <role-hint>jbi-service-unit</role-hint>
-      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
-      <configuration>
-        <type>jbi-service-unit</type>
-        <extension>jar</extension>
-        <language>java</language>
-      </configuration>
-    </component>
-    <component>
-      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
-      <role-hint>jbi-service-unit</role-hint>
-      <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
-      <configuration>
-        <phases>
-          <process-classes>org.apache.servicemix.tooling:jbi-maven-plugin:generate-jbi-service-unit-descriptor</process-classes>
-          <process-resources>org.apache.maven.plugins:maven-resources-plugin:resources,org.apache.servicemix.tooling:jbi-maven-plugin:generate-depends-file</process-resources>
-          <compile>org.apache.maven.plugins:maven-compiler-plugin:compile</compile>
-          <process-test-resources>org.apache.maven.plugins:maven-resources-plugin:testResources</process-test-resources>
-          <test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile>
-          <test>org.apache.maven.plugins:maven-surefire-plugin:test</test>
-          <package>org.apache.maven.plugins:maven-jar-plugin:jar,org.apache.servicemix.tooling:jbi-maven-plugin:jbi-service-unit</package>
-          <install>org.apache.maven.plugins:maven-install-plugin:install</install>
-          <deploy>org.apache.maven.plugins:maven-deploy-plugin:deploy</deploy>
-        </phases>
-      </configuration>
-    </component>
-    <component>
-      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
-      <role-hint>jbi-service-assembly</role-hint>
-      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
-      <configuration>
-        <type>jbi-service-assembly</type>
-        <extension>zip</extension>
-        <language>java</language>
-      </configuration>
-    </component>
-    <component>
-      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
-      <role-hint>jbi-service-assembly</role-hint>
-      <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
-      <configuration>
-        <phases>
-          <generate-resources>org.apache.servicemix.tooling:jbi-maven-plugin:generate-jbi-service-assembly-descriptor,org.apache.servicemix.tooling:jbi-maven-plugin:generate-depends-file</generate-resources>
-          <process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
-          <compile>org.apache.maven.plugins:maven-compiler-plugin:compile</compile>
-          <process-test-resources>org.apache.maven.plugins:maven-resources-plugin:testResources</process-test-resources>
-          <test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile>
-          <test>org.apache.maven.plugins:maven-surefire-plugin:test</test>
-          <package>org.apache.servicemix.tooling:jbi-maven-plugin:jbi-service-assembly</package>
-          <install>org.apache.maven.plugins:maven-install-plugin:install</install>
-          <deploy>org.apache.maven.plugins:maven-deploy-plugin:deploy</deploy>
-        </phases>
-      </configuration>
-    </component>
-    <component>
-      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
-      <role-hint>jbi-shared-library</role-hint>
-      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
-      <configuration>
-        <type>jbi-shared-library</type>
-        <extension>jar</extension>
-        <language>java</language>
-      </configuration>
-    </component>
-    <component>
-      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
-      <role-hint>jbi-shared-library</role-hint>
-      <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
-      <configuration>
-        <phases>
-          <generate-resources>org.apache.servicemix.tooling:jbi-maven-plugin:generate-jbi-shared-library-descriptor,org.apache.servicemix.tooling:jbi-maven-plugin:generate-depends-file</generate-resources>
-          <process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
-          <compile>org.apache.maven.plugins:maven-compiler-plugin:compile</compile>
-          <process-test-resources>org.apache.maven.plugins:maven-resources-plugin:testResources</process-test-resources>
-          <test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile>
-          <test>org.apache.maven.plugins:maven-surefire-plugin:test</test>
-          <package>org.apache.maven.plugins:maven-jar-plugin:jar,
-          		   org.apache.servicemix.tooling:jbi-maven-plugin:jbi-shared-library</package>
-          <install>org.apache.maven.plugins:maven-install-plugin:install</install>
-          <deploy>org.apache.maven.plugins:maven-deploy-plugin:deploy</deploy>
-        </phases>
-      </configuration>
-    </component>
-    <component>
-      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
-      <role-hint>itest</role-hint>
-      <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
-      <configuration>
-        <phases>
-          <generate-resources>org.apache.servicemix.tooling:jbi-maven-plugin:generate-depends-file</generate-resources>
-          <process-resources>org.apache.maven.plugins:maven-resources-plugin:resources</process-resources>
-          <compile>org.apache.maven.plugins:maven-compiler-plugin:compile</compile>
-          <process-test-resources>org.apache.maven.plugins:maven-resources-plugin:testResources</process-test-resources>
-          <test-compile>org.apache.maven.plugins:maven-compiler-plugin:testCompile</test-compile>
-          <test>org.apache.maven.plugins:maven-surefire-plugin:test</test>
-          <package>org.apache.maven.plugins:maven-jar-plugin:jar</package>
-          <install>org.apache.maven.plugins:maven-install-plugin:install</install>
-          <deploy>org.apache.maven.plugins:maven-deploy-plugin:deploy</deploy>
-        </phases>
-      </configuration>
-    </component>
-
-</components>
-</component-set>
diff --git a/jbi-maven-plugin/src/main/resources/log4j.properties b/jbi-maven-plugin/src/main/resources/log4j.properties
deleted file mode 100644
index 9216cb9..0000000
--- a/jbi-maven-plugin/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,42 +0,0 @@
-# 
-# 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.
-#
-#
-
-#
-# The logging properties used during tests..
-#
-log4j.rootLogger=INFO, stdout
-
-log4j.logger.javax.jbi=INFO
-log4j.logger.org.apache.activemq=INFO
-log4j.logger.org.apache.activemq.spring=WARN
-log4j.logger.org.apache.activemq.store.journal=INFO
-log4j.logger.org.activeio.journal=INFO
-
-# CONSOLE appender not used by default
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
-
-# File appender
-log4j.appender.out=org.apache.log4j.FileAppender
-log4j.appender.out.layout=org.apache.log4j.PatternLayout
-log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n
-log4j.appender.out.file=target/servicemix.log
-log4j.appender.out.append=true
diff --git a/jbi-maven-plugin/src/main/scripts/jbi.build.xml b/jbi-maven-plugin/src/main/scripts/jbi.build.xml
deleted file mode 100644
index e2fafad..0000000
--- a/jbi-maven-plugin/src/main/scripts/jbi.build.xml
+++ /dev/null
@@ -1,125 +0,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>
-	
-	<!--
-	
-	Component Tasks
-	
-	-->
-	<target name="installComponent">
-		<taskdef name="installComponent" classname="org.apache.servicemix.jbi.management.task.InstallComponentTask" />
-		<echo>Installing ${installerFile} to service:jmx:${serverProtocol}:///jndi/${serverProtocol}://${host}:${port}${jndiPath}</echo>
-		<installComponent serverProtocol="${serverProtocol}" host="${host}" containerName="${containerName}" jmxDomainName="${jmxDomainName}" port="${port}" jndiPath="${jndiPath}" username="${username}" password="${password}" failOnError="true" file="${installerFile}"/>
-	</target>	
-	
-	<target name="uninstallComponent">
-		<taskdef name="uninstallComponent" classname="org.apache.servicemix.jbi.management.task.UninstallComponentTask" />
-		<echo>Uninstalling ${componentName} from service:jmx:${serverProtocol}:///jndi/${serverProtocol}://${host}:${port}${jndiPath}</echo>
-		<uninstallComponent serverProtocol="${serverProtocol}" host="${host}" containerName="${containerName}" jmxDomainName="${jmxDomainName}" port="${port}" jndiPath="${jndiPath}" username="${username}" password="${password}" failOnError="true" name="${componentName}"/>
-	</target>
-	
-	<target name="startComponent">
-		<taskdef name="startComponent" classname="org.apache.servicemix.jbi.management.task.StartComponentTask" />
-		<echo>Starting ${componentName} on service:jmx:${serverProtocol}:///jndi/${serverProtocol}://${host}:${port}${jndiPath}</echo>
-		<startComponent serverProtocol="${serverProtocol}" host="${host}" containerName="${containerName}" jmxDomainName="${jmxDomainName}" port="${port}" jndiPath="${jndiPath}" username="${username}" password="${password}" failOnError="true" name="${componentName}"/>
-	</target>
-	
-	<target name="stopComponent">
-		<taskdef name="stopComponent" classname="org.apache.servicemix.jbi.management.task.StopComponentTask" />
-		<echo>Stopping ${componentName} on service:jmx:${serverProtocol}:///jndi/${serverProtocol}://${host}:${port}${jndiPath}</echo>
-		<stopComponent serverProtocol="${serverProtocol}" host="${host}" containerName="${containerName}" jmxDomainName="${jmxDomainName}" port="${port}" jndiPath="${jndiPath}" username="${username}" password="${password}" failOnError="true" name="${componentName}"/>
-	</target>
-	
-	<target name="shutdownComponent">
-		<taskdef name="shutdownComponent" classname="org.apache.servicemix.jbi.management.task.ShutDownComponentTask" />
-		<echo>Shutting down ${componentName} on service:jmx:${serverProtocol}:///jndi/${serverProtocol}://${host}:${port}${jndiPath}</echo>
-		<shutdownComponent serverProtocol="${serverProtocol}" host="${host}" containerName="${containerName}" jmxDomainName="${jmxDomainName}" port="${port}" jndiPath="${jndiPath}" username="${username}" password="${password}" failOnError="true" name="${componentName}"/>
-	</target>
-	
-	<target name="listServiceEngines">
-		<taskdef name="listServiceEngines" classname="org.apache.servicemix.jbi.management.task.ListServiceEnginesTask" />
-		<echo>Listing service engines on service:jmx:${serverProtocol}:///jndi/${serverProtocol}://${host}:${port}${jndiPath}</echo>
-		<listServiceEngines serverProtocol="${serverProtocol}" host="${host}" containerName="${containerName}" jmxDomainName="${jmxDomainName}" port="${port}" jndiPath="${jndiPath}" username="${username}" password="${password}" failOnError="true" serviceAssemblyName="${serviceAssemblyName}" sharedLibraryName="${sharedLibraryName}" state="${state}"/>
-	</target>
-	
-	<target name="listBindingComponents">
-		<taskdef name="listBindingComponents" classname="org.apache.servicemix.jbi.management.task.ListBindingComponentsTask" />
-		<echo>Listing binding components on service:jmx:${serverProtocol}:///jndi/${serverProtocol}://${host}:${port}${jndiPath}</echo>
-		<listBindingComponents serverProtocol="${serverProtocol}" host="${host}" containerName="${containerName}" jmxDomainName="${jmxDomainName}" port="${port}" jndiPath="${jndiPath}" username="${username}" password="${password}" failOnError="true" serviceAssemblyName="${serviceAssemblyName}" bindingComponentName="${bindingComponentName}" sharedLibraryName="${sharedLibraryName}" state="${state}"/>
-	</target>
-	
-	<!--
-
-	Shared Library Tasks
-	
-	-->
-	<target name="installSharedLibrary">
-		<taskdef name="installSharedLibrary" classname="org.apache.servicemix.jbi.management.task.InstallSharedLibraryTask" />
-		<echo>Installing shared library ${sharedLibraryFile} on service:jmx:${serverProtocol}:///jndi/${serverProtocol}://${host}:${port}${jndiPath}</echo>
-		<installSharedLibrary serverProtocol="${serverProtocol}" host="${host}" containerName="${containerName}" jmxDomainName="${jmxDomainName}" port="${port}" jndiPath="${jndiPath}" username="${username}" password="${password}" failOnError="true" file="${sharedLibraryFile}"/>
-	</target>
-	<target name="uninstallSharedLibrary">
-		<taskdef name="uninstallSharedLibrary" classname="org.apache.servicemix.jbi.management.task.UninstallSharedLibraryTask" />
-		<echo>Uninstalling shared library ${sharedLibraryName} on service:jmx:${serverProtocol}:///jndi/${serverProtocol}://${host}:${port}${jndiPath}</echo>
-		<uninstallSharedLibrary serverProtocol="${serverProtocol}" host="${host}" containerName="${containerName}" jmxDomainName="${jmxDomainName}" port="${port}" jndiPath="${jndiPath}" username="${username}" password="${password}" failOnError="true" name="${sharedLibraryName}"/>
-	</target>
-	<target name="listSharedLibraries">
-		<taskdef name="listSharedLibraries" classname="org.apache.servicemix.jbi.management.task.ListSharedLibrariesTask" />
-		<echo>Listing shared library on service:jmx:${serverProtocol}:///jndi/${serverProtocol}://${host}:${port}${jndiPath}</echo>
-		<listSharedLibraries serverProtocol="${serverProtocol}" host="${host}" containerName="${containerName}" jmxDomainName="${jmxDomainName}" port="${port}" jndiPath="${jndiPath}" username="${username}" password="${password}" failOnError="true" componentName="${componentName}" sharedLibraryName="${sharedLibraryName}"/>
-	</target>
-	
-	<!--
-
-	Shared Library Tasks
-	
-	-->
-	<target name="deployServiceAssembly">
-		<taskdef name="deployServiceAssembly" classname="org.apache.servicemix.jbi.management.task.DeployServiceAssemblyTask" />
-		<echo>Deploying service assembly ${serviceAssemblyFile} on service:jmx:${serverProtocol}:///jndi/${serverProtocol}://${host}:${port}${jndiPath}</echo>
-		<deployServiceAssembly serverProtocol="${serverProtocol}" host="${host}" containerName="${containerName}" jmxDomainName="${jmxDomainName}" port="${port}" jndiPath="${jndiPath}" username="${username}" password="${password}" failOnError="true" file="${serviceAssemblyFile}"/>
-	</target>
-	<target name="undeployServiceAssembly">
-		<taskdef name="undeployServiceAssembly" classname="org.apache.servicemix.jbi.management.task.UndeployServiceAssemblyTask" />
-		<echo>Uninstalling service assembly ${serviceAssemblyName} on service:jmx:${serverProtocol}:///jndi/${serverProtocol}://${host}:${port}${jndiPath}</echo>
-		<undeployServiceAssembly serverProtocol="${serverProtocol}" host="${host}" containerName="${containerName}" jmxDomainName="${jmxDomainName}" port="${port}" jndiPath="${jndiPath}" username="${username}" password="${password}" failOnError="true" name="${serviceAssemblyName}"/>
-	</target>
-	<target name="startServiceAssembly">
-		<taskdef name="startServiceAssembly" classname="org.apache.servicemix.jbi.management.task.StartServiceAssemblyTask" />
-		<echo>Starting service assembly ${serviceAssemblyName} on service:jmx:${serverProtocol}:///jndi/${serverProtocol}://${host}:${port}${jndiPath}</echo>
-		<startServiceAssembly serverProtocol="${serverProtocol}" host="${host}" containerName="${containerName}" jmxDomainName="${jmxDomainName}" port="${port}" jndiPath="${jndiPath}" username="${username}" password="${password}" failOnError="true" name="${serviceAssemblyName}"/>
-	</target>
-	<target name="stopServiceAssembly">
-		<taskdef name="stopServiceAssembly" classname="org.apache.servicemix.jbi.management.task.StopServiceAssemblyTask" />
-		<echo>Stopping service assembly ${serviceAssemblyName} on service:jmx:${serverProtocol}:///jndi/${serverProtocol}://${host}:${port}${jndiPath}</echo>
-		<stopServiceAssembly serverProtocol="${serverProtocol}" host="${host}" containerName="${containerName}" jmxDomainName="${jmxDomainName}" port="${port}" jndiPath="${jndiPath}" username="${username}" password="${password}" failOnError="true" name="${serviceAssemblyName}"/>
-	</target>
-	<target name="shutdownServiceAssembly">
-		<taskdef name="shutdownServiceAssembly" classname="org.apache.servicemix.jbi.management.task.ShutDownServiceAssemblyTask" />
-		<echo>Shutting down service assembly ${serviceAssemblyName} on service:jmx:${serverProtocol}:///jndi/${serverProtocol}://${host}:${port}${jndiPath}</echo>
-		<shutdownServiceAssembly serverProtocol="${serverProtocol}" host="${host}" containerName="${containerName}" jmxDomainName="${jmxDomainName}" port="${port}" jndiPath="${jndiPath}" username="${username}" password="${password}" failOnError="true" name="${serviceAssemblyName}"/>
-	</target>
-	<target name="listServiceAssemblies">
-		<taskdef name="listServiceAssemblies" classname="org.apache.servicemix.jbi.management.task.ListServiceAssembliesTask" />
-		<echo>Listing service assemblies on service:jmx:${serverProtocol}:///jndi/${serverProtocol}://${host}:${port}${jndiPath}</echo>
-		<listServiceAssemblies serverProtocol="${serverProtocol}" host="${host}" containerName="${containerName}" jmxDomainName="${jmxDomainName}" port="${port}" jndiPath="${jndiPath}" username="${username}" password="${password}" failOnError="true" componentName="${componentName}" serviceAssemblyName="${serviceAssemblyName}" state="${state}"/>
-	</target>
-</project>
diff --git a/jbi-maven-plugin/src/main/scripts/jbi.mojos.xml b/jbi-maven-plugin/src/main/scripts/jbi.mojos.xml
deleted file mode 100644
index da9595f..0000000
--- a/jbi-maven-plugin/src/main/scripts/jbi.mojos.xml
+++ /dev/null
@@ -1,1551 +0,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.
-
--->
-<pluginMetadata>
-  <mojos>
-    <mojo>
-      <goal>installComponent</goal>
-      <call>installComponent</call>      
-      <requiresProject>true</requiresProject>      
-      <description>
-        Installs a JBI component to a server
-      </description>
-      <parameters>          
-        <parameter>
-          <name>installerFile</name> 
-          <property>installerFile</property>
-          <required>true</required>
-          <readonly>false</readonly>
-          <defaultValue>${project.build.directory}/${project.artifactId}-${project.version}-installer.zip</defaultValue>
-          <type>java.lang.String</type>
-          <description>The location of the component installer file</description>
-        </parameter>
-        <parameter>
-          <name>serverProtocol</name> 
-          <property>serverProtocol</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>rmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
-        </parameter>
-        <parameter>
-          <name>host</name> 
-          <property>host</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>localhost</defaultValue>
-          <type>java.lang.String</type>
-          <description>The hostname of the naming server</description>
-        </parameter>
-        <parameter>
-          <name>containerName</name> 
-          <property>containerName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>ServiceMix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the ServiceMix JBI Container to connect to</description>
-        </parameter>
-        <parameter>
-          <name>jmxDomainName</name> 
-          <property>jmxDomainName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>org.apache.servicemix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
-        </parameter>
-        <parameter>
-          <name>port</name> 
-          <property>port</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>1099</defaultValue>
-          <type>java.lang.String</type>
-          <description>The port the naming server listens for connections on</description>
-        </parameter>
-        <parameter>
-          <name>jndiPath</name> 
-          <property>jndiPath</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>/jmxrmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The path in the naming server to retrieve the JMX Connection</description>
-        </parameter>
-        <parameter>
-          <name>username</name> 
-          <property>username</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The user name for the JMXConnection</description>
-        </parameter>
-        <parameter>
-          <name>password</name> 
-          <property>password</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The password for the JMXConnection</description>
-        </parameter>
-      </parameters>
-    </mojo>
-    <mojo>
-      <goal>uninstallComponent</goal>
-      <call>uninstallComponent</call>      
-      <requiresProject>true</requiresProject>      
-      <description>
-        Uninstalled a JBI component from the server
-      </description>
-      <parameters>          
-        <parameter>
-          <name>componentName</name> 
-          <property>componentName</property>
-          <required>true</required>
-          <readonly>false</readonly>
-          <defaultValue>${project.artifactId}</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the Component to uninstall</description>
-        </parameter>
-        <parameter>
-          <name>serverProtocol</name> 
-          <property>serverProtocol</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>rmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
-        </parameter>
-        <parameter>
-          <name>host</name> 
-          <property>host</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>localhost</defaultValue>
-          <type>java.lang.String</type>
-          <description>The hostname of the naming server</description>
-        </parameter>
-        <parameter>
-          <name>containerName</name> 
-          <property>containerName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>ServiceMix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the ServiceMix JBI Container to connect to</description>
-        </parameter>
-        <parameter>
-          <name>jmxDomainName</name> 
-          <property>jmxDomainName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>org.apache.servicemix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
-        </parameter>
-        <parameter>
-          <name>port</name> 
-          <property>port</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>1099</defaultValue>
-          <type>java.lang.String</type>
-          <description>The port the naming server listens for connections on</description>
-        </parameter>
-        <parameter>
-          <name>jndiPath</name> 
-          <property>jndiPath</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>/jmxrmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The path in the naming server to retrieve the JMX Connection</description>
-        </parameter>
-        <parameter>
-          <name>username</name> 
-          <property>username</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The user name for the JMXConnection</description>
-        </parameter>
-        <parameter>
-          <name>password</name> 
-          <property>password</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The password for the JMXConnection</description>
-        </parameter>
-      </parameters>
-    </mojo>
-    <mojo>
-      <goal>stopComponent</goal>
-      <call>stopComponent</call>      
-      <requiresProject>true</requiresProject>      
-      <description>
-        Stops a JBI component on the server
-      </description>
-      <parameters>          
-        <parameter>
-          <name>componentName</name> 
-          <property>componentName</property>
-          <required>true</required>
-          <readonly>false</readonly>
-          <defaultValue>${project.artifactId}</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the Component to uninstall</description>
-        </parameter>
-        <parameter>
-          <name>serverProtocol</name> 
-          <property>serverProtocol</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>rmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
-        </parameter>
-        <parameter>
-          <name>host</name> 
-          <property>host</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>localhost</defaultValue>
-          <type>java.lang.String</type>
-          <description>The hostname of the naming server</description>
-        </parameter>
-        <parameter>
-          <name>containerName</name> 
-          <property>containerName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>ServiceMix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the ServiceMix JBI Container to connect to</description>
-        </parameter>
-        <parameter>
-          <name>jmxDomainName</name> 
-          <property>jmxDomainName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>org.apache.servicemix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
-        </parameter>
-        <parameter>
-          <name>port</name> 
-          <property>port</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>1099</defaultValue>
-          <type>java.lang.String</type>
-          <description>The port the naming server listens for connections on</description>
-        </parameter>
-        <parameter>
-          <name>jndiPath</name> 
-          <property>jndiPath</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>/jmxrmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The path in the naming server to retrieve the JMX Connection</description>
-        </parameter>
-        <parameter>
-          <name>username</name> 
-          <property>username</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The user name for the JMXConnection</description>
-        </parameter>
-        <parameter>
-          <name>password</name> 
-          <property>password</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The password for the JMXConnection</description>
-        </parameter>
-      </parameters>
-    </mojo>
-    <mojo>
-      <goal>startComponent</goal>
-      <call>startComponent</call>      
-      <requiresProject>true</requiresProject>      
-      <description>
-        Starts a JBI component on the server
-      </description>
-      <parameters>          
-        <parameter>
-          <name>componentName</name> 
-          <property>componentName</property>
-          <required>true</required>
-          <readonly>false</readonly>
-          <defaultValue>${project.artifactId}</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the Component to uninstall</description>
-        </parameter>
-        <parameter>
-          <name>serverProtocol</name> 
-          <property>serverProtocol</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>rmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
-        </parameter>
-        <parameter>
-          <name>host</name> 
-          <property>host</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>localhost</defaultValue>
-          <type>java.lang.String</type>
-          <description>The hostname of the naming server</description>
-        </parameter>
-        <parameter>
-          <name>containerName</name> 
-          <property>containerName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>ServiceMix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the ServiceMix JBI Container to connect to</description>
-        </parameter>
-        <parameter>
-          <name>jmxDomainName</name> 
-          <property>jmxDomainName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>org.apache.servicemix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
-        </parameter>
-        <parameter>
-          <name>port</name> 
-          <property>port</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>1099</defaultValue>
-          <type>java.lang.String</type>
-          <description>The port the naming server listens for connections on</description>
-        </parameter>
-        <parameter>
-          <name>jndiPath</name> 
-          <property>jndiPath</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>/jmxrmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The path in the naming server to retrieve the JMX Connection</description>
-        </parameter>
-        <parameter>
-          <name>username</name> 
-          <property>username</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The user name for the JMXConnection</description>
-        </parameter>
-        <parameter>
-          <name>password</name> 
-          <property>password</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The password for the JMXConnection</description>
-        </parameter>
-      </parameters>
-    </mojo>
-    <mojo>
-      <goal>shutdownComponent</goal>
-      <call>shutdownComponent</call>      
-      <requiresProject>true</requiresProject>      
-      <description>
-        Shuts down a JBI component on the server
-      </description>
-      <parameters>          
-        <parameter>
-          <name>componentName</name> 
-          <property>componentName</property>
-          <required>true</required>
-          <readonly>false</readonly>
-          <defaultValue>${project.artifactId}</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the Component to shut down</description>
-        </parameter>
-        <parameter>
-          <name>serverProtocol</name> 
-          <property>serverProtocol</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>rmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
-        </parameter>
-        <parameter>
-          <name>host</name> 
-          <property>host</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>localhost</defaultValue>
-          <type>java.lang.String</type>
-          <description>The hostname of the naming server</description>
-        </parameter>
-        <parameter>
-          <name>containerName</name> 
-          <property>containerName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>ServiceMix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the ServiceMix JBI Container to connect to</description>
-        </parameter>
-        <parameter>
-          <name>jmxDomainName</name> 
-          <property>jmxDomainName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>org.apache.servicemix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
-        </parameter>
-        <parameter>
-          <name>port</name> 
-          <property>port</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>1099</defaultValue>
-          <type>java.lang.String</type>
-          <description>The port the naming server listens for connections on</description>
-        </parameter>
-        <parameter>
-          <name>jndiPath</name> 
-          <property>jndiPath</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>/jmxrmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The path in the naming server to retrieve the JMX Connection</description>
-        </parameter>
-        <parameter>
-          <name>username</name> 
-          <property>username</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The user name for the JMXConnection</description>
-        </parameter>
-        <parameter>
-          <name>password</name> 
-          <property>password</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The password for the JMXConnection</description>
-        </parameter>
-      </parameters>
-    </mojo>
-    <mojo>
-      <goal>listServiceEngines</goal>
-      <call>listServiceEngines</call>      
-      <requiresProject>true</requiresProject>      
-      <description>
-        Lists the service engines on the server, provide either a serviceAssemblyName, serviceEngineName, sharedLibraryName or state
-      </description>
-      <parameters>          
-        <parameter>
-          <name>serviceAssemblyName</name> 
-          <property>serviceAssemblyName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue></defaultValue>
-          <type>java.lang.String</type>
-          <description>List service engines that have service units from the given service assembly deployed to them</description>
-        </parameter>        
-        <parameter>
-          <name>sharedLibraryName</name> 
-          <property>sharedLibraryName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue></defaultValue>
-          <type>java.lang.String</type>
-          <description>List the service engines using the given shared library</description>
-        </parameter>
-        <parameter>
-          <name>state</name> 
-          <property>state</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue></defaultValue>
-          <type>java.lang.String</type>
-          <description>Report service assemblies in the given state</description>
-        </parameter>
-        <parameter>
-          <name>serverProtocol</name> 
-          <property>serverProtocol</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>rmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
-        </parameter>
-        <parameter>
-          <name>host</name> 
-          <property>host</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>localhost</defaultValue>
-          <type>java.lang.String</type>
-          <description>The hostname of the naming server</description>
-        </parameter>
-        <parameter>
-          <name>containerName</name> 
-          <property>containerName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>ServiceMix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the ServiceMix JBI Container to connect to</description>
-        </parameter>
-        <parameter>
-          <name>jmxDomainName</name> 
-          <property>jmxDomainName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>org.apache.servicemix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
-        </parameter>
-        <parameter>
-          <name>port</name> 
-          <property>port</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>1099</defaultValue>
-          <type>java.lang.String</type>
-          <description>The port the naming server listens for connections on</description>
-        </parameter>
-        <parameter>
-          <name>jndiPath</name> 
-          <property>jndiPath</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>/jmxrmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The path in the naming server to retrieve the JMX Connection</description>
-        </parameter>
-        <parameter>
-          <name>username</name> 
-          <property>username</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The user name for the JMXConnection</description>
-        </parameter>
-        <parameter>
-          <name>password</name> 
-          <property>password</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The password for the JMXConnection</description>
-        </parameter>
-      </parameters>
-    </mojo>
-    <mojo>
-      <goal>listBindingComponents</goal>
-      <call>listBindingComponents</call>      
-      <requiresProject>true</requiresProject>      
-      <description>
-        Lists the binding components on the server, provide either a bindingComponentName, serviceAssemblyName, sharedLibraryName or state
-      </description>
-      <parameters>          
-        <parameter>
-          <name>bindingComponentName</name> 
-          <property>bindingComponentName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue></defaultValue>
-          <type>java.lang.String</type>
-          <description>List only the given binding component</description>
-        </parameter>
-        <parameter>
-          <name>serviceAssemblyName</name> 
-          <property>serviceAssemblyName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue></defaultValue>
-          <type>java.lang.String</type>
-          <description>List binding components that have service units from the given service assembly deployed to them</description>
-        </parameter>
-        <parameter>
-          <name>sharedLibraryName</name> 
-          <property>sharedLibraryName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue></defaultValue>
-          <type>java.lang.String</type>
-          <description>List the service engines using the given shared library</description>
-        </parameter>
-        <parameter>
-          <name>state</name> 
-          <property>state</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue></defaultValue>
-          <type>java.lang.String</type>
-          <description>Report service assemblies in the given state</description>
-        </parameter>
-        <parameter>
-          <name>serverProtocol</name> 
-          <property>serverProtocol</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>rmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
-        </parameter>
-        <parameter>
-          <name>host</name> 
-          <property>host</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>localhost</defaultValue>
-          <type>java.lang.String</type>
-          <description>The hostname of the naming server</description>
-        </parameter>
-        <parameter>
-          <name>containerName</name> 
-          <property>containerName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>ServiceMix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the ServiceMix JBI Container to connect to</description>
-        </parameter>
-        <parameter>
-          <name>jmxDomainName</name> 
-          <property>jmxDomainName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>org.apache.servicemix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
-        </parameter>
-        <parameter>
-          <name>port</name> 
-          <property>port</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>1099</defaultValue>
-          <type>java.lang.String</type>
-          <description>The port the naming server listens for connections on</description>
-        </parameter>
-        <parameter>
-          <name>jndiPath</name> 
-          <property>jndiPath</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>/jmxrmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The path in the naming server to retrieve the JMX Connection</description>
-        </parameter>
-        <parameter>
-          <name>username</name> 
-          <property>username</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The user name for the JMXConnection</description>
-        </parameter>
-        <parameter>
-          <name>password</name> 
-          <property>password</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The password for the JMXConnection</description>
-        </parameter>
-      </parameters>
-    </mojo>
-    <mojo>
-      <goal>installSharedLibrary</goal>
-      <call>installSharedLibrary</call>      
-      <requiresProject>true</requiresProject>      
-      <description>
-			Installs a shared library
-      </description>
-      <parameters>          
-        <parameter>
-          <name>sharedLibraryFile</name> 
-          <property>sharedLibraryFile</property>
-          <required>true</required>
-          <readonly>false</readonly>
-          <defaultValue>${project.build.directory}/${project.artifactId}-${project.version}.zip</defaultValue>
-          <type>java.lang.String</type>
-          <description>The location of the shared library file</description>
-        </parameter>
-        <parameter>
-          <name>serverProtocol</name> 
-          <property>serverProtocol</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>rmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
-        </parameter>
-        <parameter>
-          <name>host</name> 
-          <property>host</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>localhost</defaultValue>
-          <type>java.lang.String</type>
-          <description>The hostname of the naming server</description>
-        </parameter>
-        <parameter>
-          <name>containerName</name> 
-          <property>containerName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>ServiceMix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the ServiceMix JBI Container to connect to</description>
-        </parameter>
-        <parameter>
-          <name>jmxDomainName</name> 
-          <property>jmxDomainName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>org.apache.servicemix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
-        </parameter>
-        <parameter>
-          <name>port</name> 
-          <property>port</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>1099</defaultValue>
-          <type>java.lang.String</type>
-          <description>The port the naming server listens for connections on</description>
-        </parameter>
-        <parameter>
-          <name>jndiPath</name> 
-          <property>jndiPath</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>/jmxrmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The path in the naming server to retrieve the JMX Connection</description>
-        </parameter>
-        <parameter>
-          <name>username</name> 
-          <property>username</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The user name for the JMXConnection</description>
-        </parameter>
-        <parameter>
-          <name>password</name> 
-          <property>password</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The password for the JMXConnection</description>
-        </parameter>
-      </parameters>
-    </mojo>
-    <mojo>
-      <goal>uninstallSharedLibrary</goal>
-      <call>uninstallSharedLibrary</call>      
-      <requiresProject>true</requiresProject>      
-      <description>
-			Uninstalls a shared library
-      </description>
-      <parameters>          
-        <parameter>
-          <name>sharedLibraryName</name> 
-          <property>sharedLibraryName</property>
-          <required>true</required>
-          <readonly>false</readonly>
-          <defaultValue>${project.artifactId}</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the shared library to uninstall</description>
-        </parameter>
-        <parameter>
-          <name>serverProtocol</name> 
-          <property>serverProtocol</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>rmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
-        </parameter>
-        <parameter>
-          <name>host</name> 
-          <property>host</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>localhost</defaultValue>
-          <type>java.lang.String</type>
-          <description>The hostname of the naming server</description>
-        </parameter>
-        <parameter>
-          <name>containerName</name> 
-          <property>containerName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>ServiceMix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the ServiceMix JBI Container to connect to</description>
-        </parameter>
-        <parameter>
-          <name>jmxDomainName</name> 
-          <property>jmxDomainName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>org.apache.servicemix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
-        </parameter>
-        <parameter>
-          <name>port</name> 
-          <property>port</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>1099</defaultValue>
-          <type>java.lang.String</type>
-          <description>The port the naming server listens for connections on</description>
-        </parameter>
-        <parameter>
-          <name>jndiPath</name> 
-          <property>jndiPath</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>/jmxrmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The path in the naming server to retrieve the JMX Connection</description>
-        </parameter>
-        <parameter>
-          <name>username</name> 
-          <property>username</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The user name for the JMXConnection</description>
-        </parameter>
-        <parameter>
-          <name>password</name> 
-          <property>password</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The password for the JMXConnection</description>
-        </parameter>
-      </parameters>
-    </mojo>
-    <mojo>
-      <goal>listSharedLibraries</goal>
-      <call>listSharedLibraries</call>      
-      <requiresProject>true</requiresProject>      
-      <description>
-			Lists the currently deployed shared libraries
-      </description>
-      <parameters>          
-        <parameter>
-          <name>componentName</name> 
-          <property>componentName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue></defaultValue>
-          <type>java.lang.String</type>
-          <description>List shared libraries that the component depends on</description>
-        </parameter>
-        <parameter>
-          <name>sharedLibraryName</name> 
-          <property>sharedLibraryName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue></defaultValue>
-          <type>java.lang.String</type>
-          <description>List only the given shared library</description>
-        </parameter>
-        <parameter>
-          <name>serverProtocol</name> 
-          <property>serverProtocol</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>rmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
-        </parameter>
-        <parameter>
-          <name>host</name> 
-          <property>host</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>localhost</defaultValue>
-          <type>java.lang.String</type>
-          <description>The hostname of the naming server</description>
-        </parameter>
-        <parameter>
-          <name>containerName</name> 
-          <property>containerName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>ServiceMix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the ServiceMix JBI Container to connect to</description>
-        </parameter>
-        <parameter>
-          <name>jmxDomainName</name> 
-          <property>jmxDomainName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>org.apache.servicemix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
-        </parameter>
-        <parameter>
-          <name>port</name> 
-          <property>port</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>1099</defaultValue>
-          <type>java.lang.String</type>
-          <description>The port the naming server listens for connections on</description>
-        </parameter>
-        <parameter>
-          <name>jndiPath</name> 
-          <property>jndiPath</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>/jmxrmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The path in the naming server to retrieve the JMX Connection</description>
-        </parameter>
-        <parameter>
-          <name>username</name> 
-          <property>username</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The user name for the JMXConnection</description>
-        </parameter>
-        <parameter>
-          <name>password</name> 
-          <property>password</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The password for the JMXConnection</description>
-        </parameter>
-      </parameters>
-    </mojo>
-    <mojo>
-      <goal>deployServiceAssembly</goal>
-      <call>deployServiceAssembly</call>      
-      <requiresProject>true</requiresProject>      
-      <description>
-			Deploys a service assembly to the server
-      </description>
-      <parameters>          
-        <parameter>
-          <name>serviceAssemblyFile</name> 
-          <property>serviceAssemblyFile</property>
-          <required>true</required>
-          <readonly>false</readonly>
-          <defaultValue>${project.build.directory}/${project.artifactId}-${project.version}.jar</defaultValue>
-          <type>java.lang.String</type>
-          <description>The location of the service assembly installer file</description>
-        </parameter>
-        <parameter>
-          <name>serverProtocol</name> 
-          <property>serverProtocol</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>rmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
-        </parameter>
-        <parameter>
-          <name>host</name> 
-          <property>host</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>localhost</defaultValue>
-          <type>java.lang.String</type>
-          <description>The hostname of the naming server</description>
-        </parameter>
-        <parameter>
-          <name>containerName</name> 
-          <property>containerName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>ServiceMix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the ServiceMix JBI Container to connect to</description>
-        </parameter>
-        <parameter>
-          <name>jmxDomainName</name> 
-          <property>jmxDomainName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>org.apache.servicemix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
-        </parameter>
-        <parameter>
-          <name>port</name> 
-          <property>port</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>1099</defaultValue>
-          <type>java.lang.String</type>
-          <description>The port the naming server listens for connections on</description>
-        </parameter>
-        <parameter>
-          <name>jndiPath</name> 
-          <property>jndiPath</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>/jmxrmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The path in the naming server to retrieve the JMX Connection</description>
-        </parameter>
-        <parameter>
-          <name>username</name> 
-          <property>username</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The user name for the JMXConnection</description>
-        </parameter>
-        <parameter>
-          <name>password</name> 
-          <property>password</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The password for the JMXConnection</description>
-        </parameter>
-      </parameters>
-    </mojo>
-    <mojo>
-      <goal>undeployServiceAssembly</goal>
-      <call>undeployServiceAssembly</call>      
-      <requiresProject>true</requiresProject>      
-      <description>
-			Undeploys a service assembly from the server
-      </description>
-      <parameters>          
-        <parameter>
-          <name>serviceAssemblyName</name> 
-          <property>serviceAssemblyName</property>
-          <required>true</required>
-          <readonly>false</readonly>
-          <defaultValue>${project.artifactId}</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the service assembly</description>
-        </parameter>
-        <parameter>
-          <name>serverProtocol</name> 
-          <property>serverProtocol</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>rmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
-        </parameter>
-        <parameter>
-          <name>host</name> 
-          <property>host</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>localhost</defaultValue>
-          <type>java.lang.String</type>
-          <description>The hostname of the naming server</description>
-        </parameter>
-        <parameter>
-          <name>containerName</name> 
-          <property>containerName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>ServiceMix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the ServiceMix JBI Container to connect to</description>
-        </parameter>
-        <parameter>
-          <name>jmxDomainName</name> 
-          <property>jmxDomainName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>org.apache.servicemix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
-        </parameter>
-        <parameter>
-          <name>port</name> 
-          <property>port</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>1099</defaultValue>
-          <type>java.lang.String</type>
-          <description>The port the naming server listens for connections on</description>
-        </parameter>
-        <parameter>
-          <name>jndiPath</name> 
-          <property>jndiPath</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>/jmxrmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The path in the naming server to retrieve the JMX Connection</description>
-        </parameter>
-        <parameter>
-          <name>username</name> 
-          <property>username</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The user name for the JMXConnection</description>
-        </parameter>
-        <parameter>
-          <name>password</name> 
-          <property>password</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The password for the JMXConnection</description>
-        </parameter>
-      </parameters>
-    </mojo>
-    <mojo>
-      <goal>startServiceAssembly</goal>
-      <call>startServiceAssembly</call>      
-      <requiresProject>true</requiresProject>      
-      <description>
-			Starts a service assembly from the server
-      </description>
-      <parameters>          
-        <parameter>
-          <name>serviceAssemblyName</name> 
-          <property>serviceAssemblyName</property>
-          <required>true</required>
-          <readonly>false</readonly>
-          <defaultValue>${project.artifactId}</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the service assembly</description>
-        </parameter>
-        <parameter>
-          <name>serverProtocol</name> 
-          <property>serverProtocol</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>rmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
-        </parameter>
-        <parameter>
-          <name>host</name> 
-          <property>host</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>localhost</defaultValue>
-          <type>java.lang.String</type>
-          <description>The hostname of the naming server</description>
-        </parameter>
-        <parameter>
-          <name>containerName</name> 
-          <property>containerName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>ServiceMix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the ServiceMix JBI Container to connect to</description>
-        </parameter>
-        <parameter>
-          <name>jmxDomainName</name> 
-          <property>jmxDomainName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>org.apache.servicemix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
-        </parameter>
-        <parameter>
-          <name>port</name> 
-          <property>port</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>1099</defaultValue>
-          <type>java.lang.String</type>
-          <description>The port the naming server listens for connections on</description>
-        </parameter>
-        <parameter>
-          <name>jndiPath</name> 
-          <property>jndiPath</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>/jmxrmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The path in the naming server to retrieve the JMX Connection</description>
-        </parameter>
-        <parameter>
-          <name>username</name> 
-          <property>username</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The user name for the JMXConnection</description>
-        </parameter>
-        <parameter>
-          <name>password</name> 
-          <property>password</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The password for the JMXConnection</description>
-        </parameter>
-      </parameters>
-    </mojo>
-    <mojo>
-      <goal>stopServiceAssembly</goal>
-      <call>stopServiceAssembly</call>      
-      <requiresProject>true</requiresProject>      
-      <description>
-			Stops a service assembly from the server
-      </description>
-      <parameters>          
-        <parameter>
-          <name>serviceAssemblyName</name> 
-          <property>serviceAssemblyName</property>
-          <required>true</required>
-          <readonly>false</readonly>
-          <defaultValue>${project.artifactId}</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the service assembly</description>
-        </parameter>
-        <parameter>
-          <name>serverProtocol</name> 
-          <property>serverProtocol</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>rmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
-        </parameter>
-        <parameter>
-          <name>host</name> 
-          <property>host</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>localhost</defaultValue>
-          <type>java.lang.String</type>
-          <description>The hostname of the naming server</description>
-        </parameter>
-        <parameter>
-          <name>containerName</name> 
-          <property>containerName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>ServiceMix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the ServiceMix JBI Container to connect to</description>
-        </parameter>
-        <parameter>
-          <name>jmxDomainName</name> 
-          <property>jmxDomainName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>org.apache.servicemix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
-        </parameter>
-        <parameter>
-          <name>port</name> 
-          <property>port</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>1099</defaultValue>
-          <type>java.lang.String</type>
-          <description>The port the naming server listens for connections on</description>
-        </parameter>
-        <parameter>
-          <name>jndiPath</name> 
-          <property>jndiPath</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>/jmxrmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The path in the naming server to retrieve the JMX Connection</description>
-        </parameter>
-        <parameter>
-          <name>username</name> 
-          <property>username</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The user name for the JMXConnection</description>
-        </parameter>
-        <parameter>
-          <name>password</name> 
-          <property>password</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The password for the JMXConnection</description>
-        </parameter>
-      </parameters>
-    </mojo>
-    <mojo>
-      <goal>shutdownServiceAssembly</goal>
-      <call>shutdownServiceAssembly</call>      
-      <requiresProject>true</requiresProject>      
-      <description>
-			Shutsdown a service assembly from the server
-      </description>
-      <parameters>          
-        <parameter>
-          <name>serviceAssemblyName</name> 
-          <property>serviceAssemblyName</property>
-          <required>true</required>
-          <readonly>false</readonly>
-          <defaultValue>${project.artifactId}</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the service assembly</description>
-        </parameter>
-        <parameter>
-          <name>serverProtocol</name> 
-          <property>serverProtocol</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>rmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
-        </parameter>
-        <parameter>
-          <name>host</name> 
-          <property>host</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>localhost</defaultValue>
-          <type>java.lang.String</type>
-          <description>The hostname of the naming server</description>
-        </parameter>
-        <parameter>
-          <name>containerName</name> 
-          <property>containerName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>ServiceMix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the ServiceMix JBI Container to connect to</description>
-        </parameter>
-        <parameter>
-          <name>jmxDomainName</name> 
-          <property>jmxDomainName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>org.apache.servicemix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
-        </parameter>
-        <parameter>
-          <name>port</name> 
-          <property>port</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>1099</defaultValue>
-          <type>java.lang.String</type>
-          <description>The port the naming server listens for connections on</description>
-        </parameter>
-        <parameter>
-          <name>jndiPath</name> 
-          <property>jndiPath</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>/jmxrmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The path in the naming server to retrieve the JMX Connection</description>
-        </parameter>
-        <parameter>
-          <name>username</name> 
-          <property>username</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The user name for the JMXConnection</description>
-        </parameter>
-        <parameter>
-          <name>password</name> 
-          <property>password</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The password for the JMXConnection</description>
-        </parameter>
-      </parameters>
-    </mojo>
-    <mojo>
-      <goal>listServiceAssemblies</goal>
-      <call>listServiceAssemblies</call>      
-      <requiresProject>true</requiresProject>      
-      <description>
-			Lists the service assemblies from the server
-      </description>
-      <parameters>          
-        <parameter>
-          <name>componentName</name> 
-          <property>componentName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue></defaultValue>
-          <type>java.lang.String</type>
-          <description>List the service assemblies that has service units deployed to this component</description>
-        </parameter>
-        <parameter>
-          <name>serviceAssemblyName</name> 
-          <property>serviceAssemblyName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue></defaultValue>
-          <type>java.lang.String</type>
-          <description>List only the given service assembly</description>
-        </parameter>
-        <parameter>
-          <name>state</name> 
-          <property>state</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue></defaultValue>
-          <type>java.lang.String</type>
-          <description>Report service assemblies in the given state</description>
-        </parameter>
-        <parameter>
-          <name>serverProtocol</name> 
-          <property>serverProtocol</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>rmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The default protcol used for connecting with the ServiceMix JMX MBeanServer</description>
-        </parameter>
-        <parameter>
-          <name>host</name> 
-          <property>host</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>localhost</defaultValue>
-          <type>java.lang.String</type>
-          <description>The hostname of the naming server</description>
-        </parameter>
-        <parameter>
-          <name>containerName</name> 
-          <property>containerName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>ServiceMix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The name of the ServiceMix JBI Container to connect to</description>
-        </parameter>
-        <parameter>
-          <name>jmxDomainName</name> 
-          <property>jmxDomainName</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>org.apache.servicemix</defaultValue>
-          <type>java.lang.String</type>
-          <description>The domain name of the MBeanServer used by the ServiceMix JBI Container</description>
-        </parameter>
-        <parameter>
-          <name>port</name> 
-          <property>port</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>1099</defaultValue>
-          <type>java.lang.String</type>
-          <description>The port the naming server listens for connections on</description>
-        </parameter>
-        <parameter>
-          <name>jndiPath</name> 
-          <property>jndiPath</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>/jmxrmi</defaultValue>
-          <type>java.lang.String</type>
-          <description>The path in the naming server to retrieve the JMX Connection</description>
-        </parameter>
-        <parameter>
-          <name>username</name> 
-          <property>username</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The user name for the JMXConnection</description>
-        </parameter>
-        <parameter>
-          <name>password</name> 
-          <property>password</property>
-          <required>false</required>
-          <readonly>false</readonly>
-          <defaultValue>smx</defaultValue>
-          <type>java.lang.String</type>
-          <description>The password for the JMXConnection</description>
-        </parameter>
-      </parameters>
-    </mojo>
-  </mojos>
-</pluginMetadata>
diff --git a/jbi-maven-plugin/src/test/java/org/apache/servicemix/maven/plugin/jbi/AbstractDeployableMojoTest.java b/jbi-maven-plugin/src/test/java/org/apache/servicemix/maven/plugin/jbi/AbstractDeployableMojoTest.java
deleted file mode 100644
index 45a0e8c..0000000
--- a/jbi-maven-plugin/src/test/java/org/apache/servicemix/maven/plugin/jbi/AbstractDeployableMojoTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import junit.framework.TestCase;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.servicemix.jbi.framework.AdminCommandsServiceMBean;
-import org.apache.servicemix.jbi.management.task.JbiTask;
-
-/**
- * Test cases for {@link AbstractDeployableMojo}
- */
-public class AbstractDeployableMojoTest extends TestCase {
-
-    private static final String CONTAINER_NAME = "someContainerName";
-    private static final String HOST = "someHostName";
-    private static final String JNDI_PATH = "someJndiPath";
-    private static final String JMX_DOMAIN_NAME = "someJmxDomainName";
-    private static final String PASSWORD = "somePassword";
-    private static final Integer PORT = 1001;
-    private static final String SERVER_PROTOCOL = "someProtocolName";
-    private static final String SERVICE_URL = "someServiceUrl";
-    private static final String USERNAME = "someUserName";
-
-    public void testInitializeAntTask() {
-        JbiTask task = new JbiTask() {
-            @Override
-            protected void doExecute(AdminCommandsServiceMBean adminCommandsServiceMBean) throws Exception {
-                //graciously do nothing;
-            }
-        };
-
-        AbstractDeployableMojo mojo = new AbstractDeployableMojo() {
-            public void execute() throws MojoExecutionException, MojoFailureException {
-                //graciously do nothing
-            }
-        };
-
-        mojo.containerName = CONTAINER_NAME;
-        mojo.environment = "someEnvironmentKey=someEnvironmentValue";
-        mojo.host = HOST;
-        mojo.jndiPath = JNDI_PATH;
-        mojo.jmxDomainName = JMX_DOMAIN_NAME;
-        mojo.password = PASSWORD;
-        mojo.port = PORT.toString();
-        mojo.serverProtocol = SERVER_PROTOCOL;
-        mojo.serviceUrl = SERVICE_URL;
-        mojo.username = USERNAME;
-
-        mojo.initializeJbiTask(task);
-        assertNotNull("Initialization should have injected the Ant project", task.getProject());
-        assertEquals(CONTAINER_NAME, task.getContainerName());
-        assertEquals(HOST, task.getHost());
-        assertEquals(JNDI_PATH, task.getJndiPath());
-        assertEquals(JMX_DOMAIN_NAME, task.getJmxDomainName());
-        assertEquals(PASSWORD, task.getPassword());
-        assertEquals(PORT, (Integer) task.getPort());
-        assertEquals(SERVER_PROTOCOL, task.getServerProtocol());
-        assertEquals(SERVICE_URL, task.getServiceUrl());
-        assertEquals(USERNAME, task.getUsername());
-    }
-
-}
diff --git a/jbi-maven-plugin/src/test/java/org/apache/servicemix/maven/plugin/jbi/DependencyInformationTest.java b/jbi-maven-plugin/src/test/java/org/apache/servicemix/maven/plugin/jbi/DependencyInformationTest.java
deleted file mode 100644
index 463dc39..0000000
--- a/jbi-maven-plugin/src/test/java/org/apache/servicemix/maven/plugin/jbi/DependencyInformationTest.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import junit.framework.TestCase;
-
-/**
- * Test cases for {@link org.apache.servicemix.maven.plugin.jbi.DependencyInformation}
- */
-public class DependencyInformationTest extends TestCase {
-
-    public void testIsSharedLibrary() {
-        DependencyInformation dep = new DependencyInformation();
-
-        dep.setType("jar");
-        assertFalse(dep.isSharedLibrary());
-
-        dep.setType(DependencyInformation.SHARED_LIBRARY_TYPE);
-        assertTrue(dep.isSharedLibrary());
-    }
-}
diff --git a/jbi-maven-plugin/src/test/java/org/apache/servicemix/maven/plugin/jbi/JbiComponentDescriptorWriterTest.java b/jbi-maven-plugin/src/test/java/org/apache/servicemix/maven/plugin/jbi/JbiComponentDescriptorWriterTest.java
deleted file mode 100644
index 92adc1a..0000000
--- a/jbi-maven-plugin/src/test/java/org/apache/servicemix/maven/plugin/jbi/JbiComponentDescriptorWriterTest.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-import java.io.FileReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.xml.namespace.NamespaceContext;
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathFactory;
-
-import junit.framework.TestCase;
-import org.xml.sax.InputSource;
-
-/**
- * Test cases for {@link org.apache.servicemix.maven.plugin.jbi.JbiComponentDescriptorWriter}
- */
-public class JbiComponentDescriptorWriterTest extends TestCase {
-
-    private static final String VERSION = "1.0";
-
-    private static final NamespaceContext NAMESPACES = new NamespaceContext() {
-
-        public String getNamespaceURI(String prefix) {
-            return "http://java.sun.com/xml/ns/jbi";
-        }
-
-        public String getPrefix(String namespaceURI) {
-            return "jbi";
-        }
-
-        public Iterator getPrefixes(String namespaceURI) {
-            return Arrays.asList("jbi").iterator();
-        }
-    };
-
-    private JbiComponentDescriptorWriter writer;
-    private File file;
-    private XPathFactory factory = XPathFactory.newInstance();
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        writer = new JbiComponentDescriptorWriter(GenerateComponentDescriptorMojo.UTF_8);
-        file = File.createTempFile(getClass().getName(), ".xml");
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        super.tearDown();
-
-        if (!file.delete()) {
-            file.deleteOnExit();
-        }
-    }
-
-    public void testWrite() throws Exception {
-        List<DependencyInformation> deps = new ArrayList<DependencyInformation>();
-        deps.add(createJarDependency("simple-jar", "lib/simple-jar.jar"));
-        deps.add(createSharedLibraryDependency("simple-sl"));
-
-        writer.write(file,
-                     "org.apache.servicemix.test.Component",
-                     "org.apache.servicemix.test.Bootstrap",
-                     "binding-component",
-                     "servicemix-test",
-                     "ServiceMix :: A Test Component",
-                     "parent-first",
-                     "parent-first",
-                     deps);
-
-
-        assertEquals("Should have a reference to the SL in the shared-library element",
-                     "simple-sl", xpath("/jbi:jbi/jbi:component/jbi:shared-library"));
-        assertEquals("1.0", xpath("/jbi:jbi/jbi:component/jbi:shared-library/@version"));
-
-        assertEquals("Only the JAR should be on the component-class-path", "1",
-                     xpath("count(/jbi:jbi/jbi:component/jbi:component-class-path/jbi:path-element)"));
-        assertEquals("lib/simple-jar.jar",
-                     xpath("/jbi:jbi/jbi:component/jbi:component-class-path/jbi:path-element"));
-    }
-
-    private String xpath(String expression) throws Exception {
-        XPath xpath = factory.newXPath();
-        xpath.setNamespaceContext(NAMESPACES);
-
-        InputSource source = new InputSource(new FileReader(file));
-
-        return xpath.evaluate(expression, source);
-    }
-
-    private DependencyInformation createJarDependency(String name, String filename) {
-        DependencyInformation dep = createDependency(name, "jar");
-        dep.setFilename(filename);
-        return dep;
-    }    
-
-    private DependencyInformation createSharedLibraryDependency(String name) {
-        return createDependency(name, DependencyInformation.SHARED_LIBRARY_TYPE);
-    }
-
-    private DependencyInformation createDependency(String name, String type) {
-        DependencyInformation dep = new DependencyInformation();
-        dep.setName(name);
-        dep.setType(type);
-        dep.setVersion(VERSION);
-        return dep;
-    }
-}
diff --git a/jbi-maven-plugin/src/test/java/org/apache/servicemix/maven/plugin/jbi/JbiServiceFileAnalyzerTest.java b/jbi-maven-plugin/src/test/java/org/apache/servicemix/maven/plugin/jbi/JbiServiceFileAnalyzerTest.java
deleted file mode 100644
index 9741b9b..0000000
--- a/jbi-maven-plugin/src/test/java/org/apache/servicemix/maven/plugin/jbi/JbiServiceFileAnalyzerTest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.servicemix.common.packaging.Consumes;
-import org.apache.servicemix.common.packaging.Provides;
-
-/**
- * Test case to exercise the default service file analyzer which uses a
- * service.xml file.
- */
-public class JbiServiceFileAnalyzerTest extends TestCase
-{
-    private static final File SERVICES_FILE = new File("./src/test/resources/jbi-services.xml");
-
-    /**
-     * Simple test to retrieve and parse a jbi-services.xml file
-     * @throws Exception
-     */
-    @SuppressWarnings("unchecked")
-    public void testParseServicesXml() throws Exception {
-        JbiServiceFileAnalyzer analyzer = new JbiServiceFileAnalyzer();
-        assertNotNull("analyzer should not be null", analyzer);
-
-        analyzer.setJbiServicesFile(SERVICES_FILE);
-        List<Consumes> consumes = analyzer.getConsumes();
-        List<Provides> provides = analyzer.getProvides();
-        assertNotNull("Consumes List should not be null", consumes);
-        assertNotNull("Provides List should not be null", provides);
-        assertTrue("Should be Empty consumes list", consumes.isEmpty());
-        assertFalse("Provides List should not be empty", provides.isEmpty());
-    }
-}
diff --git a/jbi-maven-plugin/src/test/java/org/apache/servicemix/maven/plugin/jbi/JbiServiceUnitDescriptorWriterTest.java b/jbi-maven-plugin/src/test/java/org/apache/servicemix/maven/plugin/jbi/JbiServiceUnitDescriptorWriterTest.java
deleted file mode 100644
index 86b49e2..0000000
--- a/jbi-maven-plugin/src/test/java/org/apache/servicemix/maven/plugin/jbi/JbiServiceUnitDescriptorWriterTest.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.jbi;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.namespace.QName;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import junit.framework.TestCase;
-
-import org.apache.servicemix.common.packaging.Consumes;
-import org.apache.servicemix.common.packaging.Provides;
-
-public class JbiServiceUnitDescriptorWriterTest extends TestCase {
-
-    private static final String ENCODING_UTF8 = "UTF-8";
-
-    private static final String ENCODING_UTF16 = "UTF-16";
-
-    //private static final String ENCODING_ISO88591 = "ISO-8859-1";
-
-    //private static final String ENCODING_ISO88592 = "ISO-8859-2";
-
-    private static final String JBI_NAMESPACE = "http://java.sun.com/xml/ns/jbi";
-
-    // TODO: how to fetch the build directory ('./target') from Maven property?
-    private String generatedDescriptorLocation = "./target/test-outputs";
-
-    private File outputDir;
-
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        this.outputDir = new File(generatedDescriptorLocation);
-        if (!this.outputDir.exists()) {
-            this.outputDir.mkdirs();
-        }
-    }
-
-    public void testUTF8EncodingWrite() throws Exception {
-        File descriptor = new File(outputDir, "jbi-su-UTF8.xml");
-
-        String xmlEncoding = ENCODING_UTF8;
-        writeDescriptor(descriptor, xmlEncoding);
-        verifyDescriptor(descriptor, xmlEncoding);
-    }
-
-    public void testUTF16EncodingWrite() throws Exception {
-        File descriptor = new File(outputDir, "jbi-su-UTF16.xml");
-
-        String xmlEncoding = ENCODING_UTF16;
-        writeDescriptor(descriptor, xmlEncoding);
-        verifyDescriptor(descriptor, xmlEncoding);
-    }
-
-    /*
-     * public void testISO88591EncodingWrite() throws Exception { File
-     * descriptor = new File(outputDir, "jbi-su-ISO88591.xml");
-     * 
-     * String xmlEncoding = ENCODING_ISO88591; writeDescriptor(descriptor,
-     * xmlEncoding); verifyDescriptor(descriptor, xmlEncoding); }
-     * 
-     * public void testISO88592EncodingWrite() throws Exception { File
-     * descriptor = new File(outputDir, "jbi-su-ISO88592.xml");
-     * 
-     * String xmlEncoding = ENCODING_ISO88592; writeDescriptor(descriptor,
-     * xmlEncoding); verifyDescriptor(descriptor, xmlEncoding); }
-     */
-
-    private void writeDescriptor(File descriptor, 
-                                 String encoding) throws JbiPluginException {
-        List consumes = new ArrayList();
-        List provides = new ArrayList();
-
-        QName serviceName = new QName("http://test.com/encoding", "abcåäö");
-
-        Consumes newConsumes = new Consumes();
-        newConsumes.setServiceName(serviceName);
-        newConsumes.setEndpointName("consumeråäö");
-        consumes.add(newConsumes);
-
-        Provides newProvides = new Provides();
-        newProvides.setServiceName(serviceName);
-        newProvides.setEndpointName("provideråäö");
-        provides.add(newProvides);
-
-        JbiServiceUnitDescriptorWriter writer = new JbiServiceUnitDescriptorWriter(
-                encoding);
-        writer.write(descriptor, false, "name", "description", new ArrayList(),
-                consumes, provides);
-    }
-
-    private void verifyDescriptor(File descriptor, 
-                                  String expectedXmlEncoding) throws Exception {
-        Document doc = getDocument(descriptor);
-        assertEquals(doc.getXmlEncoding(), expectedXmlEncoding);
-
-        Element serviceElement = getServicesElement(doc);
-
-        List consumes = getConsumes(serviceElement);
-        Consumes con = (Consumes) consumes.get(0);
-        assertEquals(con.getServiceName().getLocalPart(), "abcåäö");
-        assertEquals(con.getEndpointName(), "consumeråäö");
-
-        List provides = getProvides(serviceElement);
-        Provides prov = (Provides) provides.get(0);
-        assertEquals(prov.getServiceName().getLocalPart(), "abcåäö");
-        assertEquals(prov.getEndpointName(), "provideråäö");
-    }
-
-    private Document getDocument(File jbiServicesFile) throws Exception {
-        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-        dbf.setNamespaceAware(true);
-        DocumentBuilder db = dbf.newDocumentBuilder();
-        Document doc = db.parse(jbiServicesFile);
-
-        return doc;
-    }
-
-    private Element getServicesElement(Document doc) throws Exception {
-        Node jbiNode = doc.getFirstChild();
-        assertTrue(XmlDescriptorHelper.isElement(jbiNode, JBI_NAMESPACE, "jbi"));
-        Node tmpNode = jbiNode.getFirstChild();
-        while (true) {
-            assertNotNull(tmpNode);
-            if (XmlDescriptorHelper.isElement(tmpNode, JBI_NAMESPACE,
-                    "services")) {
-                return (Element) tmpNode;
-            } else {
-                tmpNode = tmpNode.getNextSibling();
-            }
-        }
-    }
-
-    private List getConsumes(Element servicesElement) throws Exception {
-        List consumes = new ArrayList();
-        NodeList children = servicesElement.getChildNodes();
-        for (int i = 0; i < children.getLength(); i++) {
-            if (children.item(i) instanceof Element) {
-                Element childElement = (Element) children.item(i);
-                if (XmlDescriptorHelper.isElement(childElement, JBI_NAMESPACE,
-                        "consumes")) {
-                    Consumes newConsumes = new Consumes();
-                    newConsumes.setEndpointName(XmlDescriptorHelper
-                            .getEndpointName(childElement));
-                    newConsumes.setInterfaceName(XmlDescriptorHelper
-                            .getInterfaceName(childElement));
-                    newConsumes.setServiceName(XmlDescriptorHelper
-                            .getServiceName(childElement));
-                    consumes.add(newConsumes);
-                }
-            }
-        }
-
-        return consumes;
-    }
-
-    private List getProvides(Element servicesElement) throws Exception {
-        List provides = new ArrayList();
-        NodeList children = servicesElement.getChildNodes();
-        for (int i = 0; i < children.getLength(); i++) {
-            if (children.item(i) instanceof Element) {
-                Element childElement = (Element) children.item(i);
-                if (XmlDescriptorHelper.isElement(childElement, JBI_NAMESPACE,
-                        "provides")) {
-                    Provides newProvides = new Provides();
-                    newProvides.setEndpointName(XmlDescriptorHelper
-                            .getEndpointName(childElement));
-                    newProvides.setInterfaceName(XmlDescriptorHelper
-                            .getInterfaceName(childElement));
-                    newProvides.setServiceName(XmlDescriptorHelper
-                            .getServiceName(childElement));
-                    provides.add(newProvides);
-                }
-            }
-        }
-
-        return provides;
-    }
-}
diff --git a/jbi-maven-plugin/src/test/resources/jbi-services.xml b/jbi-maven-plugin/src/test/resources/jbi-services.xml
deleted file mode 100644
index 4467b19..0000000
--- a/jbi-maven-plugin/src/test/resources/jbi-services.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-<services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
-          xmlns="http://java.sun.com/xml/ns/jbi"
-          xmlns:wf="http://www.novell.com/provisioning/service">
-<!--
- ========================================================================
-
- Test Copyright (c) 2010 blah blah blah
-
- ========================================================================
--->
-  <provides service-name="wf:ProvisioningService"
-            interface-name="wf:Provisioning"
-            endpoint-name="ServiceEngine_JBIPort" />
-</services>
- 
diff --git a/jbi-maven-plugin/src/test/resources/log4j-tests.properties b/jbi-maven-plugin/src/test/resources/log4j-tests.properties
deleted file mode 100644
index e9a4887..0000000
--- a/jbi-maven-plugin/src/test/resources/log4j-tests.properties
+++ /dev/null
@@ -1,41 +0,0 @@
-# 

-# 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.

-#

-#

-

-#

-# The logging properties used during tests..

-#

-log4j.rootLogger=DEBUG, out

-

-log4j.logger.org.apache.activemq=INFO

-log4j.logger.org.apache.activemq.spring=WARN

-log4j.logger.org.apache.activemq.store.journal=INFO

-log4j.logger.org.activeio.journal=INFO

-

-# CONSOLE appender not used by default

-log4j.appender.stdout=org.apache.log4j.ConsoleAppender

-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

-log4j.appender.stdout.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n

-

-# File appender

-log4j.appender.out=org.apache.log4j.FileAppender

-log4j.appender.out.layout=org.apache.log4j.PatternLayout

-log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - %m%n

-log4j.appender.out.file=target/servicemix-test.log

-log4j.appender.out.append=true

diff --git a/maven-plugins-pom/target/.plxarc b/maven-plugins-pom/target/.plxarc
new file mode 100644
index 0000000..67ea6ee
--- /dev/null
+++ b/maven-plugins-pom/target/.plxarc
@@ -0,0 +1 @@
+maven-shared-archive-resources
\ No newline at end of file
diff --git a/maven-plugins-pom/target/legal.xml b/maven-plugins-pom/target/legal.xml
new file mode 100644
index 0000000..5c23f11
--- /dev/null
+++ b/maven-plugins-pom/target/legal.xml
@@ -0,0 +1,1345 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<supplementalDataModels>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.bind</groupId>
+      <artifactId>jaxb-impl</artifactId>
+      <name>Sun JAXB Reference Implementation Runtime</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.bind</groupId>
+      <artifactId>jaxb-xjc</artifactId>
+      <name>Sun JAXB Reference Implementation Tools</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.messaging.saaj</groupId>
+      <artifactId>saaj-impl</artifactId>
+      <name>Sun SAAJ Reference Implementation</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.xml.soap</groupId>
+      <artifactId>saaj-api</artifactId>
+      <name>Sun SAAJ API</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.neethi</groupId>
+      <artifactId>neethi</artifactId>
+      <name>Neethi</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.xml.ws</groupId>
+      <artifactId>jaxws-api</artifactId>
+      <name>Java API for XML-Based Web Services (JAX-WS API)</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.xml.bind</groupId>
+      <artifactId>jaxb-api</artifactId>
+      <name>Java Architecture for XML Binding (JAXB API)</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.xml</groupId>
+      <artifactId>jaxb-api</artifactId>
+      <name>Java Architecture for XML Binding (JAXB API)</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>xalan</groupId>
+      <artifactId>xalan</artifactId>
+      <name>Apache Xalan-Java</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>net.java.dev.stax-utils</groupId>
+      <artifactId>stax-utils</artifactId>
+      <name>StAX Utilities</name>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>wss4j</groupId>
+      <artifactId>wss4j</artifactId>
+      <name>Apache WSS4J</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>jdom</groupId>
+      <artifactId>jdom</artifactId>
+      <name>JDOM</name>
+      <organization>
+        <name>jdom.org</name>
+        <url>http://www.jdom.org</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>Modified Apache Software License</name>
+          <url>licenses/jdom.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>xml-security</groupId>
+      <artifactId>xmlsec</artifactId>
+      <name>XML Security</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <name>XML APIs</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>bouncycastle</groupId>
+      <artifactId>bcprov-jdk14</artifactId>
+      <name>Bouncy Castle Crypto APIs for Java</name>
+      <organization>
+        <name>The Legion of the Bouncy Castle</name>
+        <url>http://www.bouncycastle.org</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>Bouncy Castle License</name>
+          <url>http://www.bouncycastle.org/licence.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>ant</groupId>
+      <artifactId>ant</artifactId>
+      <name>Apache Ant</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>ant</groupId>
+      <artifactId>ant-nodeps</artifactId>
+      <name>Apache Ant (nodeps)</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.codehaus.jettison</groupId>
+      <artifactId>jettison</artifactId>
+      <name>Jettison</name>
+      <organization>
+        <name>Envoi Solutions LLC</name>
+        <url>http://www.envoisolutions.com</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://jettison.codehaus.org/License</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.mina</groupId>
+      <artifactId>mina-core</artifactId>
+      <name>Apache MINA Core API</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.mina</groupId>
+      <artifactId>mina-filter-ssl</artifactId>
+      <name>Apache MINA SSL Filter</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-codec</groupId>
+      <artifactId>commons-codec</artifactId>
+      <name>Apache Commons Codec</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+      <name>Apache Commons Collections</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-dbcp</groupId>
+      <artifactId>commons-dbcp</artifactId>
+      <name>Apache Commons DBCP</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-jexl</groupId>
+      <artifactId>commons-jexl</artifactId>
+      <name>Apache Commons JEXL</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <name>Apache Commons Logging</name>
+      <url>http://commons.apache.org/logging</url>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging-api</artifactId>
+      <name>Apache Commons Logging Api</name>
+      <url>http://commons.apache.org/logging</url>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-pool</groupId>
+      <artifactId>commons-pool</artifactId>
+      <name>Apache Commons Pool</name>
+      <url>http://commons.apache.org/pool</url>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-vfs</groupId>
+      <artifactId>commons-vfs</artifactId>
+      <name>Apache Commons VFS</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.activemq</groupId>
+      <artifactId>activemq-core</artifactId>
+      <name>ActiveMQ :: Core</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-core</artifactId>
+      <name>Camel :: Core</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-classloader</artifactId>
+      <name>XBean :: Classloader</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-finder</artifactId>
+      <name>XBean :: Classpath Resource Finder</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-naming</artifactId>
+      <name>XBean :: Naming</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-reflect</artifactId>
+      <name>XBean :: Reflect</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-spring</artifactId>
+      <name>XBean :: Spring</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <name>SLF4J API Module</name>
+      <organization>
+        <name>QOS.ch</name>
+        <url>http://www.qos.ch</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>MIT style</name>
+          <url>http://www.slf4j.org/license.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-jdk14</artifactId>
+      <name>SLF4J JDK14 Binding</name>
+      <organization>
+        <name>QOS.ch</name>
+        <url>http://www.qos.ch</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>MIT style</name>
+          <url>http://www.slf4j.org/license.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <name>Log4j</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.components</groupId>
+      <artifactId>geronimo-connector</artifactId>
+      <name>Apache Geronimo TxManager :: Connector</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.components</groupId>
+      <artifactId>geronimo-transaction</artifactId>
+      <name>Apache Geronimo TxManager :: Transaction</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.springframework.osgi</groupId>
+      <artifactId>spring-osgi-core</artifactId>
+      <name>Spring OSGi Core</name>
+      <url>http://www.springframework.org/osgi/</url>
+      <organization>
+        <name>Spring Framework</name>
+        <url>http://www.springframework.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.springframework.osgi</groupId>
+      <artifactId>spring-osgi-extender</artifactId>
+      <name>Spring OSGi Extender</name>
+      <url>http://www.springframework.org/osgi/</url>
+      <organization>
+        <name>Spring Framework</name>
+        <url>http://www.springframework.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.springframework.osgi</groupId>
+      <artifactId>spring-osgi-io</artifactId>
+      <name>Spring OSGi IO</name>
+      <url>http://www.springframework.org/osgi/</url>
+      <organization>
+        <name>Spring Framework</name>
+        <url>http://www.springframework.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.objectweb.howl</groupId>
+      <artifactId>howl</artifactId>
+      <name>Howl Logger</name>
+      <url>http://howl.objectweb.org/</url>
+      <organization>
+        <name>ObjectWeb</name>
+        <url>http://www.objectweb.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The BSD License</name>
+          <url>http://howl.objectweb.org/license.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-classworlds</artifactId>
+      <name>Plexus Classworlds</name>
+      <url>http://plexus.codehaus.org/plexus-classworlds/</url>
+      <organization>
+        <name>Codehaus</name>
+        <url>http://www.codehaus.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.thoughtworks.xstream</groupId>
+      <artifactId>xstream</artifactId>
+      <name>XStream Core</name>
+      <url>http://xstream.codehaus.org/</url>
+      <organization>
+        <name>Codehaus</name>
+        <url>http://www.codehaus.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The BSD License</name>
+          <url>http://xstream.codehaus.com/license.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-activation_1.1_spec</artifactId>
+      <name>Apache Geronimo Specs :: Activation 1.1</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
+      <name>Apache Geronimo Specs :: J2EE Connector 1.5</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-j2ee-management_1.1_spec</artifactId>
+      <name>Apache Geronimo Specs :: J2EE Management 1.1</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-javamail_1.4_spec</artifactId>
+      <name>Apache Geronimo Specs :: JavaMail 1.4</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-jms_1.1_spec</artifactId>
+      <name>Apache Geronimo Specs :: JMS 1.1</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-jta_1.1_spec</artifactId>
+      <name>Apache Geronimo Specs :: JTA 1.1</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-saaj_1.3_spec</artifactId>
+      <name>Apache Geronimo Specs :: SAAJ 1.3</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-servlet_2.5_spec</artifactId>
+      <name>Apache Geronimo Specs :: Servlet 2.5</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+ <supplement>
+    <project>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-stax-api_1.0_spec</artifactId>
+      <name>Apache Geronimo Specs :: Stax API 1.0</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell</groupId>
+      <artifactId>gshell-command-api</artifactId>
+      <name>Apache GShell Command API</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell</groupId>
+      <artifactId>gshell-core</artifactId>
+      <name>Apache GShell Core</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell</groupId>
+      <artifactId>gshell-parser</artifactId>
+      <name>Apache GShell Parser</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell</groupId>
+      <artifactId>gshell-whisper</artifactId>
+      <name>Apache GShell Whisper</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell.remote</groupId>
+      <artifactId>gshell-remote-client</artifactId>
+      <name>Apache GShell Remote :: Client</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell.remote</groupId>
+      <artifactId>gshell-remote-common</artifactId>
+      <name>Apache GShell Remote :: Common</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell.remote</groupId>
+      <artifactId>gshell-remote-server</artifactId>
+      <name>Apache GShell Remote :: Server</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell.support</groupId>
+      <artifactId>gshell-ansi</artifactId>
+      <name>Apache GShell Support :: ANSI</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell.support</groupId>
+      <artifactId>gshell-clp</artifactId>
+      <name>Apache GShell Support :: Command-Line Processor (CLP)</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell.support</groupId>
+      <artifactId>gshell-common</artifactId>
+      <name>Apache GShell Support :: Common</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell.support</groupId>
+      <artifactId>gshell-i18n</artifactId>
+      <name>Apache GShell Support :: i18n</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell.support</groupId>
+      <artifactId>gshell-prefs</artifactId>
+      <name>Apache GShell Support :: Preferences</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>jline</groupId>
+      <artifactId>jline</artifactId>
+      <name>JLine</name>
+      <url>http://jline.sourceforge.net</url>
+      <organization>
+        <name>JLine</name>
+        <url>http://jline.sourceforge.net</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The BSD License</name>
+          <url>http://jline.sourceforge.net/license.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.mortbay.jetty</groupId>
+      <artifactId>jetty</artifactId>
+      <name>Jetty Server</name>
+      <url>http://jetty.mortbay.org/</url>
+      <organization>
+	    <name>Mort Bay Consulting</name>
+	    <url>http://www.mortbay.com</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.mortbay.jetty</groupId>
+      <artifactId>jetty-util</artifactId>
+      <name>Jetty Utilities</name>
+      <url>http://jetty.mortbay.org/</url>
+      <organization>
+	    <name>Mort Bay Consulting</name>
+	    <url>http://www.mortbay.com</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.base</groupId>
+      <artifactId>ops4j-base-lang</artifactId>
+      <name>OPS4J Base - Lang</name>
+      <url>http://www.ops4j.org/projects/base/ops4j-base-lang</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.base</groupId>
+      <artifactId>ops4j-base-util-collections</artifactId>
+      <name>OPS4J Base - Util - Collections</name>
+      <url>http://www.ops4j.org/projects/base/ops4j-base-util-collections</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.base</groupId>
+      <artifactId>ops4j-base-util-xml</artifactId>
+      <name>OPS4J Base - Util - XML</name>
+      <url>http://www.ops4j.org/projects/base/ops4j-base-util-xml</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.logging</groupId>
+      <artifactId>pax-logging-api</artifactId>
+      <name>OPS4J - Pax Logging API</name>
+      <url>http://www.ops4j.org/projects/pax/logging/pax-logging-api</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.logging</groupId>
+      <artifactId>pax-logging-service</artifactId>
+      <name>OPS4J - Pax Logging Service</name>
+      <url>http://www.ops4j.org/projects/pax/logging/pax-logging-service</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.swissbox</groupId>
+      <artifactId>pax-swissbox-core</artifactId>
+      <name>OPS4J Pax Swissbox - OSGi Core</name>
+      <url>http://www.ops4j.org/projects/pax/swissbox/pax-swissbox-core</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.swissbox</groupId>
+      <artifactId>pax-swissbox-extender</artifactId>
+      <name>OPS4J Pax Swissbox - Extender</name>
+      <url>http://www.ops4j.org/projects/pax/swissbox/pax-swissbox-extender</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.swissbox</groupId>
+      <artifactId>pax-swissbox-lifecycle</artifactId>
+      <name>OPS4J Pax Swissbox - Lifecycle</name>
+      <url>http://www.ops4j.org/projects/pax/swissbox/pax-swissbox-lifecycle</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.swissbox</groupId>
+      <artifactId>pax-swissbox-optional-jcl</artifactId>
+      <name>OPS4J Pax Swissbox - Optional JCL</name>
+      <url>http://www.ops4j.org/projects/pax/swissbox/pax-swissbox-optional-jcl</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.swissbox</groupId>
+      <artifactId>pax-swissbox-tracker</artifactId>
+      <name>OPS4J Pax Swissbox - Tracker</name>
+      <url>http://www.ops4j.org/projects/pax/swissbox/pax-swissbox-tracker</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.url</groupId>
+      <artifactId>pax-url-mvn</artifactId>
+      <name>OPS4J Pax Url - mvn:</name>
+      <url>http://www.ops4j.org/projects/pax/url/pax-url-mvn</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.url</groupId>
+      <artifactId>pax-url-war</artifactId>
+      <name>OPS4J Pax Url - war:</name>
+      <url>http://www.ops4j.org/projects/pax/url/pax-url-war</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.web</groupId>
+      <artifactId>pax-web-bundle</artifactId>
+      <name>OPS4J Pax Web - Web Container</name>
+      <url>http://www.ops4j.org/projects/pax/web/pax-web-bundle</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.web</groupId>
+      <artifactId>pax-web-jsp</artifactId>
+      <name>OPS4J Pax Web - JSP</name>
+      <url>http://www.ops4j.org/projects/pax/web/pax-web-jsp</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.web-extender</groupId>
+      <artifactId>pax-web-ex-war</artifactId>
+      <name>OPS4J Pax Web Extender - WAR</name>
+      <url>http://www.ops4j.org/projects/pax/web-extender/pax-web-ex-war</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.web-extender</groupId>
+      <artifactId>pax-web-ex-whiteboard</artifactId>
+      <name>OPS4J Pax Web Extender - Whiteboard</name>
+      <url>http://www.ops4j.org/projects/pax/web-extender/pax-web-ex-whiteboard</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+</supplementalDataModels>
diff --git a/maven-plugins-pom/target/legal/legal.xml b/maven-plugins-pom/target/legal/legal.xml
new file mode 100644
index 0000000..5c23f11
--- /dev/null
+++ b/maven-plugins-pom/target/legal/legal.xml
@@ -0,0 +1,1345 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<supplementalDataModels>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.bind</groupId>
+      <artifactId>jaxb-impl</artifactId>
+      <name>Sun JAXB Reference Implementation Runtime</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.bind</groupId>
+      <artifactId>jaxb-xjc</artifactId>
+      <name>Sun JAXB Reference Implementation Tools</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.messaging.saaj</groupId>
+      <artifactId>saaj-impl</artifactId>
+      <name>Sun SAAJ Reference Implementation</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.xml.soap</groupId>
+      <artifactId>saaj-api</artifactId>
+      <name>Sun SAAJ API</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.neethi</groupId>
+      <artifactId>neethi</artifactId>
+      <name>Neethi</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.xml.ws</groupId>
+      <artifactId>jaxws-api</artifactId>
+      <name>Java API for XML-Based Web Services (JAX-WS API)</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.xml.bind</groupId>
+      <artifactId>jaxb-api</artifactId>
+      <name>Java Architecture for XML Binding (JAXB API)</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.xml</groupId>
+      <artifactId>jaxb-api</artifactId>
+      <name>Java Architecture for XML Binding (JAXB API)</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>xalan</groupId>
+      <artifactId>xalan</artifactId>
+      <name>Apache Xalan-Java</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>net.java.dev.stax-utils</groupId>
+      <artifactId>stax-utils</artifactId>
+      <name>StAX Utilities</name>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>wss4j</groupId>
+      <artifactId>wss4j</artifactId>
+      <name>Apache WSS4J</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>jdom</groupId>
+      <artifactId>jdom</artifactId>
+      <name>JDOM</name>
+      <organization>
+        <name>jdom.org</name>
+        <url>http://www.jdom.org</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>Modified Apache Software License</name>
+          <url>licenses/jdom.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>xml-security</groupId>
+      <artifactId>xmlsec</artifactId>
+      <name>XML Security</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <name>XML APIs</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>bouncycastle</groupId>
+      <artifactId>bcprov-jdk14</artifactId>
+      <name>Bouncy Castle Crypto APIs for Java</name>
+      <organization>
+        <name>The Legion of the Bouncy Castle</name>
+        <url>http://www.bouncycastle.org</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>Bouncy Castle License</name>
+          <url>http://www.bouncycastle.org/licence.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>ant</groupId>
+      <artifactId>ant</artifactId>
+      <name>Apache Ant</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>ant</groupId>
+      <artifactId>ant-nodeps</artifactId>
+      <name>Apache Ant (nodeps)</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.codehaus.jettison</groupId>
+      <artifactId>jettison</artifactId>
+      <name>Jettison</name>
+      <organization>
+        <name>Envoi Solutions LLC</name>
+        <url>http://www.envoisolutions.com</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://jettison.codehaus.org/License</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.mina</groupId>
+      <artifactId>mina-core</artifactId>
+      <name>Apache MINA Core API</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.mina</groupId>
+      <artifactId>mina-filter-ssl</artifactId>
+      <name>Apache MINA SSL Filter</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-codec</groupId>
+      <artifactId>commons-codec</artifactId>
+      <name>Apache Commons Codec</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+      <name>Apache Commons Collections</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-dbcp</groupId>
+      <artifactId>commons-dbcp</artifactId>
+      <name>Apache Commons DBCP</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-jexl</groupId>
+      <artifactId>commons-jexl</artifactId>
+      <name>Apache Commons JEXL</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <name>Apache Commons Logging</name>
+      <url>http://commons.apache.org/logging</url>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging-api</artifactId>
+      <name>Apache Commons Logging Api</name>
+      <url>http://commons.apache.org/logging</url>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-pool</groupId>
+      <artifactId>commons-pool</artifactId>
+      <name>Apache Commons Pool</name>
+      <url>http://commons.apache.org/pool</url>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commons-vfs</groupId>
+      <artifactId>commons-vfs</artifactId>
+      <name>Apache Commons VFS</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.activemq</groupId>
+      <artifactId>activemq-core</artifactId>
+      <name>ActiveMQ :: Core</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.camel</groupId>
+      <artifactId>camel-core</artifactId>
+      <name>Camel :: Core</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-classloader</artifactId>
+      <name>XBean :: Classloader</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-finder</artifactId>
+      <name>XBean :: Classpath Resource Finder</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-naming</artifactId>
+      <name>XBean :: Naming</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-reflect</artifactId>
+      <name>XBean :: Reflect</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.xbean</groupId>
+      <artifactId>xbean-spring</artifactId>
+      <name>XBean :: Spring</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <name>SLF4J API Module</name>
+      <organization>
+        <name>QOS.ch</name>
+        <url>http://www.qos.ch</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>MIT style</name>
+          <url>http://www.slf4j.org/license.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-jdk14</artifactId>
+      <name>SLF4J JDK14 Binding</name>
+      <organization>
+        <name>QOS.ch</name>
+        <url>http://www.qos.ch</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>MIT style</name>
+          <url>http://www.slf4j.org/license.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <name>Log4j</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.components</groupId>
+      <artifactId>geronimo-connector</artifactId>
+      <name>Apache Geronimo TxManager :: Connector</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.components</groupId>
+      <artifactId>geronimo-transaction</artifactId>
+      <name>Apache Geronimo TxManager :: Transaction</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.springframework.osgi</groupId>
+      <artifactId>spring-osgi-core</artifactId>
+      <name>Spring OSGi Core</name>
+      <url>http://www.springframework.org/osgi/</url>
+      <organization>
+        <name>Spring Framework</name>
+        <url>http://www.springframework.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.springframework.osgi</groupId>
+      <artifactId>spring-osgi-extender</artifactId>
+      <name>Spring OSGi Extender</name>
+      <url>http://www.springframework.org/osgi/</url>
+      <organization>
+        <name>Spring Framework</name>
+        <url>http://www.springframework.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.springframework.osgi</groupId>
+      <artifactId>spring-osgi-io</artifactId>
+      <name>Spring OSGi IO</name>
+      <url>http://www.springframework.org/osgi/</url>
+      <organization>
+        <name>Spring Framework</name>
+        <url>http://www.springframework.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.objectweb.howl</groupId>
+      <artifactId>howl</artifactId>
+      <name>Howl Logger</name>
+      <url>http://howl.objectweb.org/</url>
+      <organization>
+        <name>ObjectWeb</name>
+        <url>http://www.objectweb.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The BSD License</name>
+          <url>http://howl.objectweb.org/license.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-classworlds</artifactId>
+      <name>Plexus Classworlds</name>
+      <url>http://plexus.codehaus.org/plexus-classworlds/</url>
+      <organization>
+        <name>Codehaus</name>
+        <url>http://www.codehaus.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.thoughtworks.xstream</groupId>
+      <artifactId>xstream</artifactId>
+      <name>XStream Core</name>
+      <url>http://xstream.codehaus.org/</url>
+      <organization>
+        <name>Codehaus</name>
+        <url>http://www.codehaus.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The BSD License</name>
+          <url>http://xstream.codehaus.com/license.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-activation_1.1_spec</artifactId>
+      <name>Apache Geronimo Specs :: Activation 1.1</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-j2ee-connector_1.5_spec</artifactId>
+      <name>Apache Geronimo Specs :: J2EE Connector 1.5</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-j2ee-management_1.1_spec</artifactId>
+      <name>Apache Geronimo Specs :: J2EE Management 1.1</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-javamail_1.4_spec</artifactId>
+      <name>Apache Geronimo Specs :: JavaMail 1.4</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-jms_1.1_spec</artifactId>
+      <name>Apache Geronimo Specs :: JMS 1.1</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-jta_1.1_spec</artifactId>
+      <name>Apache Geronimo Specs :: JTA 1.1</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-saaj_1.3_spec</artifactId>
+      <name>Apache Geronimo Specs :: SAAJ 1.3</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-servlet_2.5_spec</artifactId>
+      <name>Apache Geronimo Specs :: Servlet 2.5</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+ <supplement>
+    <project>
+      <groupId>org.apache.geronimo.specs</groupId>
+      <artifactId>geronimo-stax-api_1.0_spec</artifactId>
+      <name>Apache Geronimo Specs :: Stax API 1.0</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell</groupId>
+      <artifactId>gshell-command-api</artifactId>
+      <name>Apache GShell Command API</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell</groupId>
+      <artifactId>gshell-core</artifactId>
+      <name>Apache GShell Core</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell</groupId>
+      <artifactId>gshell-parser</artifactId>
+      <name>Apache GShell Parser</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell</groupId>
+      <artifactId>gshell-whisper</artifactId>
+      <name>Apache GShell Whisper</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell.remote</groupId>
+      <artifactId>gshell-remote-client</artifactId>
+      <name>Apache GShell Remote :: Client</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell.remote</groupId>
+      <artifactId>gshell-remote-common</artifactId>
+      <name>Apache GShell Remote :: Common</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell.remote</groupId>
+      <artifactId>gshell-remote-server</artifactId>
+      <name>Apache GShell Remote :: Server</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell.support</groupId>
+      <artifactId>gshell-ansi</artifactId>
+      <name>Apache GShell Support :: ANSI</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell.support</groupId>
+      <artifactId>gshell-clp</artifactId>
+      <name>Apache GShell Support :: Command-Line Processor (CLP)</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell.support</groupId>
+      <artifactId>gshell-common</artifactId>
+      <name>Apache GShell Support :: Common</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell.support</groupId>
+      <artifactId>gshell-i18n</artifactId>
+      <name>Apache GShell Support :: i18n</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.geronimo.gshell.support</groupId>
+      <artifactId>gshell-prefs</artifactId>
+      <name>Apache GShell Support :: Preferences</name> 
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>jline</groupId>
+      <artifactId>jline</artifactId>
+      <name>JLine</name>
+      <url>http://jline.sourceforge.net</url>
+      <organization>
+        <name>JLine</name>
+        <url>http://jline.sourceforge.net</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The BSD License</name>
+          <url>http://jline.sourceforge.net/license.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.mortbay.jetty</groupId>
+      <artifactId>jetty</artifactId>
+      <name>Jetty Server</name>
+      <url>http://jetty.mortbay.org/</url>
+      <organization>
+	    <name>Mort Bay Consulting</name>
+	    <url>http://www.mortbay.com</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.mortbay.jetty</groupId>
+      <artifactId>jetty-util</artifactId>
+      <name>Jetty Utilities</name>
+      <url>http://jetty.mortbay.org/</url>
+      <organization>
+	    <name>Mort Bay Consulting</name>
+	    <url>http://www.mortbay.com</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.base</groupId>
+      <artifactId>ops4j-base-lang</artifactId>
+      <name>OPS4J Base - Lang</name>
+      <url>http://www.ops4j.org/projects/base/ops4j-base-lang</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.base</groupId>
+      <artifactId>ops4j-base-util-collections</artifactId>
+      <name>OPS4J Base - Util - Collections</name>
+      <url>http://www.ops4j.org/projects/base/ops4j-base-util-collections</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.base</groupId>
+      <artifactId>ops4j-base-util-xml</artifactId>
+      <name>OPS4J Base - Util - XML</name>
+      <url>http://www.ops4j.org/projects/base/ops4j-base-util-xml</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.logging</groupId>
+      <artifactId>pax-logging-api</artifactId>
+      <name>OPS4J - Pax Logging API</name>
+      <url>http://www.ops4j.org/projects/pax/logging/pax-logging-api</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.logging</groupId>
+      <artifactId>pax-logging-service</artifactId>
+      <name>OPS4J - Pax Logging Service</name>
+      <url>http://www.ops4j.org/projects/pax/logging/pax-logging-service</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.swissbox</groupId>
+      <artifactId>pax-swissbox-core</artifactId>
+      <name>OPS4J Pax Swissbox - OSGi Core</name>
+      <url>http://www.ops4j.org/projects/pax/swissbox/pax-swissbox-core</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.swissbox</groupId>
+      <artifactId>pax-swissbox-extender</artifactId>
+      <name>OPS4J Pax Swissbox - Extender</name>
+      <url>http://www.ops4j.org/projects/pax/swissbox/pax-swissbox-extender</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.swissbox</groupId>
+      <artifactId>pax-swissbox-lifecycle</artifactId>
+      <name>OPS4J Pax Swissbox - Lifecycle</name>
+      <url>http://www.ops4j.org/projects/pax/swissbox/pax-swissbox-lifecycle</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.swissbox</groupId>
+      <artifactId>pax-swissbox-optional-jcl</artifactId>
+      <name>OPS4J Pax Swissbox - Optional JCL</name>
+      <url>http://www.ops4j.org/projects/pax/swissbox/pax-swissbox-optional-jcl</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.swissbox</groupId>
+      <artifactId>pax-swissbox-tracker</artifactId>
+      <name>OPS4J Pax Swissbox - Tracker</name>
+      <url>http://www.ops4j.org/projects/pax/swissbox/pax-swissbox-tracker</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.url</groupId>
+      <artifactId>pax-url-mvn</artifactId>
+      <name>OPS4J Pax Url - mvn:</name>
+      <url>http://www.ops4j.org/projects/pax/url/pax-url-mvn</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.url</groupId>
+      <artifactId>pax-url-war</artifactId>
+      <name>OPS4J Pax Url - war:</name>
+      <url>http://www.ops4j.org/projects/pax/url/pax-url-war</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.web</groupId>
+      <artifactId>pax-web-bundle</artifactId>
+      <name>OPS4J Pax Web - Web Container</name>
+      <url>http://www.ops4j.org/projects/pax/web/pax-web-bundle</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.web</groupId>
+      <artifactId>pax-web-jsp</artifactId>
+      <name>OPS4J Pax Web - JSP</name>
+      <url>http://www.ops4j.org/projects/pax/web/pax-web-jsp</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.web-extender</groupId>
+      <artifactId>pax-web-ex-war</artifactId>
+      <name>OPS4J Pax Web Extender - WAR</name>
+      <url>http://www.ops4j.org/projects/pax/web-extender/pax-web-ex-war</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.ops4j.pax.web-extender</groupId>
+      <artifactId>pax-web-ex-whiteboard</artifactId>
+      <name>OPS4J Pax Web Extender - Whiteboard</name>
+      <url>http://www.ops4j.org/projects/pax/web-extender/pax-web-ex-whiteboard</url>
+	  <organization>
+	    <name>OPS4J - Open Participation Software for Java</name>
+	    <url>http://www.ops4j.org/</url>
+	  </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+</supplementalDataModels>
diff --git a/maven-plugins-pom/target/maven-shared-archive-resources/META-INF/DEPENDENCIES b/maven-plugins-pom/target/maven-shared-archive-resources/META-INF/DEPENDENCIES
new file mode 100644
index 0000000..d8ebe2e
--- /dev/null
+++ b/maven-plugins-pom/target/maven-shared-archive-resources/META-INF/DEPENDENCIES
@@ -0,0 +1,11 @@
+// ------------------------------------------------------------------
+// Transitive dependencies of this project determined from the
+// maven pom organized by organization.
+// ------------------------------------------------------------------
+
+Apache ServiceMix
+
+
+
+
+
diff --git a/checksum-maven-plugin/LICENSE b/maven-plugins-pom/target/maven-shared-archive-resources/META-INF/LICENSE
old mode 100755
new mode 100644
similarity index 100%
rename from checksum-maven-plugin/LICENSE
rename to maven-plugins-pom/target/maven-shared-archive-resources/META-INF/LICENSE
diff --git a/maven-plugins-pom/target/maven-shared-archive-resources/META-INF/NOTICE b/maven-plugins-pom/target/maven-shared-archive-resources/META-INF/NOTICE
new file mode 100644
index 0000000..bba23af
--- /dev/null
+++ b/maven-plugins-pom/target/maven-shared-archive-resources/META-INF/NOTICE
@@ -0,0 +1,8 @@
+
+Apache ServiceMix
+Copyright 2005-2015 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+
diff --git a/pom.xml b/pom.xml
index 115fbc3..51e2709 100644
--- a/pom.xml
+++ b/pom.xml
@@ -36,19 +36,14 @@
 
     <groupId>org.apache.servicemix.plugins</groupId>
     <artifactId>org.apache.servicemix.plugins.pom</artifactId>
-    <version>1-SNAPSHOT</version>
+    <version>2-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>Apache ServiceMix :: Plugins</name>
 
     <modules>
         <module>maven-plugins-pom</module>
         
-        <module>checksum-maven-plugin</module>
         <module>depends-maven-plugin</module>
-        <module>jbi-maven-plugin</module>
-        <module>res-maven-plugin</module>
-        <module>servicemix-build</module>
-        <module>xfire-maven-plugin</module>
     </modules>
 
 </project>
diff --git a/res-maven-plugin/LICENSE b/res-maven-plugin/LICENSE
deleted file mode 100644
index 6b0b127..0000000
--- a/res-maven-plugin/LICENSE
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/res-maven-plugin/NOTICE b/res-maven-plugin/NOTICE
deleted file mode 100644
index b6212c4..0000000
--- a/res-maven-plugin/NOTICE
+++ /dev/null
@@ -1,9 +0,0 @@
-   =========================================================================
-   ==  NOTICE file for use with the Apache License, Version 2.0,          ==
-   ==  in this case for the Apache ServiceMix distribution.               ==
-   =========================================================================
-
-   This product contains software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-
diff --git a/res-maven-plugin/pom.xml b/res-maven-plugin/pom.xml
deleted file mode 100644
index b21c201..0000000
--- a/res-maven-plugin/pom.xml
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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">
-<!--
-
-    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.
--->
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.servicemix.tooling</groupId>
-    <artifactId>maven-plugins-pom</artifactId>
-    <version>3</version>
-    <relativePath>../maven-plugins-pom/pom.xml</relativePath>    
-  </parent>
-  
-  <groupId>org.apache.servicemix.tooling</groupId>
-  <artifactId>res-maven-plugin</artifactId>
-  <version>4.2-SNAPSHOT</version>
-  
-  <packaging>maven-plugin</packaging>
-  <name>Apache ServiceMix :: Plugins :: Maven2 Resource Plugin</name>
-  
-  <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/servicemix/maven-plugins/res-maven-plugin/trunk</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/servicemix/maven-plugins/res-maven-plugin/trunk</developerConnection>
-    <url>http://svn.apache.org/viewcvs.cgi/servicemix/maven-plugins/res-maven-plugin/trunk</url>
-  </scm>
-  
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-plugin-api</artifactId>
-      <version>2.0.9</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-project</artifactId>
-      <version>2.0.9</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-archiver</artifactId>
-      <version>2.3</version>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-utils</artifactId>
-      <version>1.5.5</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-script-ant</artifactId>
-      <version>2.0.9</version>
-    </dependency>
-  </dependencies>
-  
-  <profiles>
-      <profile>
-            <id>release</id>
-            <build>
-                <plugins>
-                    <!-- We want to deploy the artifact to a staging location for perusal -->
-                    <plugin>
-                        <inherited>true</inherited>
-                        <artifactId>maven-deploy-plugin</artifactId>
-                        <version>2.3</version>
-                        <configuration>
-                            <altDeploymentRepository>${deploy.altRepository}</altDeploymentRepository>
-                            <updateReleaseInfo>true</updateReleaseInfo>
-                        </configuration>
-                    </plugin>
-                    <!-- We want to sign the artifact, the POM, and all attached artifacts -->
-                    <plugin>
-                        <artifactId>maven-gpg-plugin</artifactId>
-                        <version>1.0-alpha-4</version>
-                        <configuration>
-                            <passphrase>${gpg.passphrase}</passphrase>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>sign</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>deploy</id>
-            <build>
-                <defaultGoal>deploy</defaultGoal>
-                 <plugins>
-                   <plugin>
-                        <artifactId>maven-javadoc-plugin</artifactId>
-                        <version>2.2</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>jar</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <source>1.5</source>
-                            <attach>true</attach>
-                        </configuration>
-                   </plugin>
-                   <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-source-plugin</artifactId>
-                        <version>2.0.2</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>jar</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <attach>true</attach>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-      </profiles>
-  
-</project>
diff --git a/res-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/res/InterpolationFilterReader.java b/res-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/res/InterpolationFilterReader.java
deleted file mode 100644
index b8e1b44..0000000
--- a/res-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/res/InterpolationFilterReader.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.res;
-
-import java.io.FilterReader;
-import java.io.IOException;
-import java.io.Reader;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- */
-public class InterpolationFilterReader extends FilterReader {
-    /** replacement text from a token */
-    private String replaceData;
-
-    /** Index into replacement data */
-    private int replaceIndex = -1;
-
-    /** Hashtable to hold the replacee-replacer pairs (String to String). */
-    private Map variables = new HashMap();
-
-    /** Character marking the beginning of a token. */
-    private String beginToken;
-
-    /** Character marking the end of a token. */
-    private String endToken;
-
-    /** Length of begin token. */
-    private int beginTokenLength;
-
-    /** Length of end token. */
-    private int endTokenLength;
-
-    public InterpolationFilterReader(Reader in, Map variables, String beginToken, String endToken) {
-        super(in);
-
-        this.variables = variables;
-        this.beginToken = beginToken;
-        this.endToken = endToken;
-
-        beginTokenLength = beginToken.length();
-        endTokenLength = endToken.length();
-    }
-
-    /**
-     * Skips characters.  This method will block until some characters are
-     * available, an I/O error occurs, or the end of the stream is reached.
-     *
-     * @param  n  The number of characters to skip
-     *
-     * @return    the number of characters actually skipped
-     *
-     * @exception  IllegalArgumentException  If <code>n</code> is negative.
-     * @exception  IOException  If an I/O error occurs
-     */
-    public long skip(long n) throws IOException {
-        if (n < 0L) {
-            throw new IllegalArgumentException("skip value is negative");
-        }
-
-        for (long i = 0; i < n; i++) {
-            if (read() == -1) {
-                return i;
-            }
-        }
-        return n;
-    }
-
-    /**
-     * Reads characters into a portion of an array.  This method will block
-     * until some input is available, an I/O error occurs, or the end of the
-     * stream is reached.
-     *
-     * @param      cbuf  Destination buffer to write characters to.
-     *                   Must not be <code>null</code>.
-     * @param      off   Offset at which to start storing characters.
-     * @param      len   Maximum number of characters to read.
-     *
-     * @return     the number of characters read, or -1 if the end of the
-     *             stream has been reached
-     *
-     * @exception  IOException  If an I/O error occurs
-     */
-    public int read(char cbuf[], int off, int len) throws IOException {
-        for (int i = 0; i < len; i++) {
-            int ch = read();
-            if (ch == -1) {
-                if (i == 0) {
-                    return -1;
-                } else {
-                    return i;
-                }
-            }
-            cbuf[off + i] = (char)ch;
-        }
-        return len;
-    }
-
-    /**
-     * Returns the next character in the filtered stream, replacing tokens
-     * from the original stream.
-     *
-     * @return the next character in the resulting stream, or -1
-     * if the end of the resulting stream has been reached
-     *
-     * @exception IOException if the underlying stream throws an IOException
-     * during reading
-     */
-    public int read() throws IOException {
-        if (replaceIndex != -1) {
-            int ch = replaceData.charAt(replaceIndex++);
-            if (replaceIndex >= replaceData.length()) {
-                replaceIndex = -1;
-            }
-            return ch;
-        }
-
-        int ch = in.read();
-
-        if (ch == beginToken.charAt(0)) {
-            StringBuffer key = new StringBuffer();
-
-            int beginTokenMatchPos = 1;
-
-            do {
-                ch = in.read();
-                if (ch != -1) {
-                    key.append((char)ch);
-
-                    if ((beginTokenMatchPos < beginTokenLength)
-                        && (ch != beginToken.charAt(beginTokenMatchPos++))) {
-                        ch = -1; // not really EOF but to trigger code below
-                        break;
-                    }
-                } else {
-                    break;
-                }
-            } while (ch != endToken.charAt(0));
-
-            // now test endToken
-            if (ch != -1 && endTokenLength > 1) {
-                int endTokenMatchPos = 1;
-
-                do {
-                    ch = in.read();
-
-                    if (ch != -1) {
-                        key.append((char)ch);
-
-                        if (ch != endToken.charAt(endTokenMatchPos++)) {
-                            ch = -1; // not really EOF but to trigger code below
-                            break;
-                        }
-
-                    } else {
-                        break;
-                    }
-                } while (endTokenMatchPos < endTokenLength);
-            }
-
-            // There is nothing left to read so we have the situation where the begin/end token
-            // are in fact the same and as there is nothing left to read we have got ourselves
-            // end of a token boundary so let it pass through.
-            if (ch == -1) {
-                replaceData = key.toString();
-                replaceIndex = 0;
-                return beginToken.charAt(0);
-            }
-
-            String variableKey = key.substring(beginTokenLength - 1, key.length() - endTokenLength);
-
-            Object o = variables.get(variableKey);
-            if (o != null) {
-                String value = o.toString();
-                if (value.length() != 0) {
-                    replaceData = value;
-                    replaceIndex = 0;
-                }
-                return read();
-            } else {
-                replaceData = key.toString();
-                replaceIndex = 0;
-                return beginToken.charAt(0);
-            }
-        }
-
-        return ch;
-    }
-}
diff --git a/res-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/res/ResMojo.java b/res-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/res/ResMojo.java
deleted file mode 100644
index 47ca1d9..0000000
--- a/res-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/res/ResMojo.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.res;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.Reader;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.util.DirectoryScanner;
-import org.codehaus.plexus.util.FileUtils;
-
-/**
- * Copy resources for the main source code to the main output directory.
- * 
- * @author <a href="mailto:gnodet [at] gmail.org">Guillaume Nodet</a>
- * @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
- * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
- * @author Andreas Hoheneder
- * @version $Id$
- * @goal resources
- * @phase process-resources
- */
-public class ResMojo extends AbstractMojo {
-
-    /**
-     * The character encoding scheme to be applied.
-     * 
-     * @parameter
-     */
-    private String encoding;
-
-    /**
-     * The list of resources we want to transfer.
-     * 
-     * @parameter
-     * @required
-     */
-    private String inputDirectory;
-
-    /**
-     * The output directory into which to copy the resources.
-     * 
-     * @parameter expression="${project.build.outputDirectory}"
-     * @required
-     */
-    private String outputDirectory;
-
-    /**
-     * @parameter expression="${project}"
-     * @required
-     * @readonly
-     */
-    private MavenProject project; // NOPMD
-    
-    /**
-     * @parameter 
-     */
-    private String beginToken = "@{";
-
-    /**
-     * @parameter 
-     */
-    private String endToken = "}";
-
-    /**
-     * @parameter
-     */
-    private Map filters;
-
-    public void execute() throws MojoExecutionException {
-        if (encoding == null || encoding.length() < 1) {
-            getLog().info("Using default encoding to copy filtered resources.");
-        } else {
-            getLog().info("Using '" + encoding + "' to copy filtered resources.");
-        }
-        if (!new File(inputDirectory).exists() || !new File(inputDirectory).isDirectory()) {
-            getLog().warn("Input directory does not exists. Exiting plugin.");
-            return;
-        }
-        DirectoryScanner scanner = new DirectoryScanner();
-        scanner.setBasedir(inputDirectory);
-        scanner.setIncludes(new String[] {"**/**" });
-        scanner.addDefaultExcludes();
-        scanner.scan();
-        List includedFiles = Arrays.asList(scanner.getIncludedFiles());
-
-        getLog().info("Copying " + includedFiles.size() + " resource" + (includedFiles.size() > 1 ? "s" : ""));
-
-        for (Iterator j = includedFiles.iterator(); j.hasNext();) {
-            String name = (String) j.next();
-            File source = new File(inputDirectory, name);
-            File destinationFile = new File(outputDirectory, name);
-            if (!destinationFile.getParentFile().exists()) {
-                destinationFile.getParentFile().mkdirs();
-            }
-            try {
-                copyFile(source, destinationFile);
-            } catch (IOException e) {
-                throw new MojoExecutionException("Error copying resource " + source, e);
-            }
-        }
-    }
-
-    private void copyFile(File from, final File to) throws IOException {
-        FileUtils.FilterWrapper[] wrappers = new FileUtils.FilterWrapper[] {
-            // support @token@
-            new FileUtils.FilterWrapper() {
-                public Reader getReader(Reader reader) {
-                    return new InterpolationFilterReader(reader, filters, beginToken, endToken);
-                }
-            }
-        };
-        FileUtils.copyFile(from, to, encoding, wrappers);
-    }
-}
diff --git a/servicemix-build/LICENSE b/servicemix-build/LICENSE
deleted file mode 100644
index 88057f7..0000000
--- a/servicemix-build/LICENSE
+++ /dev/null
@@ -1,2754 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
-################################################################################
-
-APACHE SERVICEMIX PACKAGES
-
-The Apache ServiceMix distribution includes a number of dependent packages with
-separate copyright notices and license terms. Your use of the source code for 
-these subcomponents is subject to the terms and conditions of the following 
-licenses. 
-
-=========================================================================
-==  Classworld License                                                 ==
-=========================================================================
-
-/*
-$Id: LICENSE.txt,v 1.1.1.1 2004/07/01 13:59:13 jvanzyl Exp $
-
-Copyright 2002 (C) The Codehaus. All Rights Reserved.
-
-Redistribution and use of this software and associated documentation
-("Software"), with or without modification, are permitted provided
-that the following conditions are met:
-
-1. Redistributions of source code must retain copyright
-  statements and notices.  Redistributions must also contain a
-  copy of this document.
-
-2. Redistributions in binary form must reproduce the
-  above copyright notice, this list of conditions and the
-  following disclaimer in the documentation and/or other
-  materials provided with the distribution.
-
-3. The name "classworlds" must not be used to endorse or promote
-  products derived from this Software without prior written
-  permission of The Codehaus.  For written permission, please 
-  contact bob@codehaus.org.
-
-4. Products derived from this Software may not be called "classworlds"
-  nor may "classworlds" appear in their names without prior written
-  permission of The Codehaus. "classworlds" is a registered
-  trademark of The Codehaus.
-
-5. Due credit should be given to The Codehaus.
-  (http://classworlds.codehaus.org/).
-
-THIS SOFTWARE IS PROVIDED BY THE CODEHAUS AND CONTRIBUTORS
-``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
-NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
-THE CODEHAUS OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-OF THE POSSIBILITY OF SUCH DAMAGE.
-
-*/
-   
-=========================================================================
-==  Bouncy Castle License                                              ==
-=========================================================================
-
-The Bouncy Castle License
-
-Copyright (c) 2000-2005 The Legion Of The Bouncy Castle (http://www.bouncycastle.org)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software
-and associated documentation files (the "Software"), to deal in the Software without restriction,
-including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
-subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial
-portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
-INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
-PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
-OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-
-
-=========================================================================
-==  Concurrent License                                                 ==
-=========================================================================
-
-TECHNOLOGY LICENSE FROM SUN MICROSYSTEMS, INC. TO DOUG LEA
-
-Whereas Doug Lea desires to utlized certain Java Software technologies 
-in the util.concurrent technology; and Whereas Sun Microsystems, Inc. 
-("Sun") desires that Doug Lea utilize certain Java Software technologies 
-in the util.concurrent technology;
-
-Therefore the parties agree as follows, effective May 31, 2002: "Java 
-Software technologies" means classes/java/util/ArrayList.java, and 
-classes/java/util/HashMap.java.
-
-The Java Software technologies are Copyright (c) 1994-2000 Sun 
-Microsystems, Inc. All rights reserved.  Sun hereby grants Doug Lea a 
-non-exclusive, worldwide, non-transferrable license to use, reproduce, 
-create derivate works of, and distribute the Java Software and derivative 
-works thereof in source and binary forms as part of a larger work, and 
-to sublicense the right to use, reproduce and distribute the Java Software 
-and Doug Lea's derivative works as the part of larger works through 
-multiple tiers of sublicensees provided that the following conditions 
-are met:
-
--Neither the name of or trademarks of Sun may be used to endorse or 
- promote products including or derived from the Java Software technology 
- without specific prior written permission; and
--Redistributions of source or binary code must contain the above 
- copyright notice, this notice and the following disclaimers:
-
-This software is provided "AS IS," without a warranty of any kind. ALL 
-EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING 
-ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE 
-OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. AND ITS 
-LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A 
-RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE OR ITS 
-DERIVATIVES. IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR ITS LICENSORS BE 
-LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, 
-SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED 
-AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR 
-INABILITY TO USE SOFTWARE, EVEN IF SUN MICROSYSTEMS, INC. HAS BEEN 
-ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-You acknowledge that Software is not designed, licensed or intended for 
-use in the design, construction, operation or maintenance of any nuclear 
-facility.
-
-signed [Doug Lea] dated
-
-
-=========================================================================
-==  XFire License                                                       ==
-=========================================================================
-
-Copyright (c) 2005 Envoi Solutions LLC
-
-Permission is hereby granted, free of charge, to any person obtaining a 
-copy of this software and associated documentation files (the "Software"), 
-to deal in the Software without restriction, including without limitation 
-the rights to use, copy, modify, merge, publish, distribute, sublicense, 
-and/or sell copies of the Software, and to permit persons to whom the 
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in 
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 
-THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
-DEALINGS IN THE SOFTWARE.
-
-
-=========================================================================
-==  MX4J License                                                       ==
-=========================================================================
-
-The MX4J License, Version 1.0
-
-Copyright (c) 2001 MX4J.  All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
-3. The end-user documentation included with the redistribution,
-   if any, must include the following acknowledgment:
-      "This product includes software developed by the
-       MX4J project (http://sourceforge.net/projects/mx4j)."
-   Alternately, this acknowledgment may appear in the software itself,
-   if and wherever such third-party acknowledgments normally appear.
-
-4. The names "MX4J" and "mx4j" must not be used to endorse or promote
-   products derived from this software without prior written
-   permission. For written permission, please contact 
-   biorn_steedom@users.sourceforge.net
-
-5. Products derived from this software may not be called "MX4J",
-   nor may "MX4J" appear in their name, without prior written
-   permission of Simone Bordet.
-
-THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED.  IN NO EVENT SHALL THE CHRIS SEGUIN OR
-ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
-====================================================================
-
-This software consists of voluntary contributions made by many
-individuals on behalf of MX4J.  For more information on
-MX4J, please see <http://sourceforge.net/projects/mx4j>.
-
-
-   
-=========================================================================
-==  WSDL4J License                                                     ==
-=========================================================================
-
-Common Public License - v 1.0 
-
-
-THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON 
-PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE 
-PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 
-
-
-1. DEFINITIONS 
-
-"Contribution" means: 
-
-a) in the case of the initial Contributor, the initial code and 
-   documentation distributed under this Agreement, and
-
-b) in the case of each subsequent Contributor:
-
-i) changes to the Program, and
-
-ii) additions to the Program;
-
-where such changes and/or additions to the Program originate from and are 
-distributed by that particular Contributor. A Contribution 'originates' 
-from a Contributor if it was added to the Program by such Contributor 
-itself or anyone acting on such Contributor's behalf. Contributions do not 
-include additions to the Program which: (i) are separate modules of 
-software distributed in conjunction with the Program under their own 
-license agreement, and (ii) are not derivative works of the Program. 
-
-"Contributor" means any person or entity that distributes the Program. 
-
-
-"Licensed Patents " mean patent claims licensable by a Contributor which 
-are necessarily infringed by the use or sale of its Contribution alone or 
-when combined with the Program. 
-
-
-"Program" means the Contributions distributed in accordance with this 
-Agreement. 
-
-
-"Recipient" means anyone who receives the Program under this Agreement, 
-including all Contributors. 
-
-
-2. GRANT OF RIGHTS 
-
-a) Subject to the terms of this Agreement, each Contributor hereby grants 
-Recipient a non-exclusive, worldwide, royalty-free copyright license to 
-reproduce, prepare derivative works of, publicly display, publicly 
-perform, distribute and sublicense the Contribution of such Contributor, 
-if any, and such derivative works, in source code and object code form.
-
-b) Subject to the terms of this Agreement, each Contributor hereby grants 
-Recipient a non-exclusive, worldwide, royalty-free patent license under 
-Licensed Patents to make, use, sell, offer to sell, import and otherwise 
-transfer the Contribution of such Contributor, if any, in source code and 
-object code form. This patent license shall apply to the combination of the 
-Contribution and the Program if, at the time the Contribution is added by 
-the Contributor, such addition of the Contribution causes such combination 
-to be covered by the Licensed Patents. The patent license shall not apply 
-to any other combinations which include the Contribution. No hardware per se 
-is licensed hereunder. 
-
-c) Recipient understands that although each Contributor grants the licenses 
-to its Contributions set forth herein, no assurances are provided by any 
-Contributor that the Program does not infringe the patent or other 
-intellectual property rights of any other entity. Each Contributor disclaims 
-any liability to Recipient for claims brought by any other entity based on 
-infringement of intellectual property rights or otherwise. As a condition to 
-exercising the rights and licenses granted hereunder, each Recipient hereby 
-assumes sole responsibility to secure any other intellectual property rights 
-needed, if any. For example, if a third party patent license is required to 
-allow Recipient to distribute the Program, it is Recipient's responsibility 
-to acquire that license before distributing the Program.
-
-d) Each Contributor represents that to its knowledge it has sufficient 
-copyright rights in its Contribution, if any, to grant the copyright license 
-set forth in this Agreement.
- 
-3. REQUIREMENTS 
-
-A Contributor may choose to distribute the Program in object code form under 
-its own license agreement, provided that: 
-
-a) it complies with the terms and conditions of this Agreement; and
-
-b) its license agreement:
-   
-i) effectively disclaims on behalf of all Contributors all warranties and 
-conditions, express and implied, including warranties or conditions of title 
-and non-infringement, and implied warranties or conditions of merchantability 
-and fitness for a particular purpose; 
-
-ii) effectively excludes on behalf of all Contributors all liability for 
-damages, including direct, indirect, special, incidental and consequential 
-damages, such as lost profits; 
-
-iii) states that any provisions which differ from this Agreement are offered 
-by that Contributor alone and not by any other party; and
-
-iv) states that source code for the Program is available from such 
-Contributor, and informs licensees how to obtain it in a reasonable manner on 
-or through a medium customarily used for software exchange. 
-
-When the Program is made available in source code form: 
-
-a) it must be made available under this Agreement; and 
-
-b) a copy of this Agreement must be included with each copy of the Program. 
-
-Contributors may not remove or alter any copyright notices contained within 
-the Program. 
-
-Each Contributor must identify itself as the originator of its 
-Contribution, if any, in a manner that reasonably allows subsequent 
-Recipients to identify the originator of the Contribution. 
-
-4. COMMERCIAL DISTRIBUTION 
-
-Commercial distributors of software may accept certain responsibilities 
-with respect to end users, business partners and the like. While this 
-license is intended to facilitate the commercial use of the Program, the 
-Contributor who includes the Program in a commercial product offering 
-should do so in a manner which does not create potential liability for 
-other Contributors. Therefore, if a Contributor includes the Program in a 
-commercial product offering, such Contributor ("Commercial Contributor") 
-hereby agrees to defend and indemnify every other Contributor ("Indemnified 
-Contributor") against any losses, damages and costs (collectively "Losses") 
-arising from claims, lawsuits and other legal actions brought by a third 
-party against the Indemnified Contributor to the extent caused by the acts 
-or omissions of such Commercial Contributor in connection with its 
-distribution of the Program in a commercial product offering. The 
-obligations in this section do not apply to any claims or Losses relating 
-to any actual or alleged intellectual property infringement. In order to 
-qualify, 
-an Indemnified Contributor must: a) promptly notify the Commercial 
-Contributor in writing of such claim, and b) allow the Commercial 
-Contributor to control, and cooperate with the Commercial Contributor in, 
-the defense and any related settlement negotiations. The Indemnified 
-Contributor may participate in any such claim at its own expense. 
-
-
-For example, a Contributor might include the Program in a commercial 
-product offering, Product X. That Contributor is then a Commercial 
-Contributor. If that Commercial Contributor then makes performance claims, 
-or offers warranties related to Product X, those performance claims and 
-warranties are such Commercial Contributor's responsibility alone. Under 
-this section, the Commercial Contributor would have to defend claims 
-against the other Contributors related to those performance claims and 
-warranties, and if a court requires any other Contributor to pay any 
-damages as a result, the Commercial Contributor must pay those damages. 
-
-
-5. NO WARRANTY 
-
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 
-ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER 
-EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR 
-CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A 
-PARTICULAR PURPOSE. Each Recipient is solely responsible for determining 
-the appropriateness of using and distributing the Program and assumes all 
-risks associated with its exercise of rights under this Agreement, 
-including but not limited to the risks and costs of program errors, 
-compliance with applicable laws, damage to or loss of data, programs or 
-equipment, and unavailability or interruption of operations. 
-
-
-6. DISCLAIMER OF LIABILITY 
-
-EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY 
-CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION 
-LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE 
-EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE 
-POSSIBILITY OF SUCH DAMAGES. 
-
-
-7. GENERAL 
-
-If any provision of this Agreement is invalid or unenforceable under 
-applicable law, it shall not affect the validity or enforceability of 
-the remainder of the terms of this Agreement, and without further action 
-by the parties hereto, such provision shall be reformed to the minimum 
-extent necessary to make such provision valid and enforceable. 
-
-
-If Recipient institutes patent litigation against a Contributor with 
-respect to a patent applicable to software (including a cross-claim or 
-counterclaim in a lawsuit), then any patent licenses granted by that 
-Contributor to such Recipient under this Agreement shall terminate as 
-of the date such litigation is filed. In addition, if Recipient 
-institutes patent litigation against any entity (including a cross-claim 
-or counterclaim in a lawsuit) alleging that the Program itself (excluding 
-combinations of the Program with other software or hardware) infringes 
-such Recipient's patent(s), then such Recipient's rights granted under 
-Section 2(b) shall terminate as of the date such litigation is filed. 
-
-
-All Recipient's rights under this Agreement shall terminate if it fails 
-to comply with any of the material terms or conditions of this Agreement 
-and does not cure such failure in a reasonable period of time after 
-becoming aware of such noncompliance. If all Recipient's rights under this 
-Agreement terminate, Recipient agrees to cease use and distribution of the 
-Program as soon as reasonably practicable. However, Recipient's obligations 
-under this Agreement and any licenses granted by Recipient relating to the 
-Program shall continue and survive. 
-
-
-Everyone is permitted to copy and distribute copies of this Agreement, 
-but in order to avoid inconsistency the Agreement is copyrighted and may 
-only be modified in the following manner. The Agreement Steward reserves 
-the right to publish new versions (including revisions) of this Agreement 
-from time to time. No one other than the Agreement Steward has the right 
-to modify this Agreement. IBM is the initial Agreement Steward. IBM may 
-assign the responsibility to serve as the Agreement Steward to a suitable 
-separate entity. Each new version of the Agreement will be given a 
-distinguishing version number. The Program (including Contributions) may 
-always be distributed subject to the version of the Agreement under which 
-it was received. In addition, after a new version of the Agreement is 
-published, Contributor may elect to distribute the Program (including its 
-Contributions) under the new version. Except as expressly stated in 
-Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to 
-the intellectual property of any Contributor under this Agreement, whether 
-expressly, by implication, estoppel or otherwise. All rights in the Program 
-not expressly granted under this Agreement are reserved. 
-
-
-This Agreement is governed by the laws of the State of New York and the 
-intellectual property laws of the United States of America. No party to this 
-Agreement will bring a legal action under this Agreement more than one year 
-after the cause of action arose. Each party waives its rights to a jury 
-trial in any resulting litigation. 
-
-
-   
-=========================================================================
-==  XStream License                                                    ==
-=========================================================================
-
-Copyright (c) 2003-2006, Joe Walnes
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are 
-met:
-
-Redistributions of source code must retain the above copyright notice, 
-this list of conditions and the following disclaimer. Redistributions in 
-binary form must reproduce the above copyright notice, this list of 
-conditions and the following disclaimer in the documentation and/or other 
-materials provided with the distribution.
-
-Neither the name of XStream nor the names of its contributors may be used 
-to endorse or promote products derived from this software without 
-specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-=========================================================================
-== Java Mail License                                                   ==
-=========================================================================
-
-COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
-
-1. Definitions.
-
-      1.1. "Contributor" means each individual or entity that
-      creates or contributes to the creation of Modifications.
-
-      1.2. "Contributor Version" means the combination of the
-      Original Software, prior Modifications used by a
-      Contributor (if any), and the Modifications made by that
-      particular Contributor.
-
-      1.3. "Covered Software" means (a) the Original Software, or
-      (b) Modifications, or (c) the combination of files
-      containing Original Software with files containing
-      Modifications, in each case including portions thereof.
-
-      1.4. "Executable" means the Covered Software in any form
-      other than Source Code. 
-
-      1.5. "Initial Developer" means the individual or entity
-      that first makes Original Software available under this
-      License. 
-      
-      1.6. "Larger Work" means a work which combines Covered
-      Software or portions thereof with code not governed by the
-      terms of this License.
-
-      1.7. "License" means this document.
-
-      1.8. "Licensable" means having the right to grant, to the
-      maximum extent possible, whether at the time of the initial
-      grant or subsequently acquired, any and all of the rights
-      conveyed herein.
-      
-      1.9. "Modifications" means the Source Code and Executable
-      form of any of the following: 
-
-            A. Any file that results from an addition to,
-            deletion from or modification of the contents of a
-            file containing Original Software or previous
-            Modifications; 
-
-            B. Any new file that contains any part of the
-            Original Software or previous Modification; or 
-
-            C. Any new file that is contributed or otherwise made
-            available under the terms of this License.
-
-      1.10. "Original Software" means the Source Code and
-      Executable form of computer software code that is
-      originally released under this License. 
-
-      1.11. "Patent Claims" means any patent claim(s), now owned
-      or hereafter acquired, including without limitation,
-      method, process, and apparatus claims, in any patent
-      Licensable by grantor. 
-
-      1.12. "Source Code" means (a) the common form of computer
-      software code in which modifications are made and (b)
-      associated documentation included in or with such code.
-
-      1.13. "You" (or "Your") means an individual or a legal
-      entity exercising rights under, and complying with all of
-      the terms of, this License. For legal entities, "You"
-      includes any entity which controls, is controlled by, or is
-      under common control with You. For purposes of this
-      definition, "control" means (a) the power, direct or
-      indirect, to cause the direction or management of such
-      entity, whether by contract or otherwise, or (b) ownership
-      of more than fifty percent (50%) of the outstanding shares
-      or beneficial ownership of such entity.
-
-2. License Grants. 
-
-      2.1. The Initial Developer Grant.
-
-      Conditioned upon Your compliance with Section 3.1 below and
-      subject to third party intellectual property claims, the
-      Initial Developer hereby grants You a world-wide,
-      royalty-free, non-exclusive license: 
-
-            (a) under intellectual property rights (other than
-            patent or trademark) Licensable by Initial Developer,
-            to use, reproduce, modify, display, perform,
-            sublicense and distribute the Original Software (or
-            portions thereof), with or without Modifications,
-            and/or as part of a Larger Work; and 
-
-            (b) under Patent Claims infringed by the making,
-            using or selling of Original Software, to make, have
-            made, use, practice, sell, and offer for sale, and/or
-            otherwise dispose of the Original Software (or
-            portions thereof). 
-
-            (c) The licenses granted in Sections 2.1(a) and (b)
-            are effective on the date Initial Developer first
-            distributes or otherwise makes the Original Software
-            available to a third party under the terms of this
-            License. 
-
-            (d) Notwithstanding Section 2.1(b) above, no patent
-            license is granted: (1) for code that You delete from
-            the Original Software, or (2) for infringements
-            caused by: (i) the modification of the Original
-            Software, or (ii) the combination of the Original
-            Software with other software or devices. 
-
-      2.2. Contributor Grant.
-
-      Conditioned upon Your compliance with Section 3.1 below and
-      subject to third party intellectual property claims, each
-      Contributor hereby grants You a world-wide, royalty-free,
-      non-exclusive license:
-
-            (a) under intellectual property rights (other than
-            patent or trademark) Licensable by Contributor to
-            use, reproduce, modify, display, perform, sublicense
-            and distribute the Modifications created by such
-            Contributor (or portions thereof), either on an
-            unmodified basis, with other Modifications, as
-            Covered Software and/or as part of a Larger Work; and
-            
-
-            (b) under Patent Claims infringed by the making,
-            using, or selling of Modifications made by that
-            Contributor either alone and/or in combination with
-            its Contributor Version (or portions of such
-            combination), to make, use, sell, offer for sale,
-            have made, and/or otherwise dispose of: (1)
-            Modifications made by that Contributor (or portions
-            thereof); and (2) the combination of Modifications
-            made by that Contributor with its Contributor Version
-            (or portions of such combination). 
-
-            (c) The licenses granted in Sections 2.2(a) and
-            2.2(b) are effective on the date Contributor first
-            distributes or otherwise makes the Modifications
-            available to a third party. 
-
-            (d) Notwithstanding Section 2.2(b) above, no patent
-            license is granted: (1) for any code that Contributor
-            has deleted from the Contributor Version; (2) for
-            infringements caused by: (i) third party
-            modifications of Contributor Version, or (ii) the
-            combination of Modifications made by that Contributor
-            with other software (except as part of the
-            Contributor Version) or other devices; or (3) under
-            Patent Claims infringed by Covered Software in the
-            absence of Modifications made by that Contributor. 
-
-3. Distribution Obligations.
-
-      3.1. Availability of Source Code.
-
-      Any Covered Software that You distribute or otherwise make
-      available in Executable form must also be made available in
-      Source Code form and that Source Code form must be
-      distributed only under the terms of this License. You must
-      include a copy of this License with every copy of the
-      Source Code form of the Covered Software You distribute or
-      otherwise make available. You must inform recipients of any
-      such Covered Software in Executable form as to how they can
-      obtain such Covered Software in Source Code form in a
-      reasonable manner on or through a medium customarily used
-      for software exchange.
-
-      3.2. Modifications.
-
-      The Modifications that You create or to which You
-      contribute are governed by the terms of this License. You
-      represent that You believe Your Modifications are Your
-      original creation(s) and/or You have sufficient rights to
-      grant the rights conveyed by this License.
-
-      3.3. Required Notices.
-
-      You must include a notice in each of Your Modifications
-      that identifies You as the Contributor of the Modification.
-      You may not remove or alter any copyright, patent or
-      trademark notices contained within the Covered Software, or
-      any notices of licensing or any descriptive text giving
-      attribution to any Contributor or the Initial Developer.
-
-      3.4. Application of Additional Terms.
-
-      You may not offer or impose any terms on any Covered
-      Software in Source Code form that alters or restricts the
-      applicable version of this License or the recipientsÕ
-      rights hereunder. You may choose to offer, and to charge a
-      fee for, warranty, support, indemnity or liability
-      obligations to one or more recipients of Covered Software.
-      However, you may do so only on Your own behalf, and not on
-      behalf of the Initial Developer or any Contributor. You
-      must make it absolutely clear that any such warranty,
-      support, indemnity or liability obligation is offered by
-      You alone, and You hereby agree to indemnify the Initial
-      Developer and every Contributor for any liability incurred
-      by the Initial Developer or such Contributor as a result of
-      warranty, support, indemnity or liability terms You offer.
-    
-
-      3.5. Distribution of Executable Versions.
-
-      You may distribute the Executable form of the Covered
-      Software under the terms of this License or under the terms
-      of a license of Your choice, which may contain terms
-      different from this License, provided that You are in
-      compliance with the terms of this License and that the
-      license for the Executable form does not attempt to limit
-      or alter the recipientÕs rights in the Source Code form
-      from the rights set forth in this License. If You
-      distribute the Covered Software in Executable form under a
-      different license, You must make it absolutely clear that
-      any terms which differ from this License are offered by You
-      alone, not by the Initial Developer or Contributor. You
-      hereby agree to indemnify the Initial Developer and every
-      Contributor for any liability incurred by the Initial
-      Developer or such Contributor as a result of any such terms
-      You offer.
-
-      3.6. Larger Works.
-
-      You may create a Larger Work by combining Covered Software
-      with other code not governed by the terms of this License
-      and distribute the Larger Work as a single product. In such
-      a case, You must make sure the requirements of this License
-      are fulfilled for the Covered Software. 
-      
-4. Versions of the License. 
-
-      4.1. New Versions.
-
-      Sun Microsystems, Inc. is the initial license steward and
-      may publish revised and/or new versions of this License
-      from time to time. Each version will be given a
-      distinguishing version number. Except as provided in
-      Section 4.3, no one other than the license steward has the
-      right to modify this License. 
-
-      4.2. Effect of New Versions.
-
-      You may always continue to use, distribute or otherwise
-      make the Covered Software available under the terms of the
-      version of the License under which You originally received
-      the Covered Software. If the Initial Developer includes a
-      notice in the Original Software prohibiting it from being
-      distributed or otherwise made available under any
-      subsequent version of the License, You must distribute and
-      make the Covered Software available under the terms of the
-      version of the License under which You originally received
-      the Covered Software. Otherwise, You may also choose to
-      use, distribute or otherwise make the Covered Software
-      available under the terms of any subsequent version of the
-      License published by the license steward. 
-
-      4.3. Modified Versions.
-
-      When You are an Initial Developer and You want to create a
-      new license for Your Original Software, You may create and
-      use a modified version of this License if You: (a) rename
-      the license and remove any references to the name of the
-      license steward (except to note that the license differs
-      from this License); and (b) otherwise make it clear that
-      the license contains terms which differ from this License.
-      
-
-5. DISCLAIMER OF WARRANTY.
-
-COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS"
-BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
-INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
-SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR
-PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND
-PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY
-COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
-INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF
-ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF
-WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
-ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
-DISCLAIMER. 
-
-6. TERMINATION. 
-
-      6.1. This License and the rights granted hereunder will
-      terminate automatically if You fail to comply with terms
-      herein and fail to cure such breach within 30 days of
-      becoming aware of the breach. Provisions which, by their
-      nature, must remain in effect beyond the termination of
-      this License shall survive.
-
-      6.2. If You assert a patent infringement claim (excluding
-      declaratory judgment actions) against Initial Developer or
-      a Contributor (the Initial Developer or Contributor against
-      whom You assert such claim is referred to as "Participant")
-      alleging that the Participant Software (meaning the
-      Contributor Version where the Participant is a Contributor
-      or the Original Software where the Participant is the
-      Initial Developer) directly or indirectly infringes any
-      patent, then any and all rights granted directly or
-      indirectly to You by such Participant, the Initial
-      Developer (if the Initial Developer is not the Participant)
-      and all Contributors under Sections 2.1 and/or 2.2 of this
-      License shall, upon 60 days notice from Participant
-      terminate prospectively and automatically at the expiration
-      of such 60 day notice period, unless if within such 60 day
-      period You withdraw Your claim with respect to the
-      Participant Software against such Participant either
-      unilaterally or pursuant to a written agreement with
-      Participant.
-
-      6.3. In the event of termination under Sections 6.1 or 6.2
-      above, all end user licenses that have been validly granted
-      by You or any distributor hereunder prior to termination
-      (excluding licenses granted to You by any distributor)
-      shall survive termination.
-
-7. LIMITATION OF LIABILITY.
-
-UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
-INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
-COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE
-LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
-CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
-LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK
-STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
-COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
-INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
-LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
-INJURY RESULTING FROM SUCH PARTYÕS NEGLIGENCE TO THE EXTENT
-APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
-NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
-CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT
-APPLY TO YOU.
-
-8. U.S. GOVERNMENT END USERS.
-
-The Covered Software is a "commercial item," as that term is
-defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial
-computer software" (as that term is defined at 48 C.F.R. ¤
-252.227-7014(a)(1)) and "commercial computer software
-documentation" as such terms are used in 48 C.F.R. 12.212 (Sept.
-1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
-through 227.7202-4 (June 1995), all U.S. Government End Users
-acquire Covered Software with only those rights set forth herein.
-This U.S. Government Rights clause is in lieu of, and supersedes,
-any other FAR, DFAR, or other clause or provision that addresses
-Government rights in computer software under this License.
-
-9. MISCELLANEOUS.
-
-This License represents the complete agreement concerning subject
-matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed only to the
-extent necessary to make it enforceable. This License shall be
-governed by the law of the jurisdiction specified in a notice
-contained within the Original Software (except to the extent
-applicable law, if any, provides otherwise), excluding such
-jurisdictionÕs conflict-of-law provisions. Any litigation
-relating to this License shall be subject to the jurisdiction of
-the courts located in the jurisdiction and venue specified in a
-notice contained within the Original Software, with the losing
-party responsible for costs, including, without limitation, court
-costs and reasonable attorneysÕ fees and expenses. The
-application of the United Nations Convention on Contracts for the
-International Sale of Goods is expressly excluded. Any law or
-regulation which provides that the language of a contract shall
-be construed against the drafter shall not apply to this License.
-You agree that You alone are responsible for compliance with the
-United States export administration regulations (and the export
-control laws and regulation of any other countries) when You use,
-distribute or otherwise make available any Covered Software.
-
-10. RESPONSIBILITY FOR CLAIMS.
-
-As between Initial Developer and the Contributors, each party is
-responsible for claims and damages arising, directly or
-indirectly, out of its utilization of rights under this License
-and You agree to work with Initial Developer and Contributors to
-distribute such responsibility on an equitable basis. Nothing
-herein is intended or shall be deemed to constitute any admission
-of liability.
-
-
-=========================================================================
-== Java Activation Framework License                                   ==
-=========================================================================
-
-COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
-
-1. Definitions.
-
-      1.1. "Contributor" means each individual or entity that
-      creates or contributes to the creation of Modifications.
-
-      1.2. "Contributor Version" means the combination of the
-      Original Software, prior Modifications used by a
-      Contributor (if any), and the Modifications made by that
-      particular Contributor.
-
-      1.3. "Covered Software" means (a) the Original Software, or
-      (b) Modifications, or (c) the combination of files
-      containing Original Software with files containing
-      Modifications, in each case including portions thereof.
-
-      1.4. "Executable" means the Covered Software in any form
-      other than Source Code. 
-
-      1.5. "Initial Developer" means the individual or entity
-      that first makes Original Software available under this
-      License. 
-      
-      1.6. "Larger Work" means a work which combines Covered
-      Software or portions thereof with code not governed by the
-      terms of this License.
-
-      1.7. "License" means this document.
-
-      1.8. "Licensable" means having the right to grant, to the
-      maximum extent possible, whether at the time of the initial
-      grant or subsequently acquired, any and all of the rights
-      conveyed herein.
-      
-      1.9. "Modifications" means the Source Code and Executable
-      form of any of the following: 
-
-            A. Any file that results from an addition to,
-            deletion from or modification of the contents of a
-            file containing Original Software or previous
-            Modifications; 
-
-            B. Any new file that contains any part of the
-            Original Software or previous Modification; or 
-
-            C. Any new file that is contributed or otherwise made
-            available under the terms of this License.
-
-      1.10. "Original Software" means the Source Code and
-      Executable form of computer software code that is
-      originally released under this License. 
-
-      1.11. "Patent Claims" means any patent claim(s), now owned
-      or hereafter acquired, including without limitation,
-      method, process, and apparatus claims, in any patent
-      Licensable by grantor. 
-
-      1.12. "Source Code" means (a) the common form of computer
-      software code in which modifications are made and (b)
-      associated documentation included in or with such code.
-
-      1.13. "You" (or "Your") means an individual or a legal
-      entity exercising rights under, and complying with all of
-      the terms of, this License. For legal entities, "You"
-      includes any entity which controls, is controlled by, or is
-      under common control with You. For purposes of this
-      definition, "control" means (a) the power, direct or
-      indirect, to cause the direction or management of such
-      entity, whether by contract or otherwise, or (b) ownership
-      of more than fifty percent (50%) of the outstanding shares
-      or beneficial ownership of such entity.
-
-2. License Grants. 
-
-      2.1. The Initial Developer Grant.
-
-      Conditioned upon Your compliance with Section 3.1 below and
-      subject to third party intellectual property claims, the
-      Initial Developer hereby grants You a world-wide,
-      royalty-free, non-exclusive license: 
-
-            (a) under intellectual property rights (other than
-            patent or trademark) Licensable by Initial Developer,
-            to use, reproduce, modify, display, perform,
-            sublicense and distribute the Original Software (or
-            portions thereof), with or without Modifications,
-            and/or as part of a Larger Work; and 
-
-            (b) under Patent Claims infringed by the making,
-            using or selling of Original Software, to make, have
-            made, use, practice, sell, and offer for sale, and/or
-            otherwise dispose of the Original Software (or
-            portions thereof). 
-
-            (c) The licenses granted in Sections 2.1(a) and (b)
-            are effective on the date Initial Developer first
-            distributes or otherwise makes the Original Software
-            available to a third party under the terms of this
-            License. 
-
-            (d) Notwithstanding Section 2.1(b) above, no patent
-            license is granted: (1) for code that You delete from
-            the Original Software, or (2) for infringements
-            caused by: (i) the modification of the Original
-            Software, or (ii) the combination of the Original
-            Software with other software or devices. 
-
-      2.2. Contributor Grant.
-
-      Conditioned upon Your compliance with Section 3.1 below and
-      subject to third party intellectual property claims, each
-      Contributor hereby grants You a world-wide, royalty-free,
-      non-exclusive license:
-
-            (a) under intellectual property rights (other than
-            patent or trademark) Licensable by Contributor to
-            use, reproduce, modify, display, perform, sublicense
-            and distribute the Modifications created by such
-            Contributor (or portions thereof), either on an
-            unmodified basis, with other Modifications, as
-            Covered Software and/or as part of a Larger Work; and
-            
-
-            (b) under Patent Claims infringed by the making,
-            using, or selling of Modifications made by that
-            Contributor either alone and/or in combination with
-            its Contributor Version (or portions of such
-            combination), to make, use, sell, offer for sale,
-            have made, and/or otherwise dispose of: (1)
-            Modifications made by that Contributor (or portions
-            thereof); and (2) the combination of Modifications
-            made by that Contributor with its Contributor Version
-            (or portions of such combination). 
-
-            (c) The licenses granted in Sections 2.2(a) and
-            2.2(b) are effective on the date Contributor first
-            distributes or otherwise makes the Modifications
-            available to a third party. 
-
-            (d) Notwithstanding Section 2.2(b) above, no patent
-            license is granted: (1) for any code that Contributor
-            has deleted from the Contributor Version; (2) for
-            infringements caused by: (i) third party
-            modifications of Contributor Version, or (ii) the
-            combination of Modifications made by that Contributor
-            with other software (except as part of the
-            Contributor Version) or other devices; or (3) under
-            Patent Claims infringed by Covered Software in the
-            absence of Modifications made by that Contributor. 
-
-3. Distribution Obligations.
-
-      3.1. Availability of Source Code.
-
-      Any Covered Software that You distribute or otherwise make
-      available in Executable form must also be made available in
-      Source Code form and that Source Code form must be
-      distributed only under the terms of this License. You must
-      include a copy of this License with every copy of the
-      Source Code form of the Covered Software You distribute or
-      otherwise make available. You must inform recipients of any
-      such Covered Software in Executable form as to how they can
-      obtain such Covered Software in Source Code form in a
-      reasonable manner on or through a medium customarily used
-      for software exchange.
-
-      3.2. Modifications.
-
-      The Modifications that You create or to which You
-      contribute are governed by the terms of this License. You
-      represent that You believe Your Modifications are Your
-      original creation(s) and/or You have sufficient rights to
-      grant the rights conveyed by this License.
-
-      3.3. Required Notices.
-
-      You must include a notice in each of Your Modifications
-      that identifies You as the Contributor of the Modification.
-      You may not remove or alter any copyright, patent or
-      trademark notices contained within the Covered Software, or
-      any notices of licensing or any descriptive text giving
-      attribution to any Contributor or the Initial Developer.
-
-      3.4. Application of Additional Terms.
-
-      You may not offer or impose any terms on any Covered
-      Software in Source Code form that alters or restricts the
-      applicable version of this License or the recipientsÕ
-      rights hereunder. You may choose to offer, and to charge a
-      fee for, warranty, support, indemnity or liability
-      obligations to one or more recipients of Covered Software.
-      However, you may do so only on Your own behalf, and not on
-      behalf of the Initial Developer or any Contributor. You
-      must make it absolutely clear that any such warranty,
-      support, indemnity or liability obligation is offered by
-      You alone, and You hereby agree to indemnify the Initial
-      Developer and every Contributor for any liability incurred
-      by the Initial Developer or such Contributor as a result of
-      warranty, support, indemnity or liability terms You offer.
-    
-
-      3.5. Distribution of Executable Versions.
-
-      You may distribute the Executable form of the Covered
-      Software under the terms of this License or under the terms
-      of a license of Your choice, which may contain terms
-      different from this License, provided that You are in
-      compliance with the terms of this License and that the
-      license for the Executable form does not attempt to limit
-      or alter the recipientÕs rights in the Source Code form
-      from the rights set forth in this License. If You
-      distribute the Covered Software in Executable form under a
-      different license, You must make it absolutely clear that
-      any terms which differ from this License are offered by You
-      alone, not by the Initial Developer or Contributor. You
-      hereby agree to indemnify the Initial Developer and every
-      Contributor for any liability incurred by the Initial
-      Developer or such Contributor as a result of any such terms
-      You offer.
-
-      3.6. Larger Works.
-
-      You may create a Larger Work by combining Covered Software
-      with other code not governed by the terms of this License
-      and distribute the Larger Work as a single product. In such
-      a case, You must make sure the requirements of this License
-      are fulfilled for the Covered Software. 
-      
-4. Versions of the License. 
-
-      4.1. New Versions.
-
-      Sun Microsystems, Inc. is the initial license steward and
-      may publish revised and/or new versions of this License
-      from time to time. Each version will be given a
-      distinguishing version number. Except as provided in
-      Section 4.3, no one other than the license steward has the
-      right to modify this License. 
-
-      4.2. Effect of New Versions.
-
-      You may always continue to use, distribute or otherwise
-      make the Covered Software available under the terms of the
-      version of the License under which You originally received
-      the Covered Software. If the Initial Developer includes a
-      notice in the Original Software prohibiting it from being
-      distributed or otherwise made available under any
-      subsequent version of the License, You must distribute and
-      make the Covered Software available under the terms of the
-      version of the License under which You originally received
-      the Covered Software. Otherwise, You may also choose to
-      use, distribute or otherwise make the Covered Software
-      available under the terms of any subsequent version of the
-      License published by the license steward. 
-
-      4.3. Modified Versions.
-
-      When You are an Initial Developer and You want to create a
-      new license for Your Original Software, You may create and
-      use a modified version of this License if You: (a) rename
-      the license and remove any references to the name of the
-      license steward (except to note that the license differs
-      from this License); and (b) otherwise make it clear that
-      the license contains terms which differ from this License.
-      
-
-5. DISCLAIMER OF WARRANTY.
-
-COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS"
-BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
-INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
-SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR
-PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND
-PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY
-COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
-INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF
-ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF
-WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
-ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
-DISCLAIMER. 
-
-6. TERMINATION. 
-
-      6.1. This License and the rights granted hereunder will
-      terminate automatically if You fail to comply with terms
-      herein and fail to cure such breach within 30 days of
-      becoming aware of the breach. Provisions which, by their
-      nature, must remain in effect beyond the termination of
-      this License shall survive.
-
-      6.2. If You assert a patent infringement claim (excluding
-      declaratory judgment actions) against Initial Developer or
-      a Contributor (the Initial Developer or Contributor against
-      whom You assert such claim is referred to as "Participant")
-      alleging that the Participant Software (meaning the
-      Contributor Version where the Participant is a Contributor
-      or the Original Software where the Participant is the
-      Initial Developer) directly or indirectly infringes any
-      patent, then any and all rights granted directly or
-      indirectly to You by such Participant, the Initial
-      Developer (if the Initial Developer is not the Participant)
-      and all Contributors under Sections 2.1 and/or 2.2 of this
-      License shall, upon 60 days notice from Participant
-      terminate prospectively and automatically at the expiration
-      of such 60 day notice period, unless if within such 60 day
-      period You withdraw Your claim with respect to the
-      Participant Software against such Participant either
-      unilaterally or pursuant to a written agreement with
-      Participant.
-
-      6.3. In the event of termination under Sections 6.1 or 6.2
-      above, all end user licenses that have been validly granted
-      by You or any distributor hereunder prior to termination
-      (excluding licenses granted to You by any distributor)
-      shall survive termination.
-
-7. LIMITATION OF LIABILITY.
-
-UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
-INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
-COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE
-LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
-CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
-LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK
-STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
-COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
-INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
-LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
-INJURY RESULTING FROM SUCH PARTYÕS NEGLIGENCE TO THE EXTENT
-APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
-NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
-CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT
-APPLY TO YOU.
-
-8. U.S. GOVERNMENT END USERS.
-
-The Covered Software is a "commercial item," as that term is
-defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial
-computer software" (as that term is defined at 48 C.F.R. ¤
-252.227-7014(a)(1)) and "commercial computer software
-documentation" as such terms are used in 48 C.F.R. 12.212 (Sept.
-1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
-through 227.7202-4 (June 1995), all U.S. Government End Users
-acquire Covered Software with only those rights set forth herein.
-This U.S. Government Rights clause is in lieu of, and supersedes,
-any other FAR, DFAR, or other clause or provision that addresses
-Government rights in computer software under this License.
-
-9. MISCELLANEOUS.
-
-This License represents the complete agreement concerning subject
-matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed only to the
-extent necessary to make it enforceable. This License shall be
-governed by the law of the jurisdiction specified in a notice
-contained within the Original Software (except to the extent
-applicable law, if any, provides otherwise), excluding such
-jurisdictionÕs conflict-of-law provisions. Any litigation
-relating to this License shall be subject to the jurisdiction of
-the courts located in the jurisdiction and venue specified in a
-notice contained within the Original Software, with the losing
-party responsible for costs, including, without limitation, court
-costs and reasonable attorneysÕ fees and expenses. The
-application of the United Nations Convention on Contracts for the
-International Sale of Goods is expressly excluded. Any law or
-regulation which provides that the language of a contract shall
-be construed against the drafter shall not apply to this License.
-You agree that You alone are responsible for compliance with the
-United States export administration regulations (and the export
-control laws and regulation of any other countries) when You use,
-distribute or otherwise make available any Covered Software.
-
-10. RESPONSIBILITY FOR CLAIMS.
-
-As between Initial Developer and the Contributors, each party is
-responsible for claims and damages arising, directly or
-indirectly, out of its utilization of rights under this License
-and You agree to work with Initial Developer and Contributors to
-distribute such responsibility on an equitable basis. Nothing
-herein is intended or shall be deemed to constitute any admission
-of liability.
-
-
-=========================================================================
-== JAXB License                                                        ==
-=========================================================================
-
-COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
-
-1. Definitions.
-
-      1.1. "Contributor" means each individual or entity that
-      creates or contributes to the creation of Modifications.
-
-      1.2. "Contributor Version" means the combination of the
-      Original Software, prior Modifications used by a
-      Contributor (if any), and the Modifications made by that
-      particular Contributor.
-
-      1.3. "Covered Software" means (a) the Original Software, or
-      (b) Modifications, or (c) the combination of files
-      containing Original Software with files containing
-      Modifications, in each case including portions thereof.
-
-      1.4. "Executable" means the Covered Software in any form
-      other than Source Code. 
-
-      1.5. "Initial Developer" means the individual or entity
-      that first makes Original Software available under this
-      License. 
-      
-      1.6. "Larger Work" means a work which combines Covered
-      Software or portions thereof with code not governed by the
-      terms of this License.
-
-      1.7. "License" means this document.
-
-      1.8. "Licensable" means having the right to grant, to the
-      maximum extent possible, whether at the time of the initial
-      grant or subsequently acquired, any and all of the rights
-      conveyed herein.
-      
-      1.9. "Modifications" means the Source Code and Executable
-      form of any of the following: 
-
-            A. Any file that results from an addition to,
-            deletion from or modification of the contents of a
-            file containing Original Software or previous
-            Modifications; 
-
-            B. Any new file that contains any part of the
-            Original Software or previous Modification; or 
-
-            C. Any new file that is contributed or otherwise made
-            available under the terms of this License.
-
-      1.10. "Original Software" means the Source Code and
-      Executable form of computer software code that is
-      originally released under this License. 
-
-      1.11. "Patent Claims" means any patent claim(s), now owned
-      or hereafter acquired, including without limitation,
-      method, process, and apparatus claims, in any patent
-      Licensable by grantor. 
-
-      1.12. "Source Code" means (a) the common form of computer
-      software code in which modifications are made and (b)
-      associated documentation included in or with such code.
-
-      1.13. "You" (or "Your") means an individual or a legal
-      entity exercising rights under, and complying with all of
-      the terms of, this License. For legal entities, "You"
-      includes any entity which controls, is controlled by, or is
-      under common control with You. For purposes of this
-      definition, "control" means (a) the power, direct or
-      indirect, to cause the direction or management of such
-      entity, whether by contract or otherwise, or (b) ownership
-      of more than fifty percent (50%) of the outstanding shares
-      or beneficial ownership of such entity.
-
-2. License Grants. 
-
-      2.1. The Initial Developer Grant.
-
-      Conditioned upon Your compliance with Section 3.1 below and
-      subject to third party intellectual property claims, the
-      Initial Developer hereby grants You a world-wide,
-      royalty-free, non-exclusive license: 
-
-            (a) under intellectual property rights (other than
-            patent or trademark) Licensable by Initial Developer,
-            to use, reproduce, modify, display, perform,
-            sublicense and distribute the Original Software (or
-            portions thereof), with or without Modifications,
-            and/or as part of a Larger Work; and 
-
-            (b) under Patent Claims infringed by the making,
-            using or selling of Original Software, to make, have
-            made, use, practice, sell, and offer for sale, and/or
-            otherwise dispose of the Original Software (or
-            portions thereof). 
-
-            (c) The licenses granted in Sections 2.1(a) and (b)
-            are effective on the date Initial Developer first
-            distributes or otherwise makes the Original Software
-            available to a third party under the terms of this
-            License. 
-
-            (d) Notwithstanding Section 2.1(b) above, no patent
-            license is granted: (1) for code that You delete from
-            the Original Software, or (2) for infringements
-            caused by: (i) the modification of the Original
-            Software, or (ii) the combination of the Original
-            Software with other software or devices. 
-
-      2.2. Contributor Grant.
-
-      Conditioned upon Your compliance with Section 3.1 below and
-      subject to third party intellectual property claims, each
-      Contributor hereby grants You a world-wide, royalty-free,
-      non-exclusive license:
-
-            (a) under intellectual property rights (other than
-            patent or trademark) Licensable by Contributor to
-            use, reproduce, modify, display, perform, sublicense
-            and distribute the Modifications created by such
-            Contributor (or portions thereof), either on an
-            unmodified basis, with other Modifications, as
-            Covered Software and/or as part of a Larger Work; and
-            
-
-            (b) under Patent Claims infringed by the making,
-            using, or selling of Modifications made by that
-            Contributor either alone and/or in combination with
-            its Contributor Version (or portions of such
-            combination), to make, use, sell, offer for sale,
-            have made, and/or otherwise dispose of: (1)
-            Modifications made by that Contributor (or portions
-            thereof); and (2) the combination of Modifications
-            made by that Contributor with its Contributor Version
-            (or portions of such combination). 
-
-            (c) The licenses granted in Sections 2.2(a) and
-            2.2(b) are effective on the date Contributor first
-            distributes or otherwise makes the Modifications
-            available to a third party. 
-
-            (d) Notwithstanding Section 2.2(b) above, no patent
-            license is granted: (1) for any code that Contributor
-            has deleted from the Contributor Version; (2) for
-            infringements caused by: (i) third party
-            modifications of Contributor Version, or (ii) the
-            combination of Modifications made by that Contributor
-            with other software (except as part of the
-            Contributor Version) or other devices; or (3) under
-            Patent Claims infringed by Covered Software in the
-            absence of Modifications made by that Contributor. 
-
-3. Distribution Obligations.
-
-      3.1. Availability of Source Code.
-
-      Any Covered Software that You distribute or otherwise make
-      available in Executable form must also be made available in
-      Source Code form and that Source Code form must be
-      distributed only under the terms of this License. You must
-      include a copy of this License with every copy of the
-      Source Code form of the Covered Software You distribute or
-      otherwise make available. You must inform recipients of any
-      such Covered Software in Executable form as to how they can
-      obtain such Covered Software in Source Code form in a
-      reasonable manner on or through a medium customarily used
-      for software exchange.
-
-      3.2. Modifications.
-
-      The Modifications that You create or to which You
-      contribute are governed by the terms of this License. You
-      represent that You believe Your Modifications are Your
-      original creation(s) and/or You have sufficient rights to
-      grant the rights conveyed by this License.
-
-      3.3. Required Notices.
-
-      You must include a notice in each of Your Modifications
-      that identifies You as the Contributor of the Modification.
-      You may not remove or alter any copyright, patent or
-      trademark notices contained within the Covered Software, or
-      any notices of licensing or any descriptive text giving
-      attribution to any Contributor or the Initial Developer.
-
-      3.4. Application of Additional Terms.
-
-      You may not offer or impose any terms on any Covered
-      Software in Source Code form that alters or restricts the
-      applicable version of this License or the recipientsÕ
-      rights hereunder. You may choose to offer, and to charge a
-      fee for, warranty, support, indemnity or liability
-      obligations to one or more recipients of Covered Software.
-      However, you may do so only on Your own behalf, and not on
-      behalf of the Initial Developer or any Contributor. You
-      must make it absolutely clear that any such warranty,
-      support, indemnity or liability obligation is offered by
-      You alone, and You hereby agree to indemnify the Initial
-      Developer and every Contributor for any liability incurred
-      by the Initial Developer or such Contributor as a result of
-      warranty, support, indemnity or liability terms You offer.
-    
-
-      3.5. Distribution of Executable Versions.
-
-      You may distribute the Executable form of the Covered
-      Software under the terms of this License or under the terms
-      of a license of Your choice, which may contain terms
-      different from this License, provided that You are in
-      compliance with the terms of this License and that the
-      license for the Executable form does not attempt to limit
-      or alter the recipientÕs rights in the Source Code form
-      from the rights set forth in this License. If You
-      distribute the Covered Software in Executable form under a
-      different license, You must make it absolutely clear that
-      any terms which differ from this License are offered by You
-      alone, not by the Initial Developer or Contributor. You
-      hereby agree to indemnify the Initial Developer and every
-      Contributor for any liability incurred by the Initial
-      Developer or such Contributor as a result of any such terms
-      You offer.
-
-      3.6. Larger Works.
-
-      You may create a Larger Work by combining Covered Software
-      with other code not governed by the terms of this License
-      and distribute the Larger Work as a single product. In such
-      a case, You must make sure the requirements of this License
-      are fulfilled for the Covered Software. 
-      
-4. Versions of the License. 
-
-      4.1. New Versions.
-
-      Sun Microsystems, Inc. is the initial license steward and
-      may publish revised and/or new versions of this License
-      from time to time. Each version will be given a
-      distinguishing version number. Except as provided in
-      Section 4.3, no one other than the license steward has the
-      right to modify this License. 
-
-      4.2. Effect of New Versions.
-
-      You may always continue to use, distribute or otherwise
-      make the Covered Software available under the terms of the
-      version of the License under which You originally received
-      the Covered Software. If the Initial Developer includes a
-      notice in the Original Software prohibiting it from being
-      distributed or otherwise made available under any
-      subsequent version of the License, You must distribute and
-      make the Covered Software available under the terms of the
-      version of the License under which You originally received
-      the Covered Software. Otherwise, You may also choose to
-      use, distribute or otherwise make the Covered Software
-      available under the terms of any subsequent version of the
-      License published by the license steward. 
-
-      4.3. Modified Versions.
-
-      When You are an Initial Developer and You want to create a
-      new license for Your Original Software, You may create and
-      use a modified version of this License if You: (a) rename
-      the license and remove any references to the name of the
-      license steward (except to note that the license differs
-      from this License); and (b) otherwise make it clear that
-      the license contains terms which differ from this License.
-      
-
-5. DISCLAIMER OF WARRANTY.
-
-COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS"
-BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
-INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
-SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR
-PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND
-PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY
-COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
-INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF
-ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF
-WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
-ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
-DISCLAIMER. 
-
-6. TERMINATION. 
-
-      6.1. This License and the rights granted hereunder will
-      terminate automatically if You fail to comply with terms
-      herein and fail to cure such breach within 30 days of
-      becoming aware of the breach. Provisions which, by their
-      nature, must remain in effect beyond the termination of
-      this License shall survive.
-
-      6.2. If You assert a patent infringement claim (excluding
-      declaratory judgment actions) against Initial Developer or
-      a Contributor (the Initial Developer or Contributor against
-      whom You assert such claim is referred to as "Participant")
-      alleging that the Participant Software (meaning the
-      Contributor Version where the Participant is a Contributor
-      or the Original Software where the Participant is the
-      Initial Developer) directly or indirectly infringes any
-      patent, then any and all rights granted directly or
-      indirectly to You by such Participant, the Initial
-      Developer (if the Initial Developer is not the Participant)
-      and all Contributors under Sections 2.1 and/or 2.2 of this
-      License shall, upon 60 days notice from Participant
-      terminate prospectively and automatically at the expiration
-      of such 60 day notice period, unless if within such 60 day
-      period You withdraw Your claim with respect to the
-      Participant Software against such Participant either
-      unilaterally or pursuant to a written agreement with
-      Participant.
-
-      6.3. In the event of termination under Sections 6.1 or 6.2
-      above, all end user licenses that have been validly granted
-      by You or any distributor hereunder prior to termination
-      (excluding licenses granted to You by any distributor)
-      shall survive termination.
-
-7. LIMITATION OF LIABILITY.
-
-UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
-INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
-COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE
-LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
-CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
-LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK
-STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
-COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
-INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
-LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
-INJURY RESULTING FROM SUCH PARTYÕS NEGLIGENCE TO THE EXTENT
-APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
-NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
-CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT
-APPLY TO YOU.
-
-8. U.S. GOVERNMENT END USERS.
-
-The Covered Software is a "commercial item," as that term is
-defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial
-computer software" (as that term is defined at 48 C.F.R. ¤
-252.227-7014(a)(1)) and "commercial computer software
-documentation" as such terms are used in 48 C.F.R. 12.212 (Sept.
-1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
-through 227.7202-4 (June 1995), all U.S. Government End Users
-acquire Covered Software with only those rights set forth herein.
-This U.S. Government Rights clause is in lieu of, and supersedes,
-any other FAR, DFAR, or other clause or provision that addresses
-Government rights in computer software under this License.
-
-9. MISCELLANEOUS.
-
-This License represents the complete agreement concerning subject
-matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed only to the
-extent necessary to make it enforceable. This License shall be
-governed by the law of the jurisdiction specified in a notice
-contained within the Original Software (except to the extent
-applicable law, if any, provides otherwise), excluding such
-jurisdictionÕs conflict-of-law provisions. Any litigation
-relating to this License shall be subject to the jurisdiction of
-the courts located in the jurisdiction and venue specified in a
-notice contained within the Original Software, with the losing
-party responsible for costs, including, without limitation, court
-costs and reasonable attorneysÕ fees and expenses. The
-application of the United Nations Convention on Contracts for the
-International Sale of Goods is expressly excluded. Any law or
-regulation which provides that the language of a contract shall
-be construed against the drafter shall not apply to this License.
-You agree that You alone are responsible for compliance with the
-United States export administration regulations (and the export
-control laws and regulation of any other countries) when You use,
-distribute or otherwise make available any Covered Software.
-
-10. RESPONSIBILITY FOR CLAIMS.
-
-As between Initial Developer and the Contributors, each party is
-responsible for claims and damages arising, directly or
-indirectly, out of its utilization of rights under this License
-and You agree to work with Initial Developer and Contributors to
-distribute such responsibility on an equitable basis. Nothing
-herein is intended or shall be deemed to constitute any admission
-of liability.
-
-
-=========================================================================
-== JAXWS License                                                        ==
-=========================================================================
-
-COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
-
-1. Definitions.
-
-      1.1. "Contributor" means each individual or entity that
-      creates or contributes to the creation of Modifications.
-
-      1.2. "Contributor Version" means the combination of the
-      Original Software, prior Modifications used by a
-      Contributor (if any), and the Modifications made by that
-      particular Contributor.
-
-      1.3. "Covered Software" means (a) the Original Software, or
-      (b) Modifications, or (c) the combination of files
-      containing Original Software with files containing
-      Modifications, in each case including portions thereof.
-
-      1.4. "Executable" means the Covered Software in any form
-      other than Source Code. 
-
-      1.5. "Initial Developer" means the individual or entity
-      that first makes Original Software available under this
-      License. 
-      
-      1.6. "Larger Work" means a work which combines Covered
-      Software or portions thereof with code not governed by the
-      terms of this License.
-
-      1.7. "License" means this document.
-
-      1.8. "Licensable" means having the right to grant, to the
-      maximum extent possible, whether at the time of the initial
-      grant or subsequently acquired, any and all of the rights
-      conveyed herein.
-      
-      1.9. "Modifications" means the Source Code and Executable
-      form of any of the following: 
-
-            A. Any file that results from an addition to,
-            deletion from or modification of the contents of a
-            file containing Original Software or previous
-            Modifications; 
-
-            B. Any new file that contains any part of the
-            Original Software or previous Modification; or 
-
-            C. Any new file that is contributed or otherwise made
-            available under the terms of this License.
-
-      1.10. "Original Software" means the Source Code and
-      Executable form of computer software code that is
-      originally released under this License. 
-
-      1.11. "Patent Claims" means any patent claim(s), now owned
-      or hereafter acquired, including without limitation,
-      method, process, and apparatus claims, in any patent
-      Licensable by grantor. 
-
-      1.12. "Source Code" means (a) the common form of computer
-      software code in which modifications are made and (b)
-      associated documentation included in or with such code.
-
-      1.13. "You" (or "Your") means an individual or a legal
-      entity exercising rights under, and complying with all of
-      the terms of, this License. For legal entities, "You"
-      includes any entity which controls, is controlled by, or is
-      under common control with You. For purposes of this
-      definition, "control" means (a) the power, direct or
-      indirect, to cause the direction or management of such
-      entity, whether by contract or otherwise, or (b) ownership
-      of more than fifty percent (50%) of the outstanding shares
-      or beneficial ownership of such entity.
-
-2. License Grants. 
-
-      2.1. The Initial Developer Grant.
-
-      Conditioned upon Your compliance with Section 3.1 below and
-      subject to third party intellectual property claims, the
-      Initial Developer hereby grants You a world-wide,
-      royalty-free, non-exclusive license: 
-
-            (a) under intellectual property rights (other than
-            patent or trademark) Licensable by Initial Developer,
-            to use, reproduce, modify, display, perform,
-            sublicense and distribute the Original Software (or
-            portions thereof), with or without Modifications,
-            and/or as part of a Larger Work; and 
-
-            (b) under Patent Claims infringed by the making,
-            using or selling of Original Software, to make, have
-            made, use, practice, sell, and offer for sale, and/or
-            otherwise dispose of the Original Software (or
-            portions thereof). 
-
-            (c) The licenses granted in Sections 2.1(a) and (b)
-            are effective on the date Initial Developer first
-            distributes or otherwise makes the Original Software
-            available to a third party under the terms of this
-            License. 
-
-            (d) Notwithstanding Section 2.1(b) above, no patent
-            license is granted: (1) for code that You delete from
-            the Original Software, or (2) for infringements
-            caused by: (i) the modification of the Original
-            Software, or (ii) the combination of the Original
-            Software with other software or devices. 
-
-      2.2. Contributor Grant.
-
-      Conditioned upon Your compliance with Section 3.1 below and
-      subject to third party intellectual property claims, each
-      Contributor hereby grants You a world-wide, royalty-free,
-      non-exclusive license:
-
-            (a) under intellectual property rights (other than
-            patent or trademark) Licensable by Contributor to
-            use, reproduce, modify, display, perform, sublicense
-            and distribute the Modifications created by such
-            Contributor (or portions thereof), either on an
-            unmodified basis, with other Modifications, as
-            Covered Software and/or as part of a Larger Work; and
-            
-
-            (b) under Patent Claims infringed by the making,
-            using, or selling of Modifications made by that
-            Contributor either alone and/or in combination with
-            its Contributor Version (or portions of such
-            combination), to make, use, sell, offer for sale,
-            have made, and/or otherwise dispose of: (1)
-            Modifications made by that Contributor (or portions
-            thereof); and (2) the combination of Modifications
-            made by that Contributor with its Contributor Version
-            (or portions of such combination). 
-
-            (c) The licenses granted in Sections 2.2(a) and
-            2.2(b) are effective on the date Contributor first
-            distributes or otherwise makes the Modifications
-            available to a third party. 
-
-            (d) Notwithstanding Section 2.2(b) above, no patent
-            license is granted: (1) for any code that Contributor
-            has deleted from the Contributor Version; (2) for
-            infringements caused by: (i) third party
-            modifications of Contributor Version, or (ii) the
-            combination of Modifications made by that Contributor
-            with other software (except as part of the
-            Contributor Version) or other devices; or (3) under
-            Patent Claims infringed by Covered Software in the
-            absence of Modifications made by that Contributor. 
-
-3. Distribution Obligations.
-
-      3.1. Availability of Source Code.
-
-      Any Covered Software that You distribute or otherwise make
-      available in Executable form must also be made available in
-      Source Code form and that Source Code form must be
-      distributed only under the terms of this License. You must
-      include a copy of this License with every copy of the
-      Source Code form of the Covered Software You distribute or
-      otherwise make available. You must inform recipients of any
-      such Covered Software in Executable form as to how they can
-      obtain such Covered Software in Source Code form in a
-      reasonable manner on or through a medium customarily used
-      for software exchange.
-
-      3.2. Modifications.
-
-      The Modifications that You create or to which You
-      contribute are governed by the terms of this License. You
-      represent that You believe Your Modifications are Your
-      original creation(s) and/or You have sufficient rights to
-      grant the rights conveyed by this License.
-
-      3.3. Required Notices.
-
-      You must include a notice in each of Your Modifications
-      that identifies You as the Contributor of the Modification.
-      You may not remove or alter any copyright, patent or
-      trademark notices contained within the Covered Software, or
-      any notices of licensing or any descriptive text giving
-      attribution to any Contributor or the Initial Developer.
-
-      3.4. Application of Additional Terms.
-
-      You may not offer or impose any terms on any Covered
-      Software in Source Code form that alters or restricts the
-      applicable version of this License or the recipientsÕ
-      rights hereunder. You may choose to offer, and to charge a
-      fee for, warranty, support, indemnity or liability
-      obligations to one or more recipients of Covered Software.
-      However, you may do so only on Your own behalf, and not on
-      behalf of the Initial Developer or any Contributor. You
-      must make it absolutely clear that any such warranty,
-      support, indemnity or liability obligation is offered by
-      You alone, and You hereby agree to indemnify the Initial
-      Developer and every Contributor for any liability incurred
-      by the Initial Developer or such Contributor as a result of
-      warranty, support, indemnity or liability terms You offer.
-    
-
-      3.5. Distribution of Executable Versions.
-
-      You may distribute the Executable form of the Covered
-      Software under the terms of this License or under the terms
-      of a license of Your choice, which may contain terms
-      different from this License, provided that You are in
-      compliance with the terms of this License and that the
-      license for the Executable form does not attempt to limit
-      or alter the recipientÕs rights in the Source Code form
-      from the rights set forth in this License. If You
-      distribute the Covered Software in Executable form under a
-      different license, You must make it absolutely clear that
-      any terms which differ from this License are offered by You
-      alone, not by the Initial Developer or Contributor. You
-      hereby agree to indemnify the Initial Developer and every
-      Contributor for any liability incurred by the Initial
-      Developer or such Contributor as a result of any such terms
-      You offer.
-
-      3.6. Larger Works.
-
-      You may create a Larger Work by combining Covered Software
-      with other code not governed by the terms of this License
-      and distribute the Larger Work as a single product. In such
-      a case, You must make sure the requirements of this License
-      are fulfilled for the Covered Software. 
-      
-4. Versions of the License. 
-
-      4.1. New Versions.
-
-      Sun Microsystems, Inc. is the initial license steward and
-      may publish revised and/or new versions of this License
-      from time to time. Each version will be given a
-      distinguishing version number. Except as provided in
-      Section 4.3, no one other than the license steward has the
-      right to modify this License. 
-
-      4.2. Effect of New Versions.
-
-      You may always continue to use, distribute or otherwise
-      make the Covered Software available under the terms of the
-      version of the License under which You originally received
-      the Covered Software. If the Initial Developer includes a
-      notice in the Original Software prohibiting it from being
-      distributed or otherwise made available under any
-      subsequent version of the License, You must distribute and
-      make the Covered Software available under the terms of the
-      version of the License under which You originally received
-      the Covered Software. Otherwise, You may also choose to
-      use, distribute or otherwise make the Covered Software
-      available under the terms of any subsequent version of the
-      License published by the license steward. 
-
-      4.3. Modified Versions.
-
-      When You are an Initial Developer and You want to create a
-      new license for Your Original Software, You may create and
-      use a modified version of this License if You: (a) rename
-      the license and remove any references to the name of the
-      license steward (except to note that the license differs
-      from this License); and (b) otherwise make it clear that
-      the license contains terms which differ from this License.
-      
-
-5. DISCLAIMER OF WARRANTY.
-
-COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS"
-BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
-INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
-SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR
-PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND
-PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY
-COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
-INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF
-ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF
-WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
-ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
-DISCLAIMER. 
-
-6. TERMINATION. 
-
-      6.1. This License and the rights granted hereunder will
-      terminate automatically if You fail to comply with terms
-      herein and fail to cure such breach within 30 days of
-      becoming aware of the breach. Provisions which, by their
-      nature, must remain in effect beyond the termination of
-      this License shall survive.
-
-      6.2. If You assert a patent infringement claim (excluding
-      declaratory judgment actions) against Initial Developer or
-      a Contributor (the Initial Developer or Contributor against
-      whom You assert such claim is referred to as "Participant")
-      alleging that the Participant Software (meaning the
-      Contributor Version where the Participant is a Contributor
-      or the Original Software where the Participant is the
-      Initial Developer) directly or indirectly infringes any
-      patent, then any and all rights granted directly or
-      indirectly to You by such Participant, the Initial
-      Developer (if the Initial Developer is not the Participant)
-      and all Contributors under Sections 2.1 and/or 2.2 of this
-      License shall, upon 60 days notice from Participant
-      terminate prospectively and automatically at the expiration
-      of such 60 day notice period, unless if within such 60 day
-      period You withdraw Your claim with respect to the
-      Participant Software against such Participant either
-      unilaterally or pursuant to a written agreement with
-      Participant.
-
-      6.3. In the event of termination under Sections 6.1 or 6.2
-      above, all end user licenses that have been validly granted
-      by You or any distributor hereunder prior to termination
-      (excluding licenses granted to You by any distributor)
-      shall survive termination.
-
-7. LIMITATION OF LIABILITY.
-
-UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
-INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
-COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE
-LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
-CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
-LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK
-STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
-COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
-INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
-LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
-INJURY RESULTING FROM SUCH PARTYÕS NEGLIGENCE TO THE EXTENT
-APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
-NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
-CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT
-APPLY TO YOU.
-
-8. U.S. GOVERNMENT END USERS.
-
-The Covered Software is a "commercial item," as that term is
-defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial
-computer software" (as that term is defined at 48 C.F.R. ¤
-252.227-7014(a)(1)) and "commercial computer software
-documentation" as such terms are used in 48 C.F.R. 12.212 (Sept.
-1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
-through 227.7202-4 (June 1995), all U.S. Government End Users
-acquire Covered Software with only those rights set forth herein.
-This U.S. Government Rights clause is in lieu of, and supersedes,
-any other FAR, DFAR, or other clause or provision that addresses
-Government rights in computer software under this License.
-
-9. MISCELLANEOUS.
-
-This License represents the complete agreement concerning subject
-matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed only to the
-extent necessary to make it enforceable. This License shall be
-governed by the law of the jurisdiction specified in a notice
-contained within the Original Software (except to the extent
-applicable law, if any, provides otherwise), excluding such
-jurisdictionÕs conflict-of-law provisions. Any litigation
-relating to this License shall be subject to the jurisdiction of
-the courts located in the jurisdiction and venue specified in a
-notice contained within the Original Software, with the losing
-party responsible for costs, including, without limitation, court
-costs and reasonable attorneysÕ fees and expenses. The
-application of the United Nations Convention on Contracts for the
-International Sale of Goods is expressly excluded. Any law or
-regulation which provides that the language of a contract shall
-be construed against the drafter shall not apply to this License.
-You agree that You alone are responsible for compliance with the
-United States export administration regulations (and the export
-control laws and regulation of any other countries) when You use,
-distribute or otherwise make available any Covered Software.
-
-10. RESPONSIBILITY FOR CLAIMS.
-
-As between Initial Developer and the Contributors, each party is
-responsible for claims and damages arising, directly or
-indirectly, out of its utilization of rights under this License
-and You agree to work with Initial Developer and Contributors to
-distribute such responsibility on an equitable basis. Nothing
-herein is intended or shall be deemed to constitute any admission
-of liability.
-
-
-
-=========================================================================
-== Jaxen License                                                       ==
-=========================================================================
-
-/*
- $Id: LICENSE.txt,v 1.5 2006/02/05 21:49:04 elharo Exp $
-
- Copyright 2003-2006 The Werken Company. All Rights Reserved.
- 
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are
- met:
-
-  * Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
-
-  * Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
-
-  * Neither the name of the Jaxen Project nor the names of its
-    contributors may be used to endorse or promote products derived 
-    from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- */
-
-
-=========================================================================
-== JDom License                                                        ==
-=========================================================================
-
-/*-- 
-
- $Id: LICENSE.txt,v 1.11 2004/02/06 09:32:57 jhunter Exp $
-
- Copyright (C) 2000-2004 Jason Hunter & Brett McLaughlin.
- All rights reserved.
- 
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 
- 1. Redistributions of source code must retain the above copyright
-    notice, this list of conditions, and the following disclaimer.
- 
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions, and the disclaimer that follows 
-    these conditions in the documentation and/or other materials 
-    provided with the distribution.
-
- 3. The name "JDOM" must not be used to endorse or promote products
-    derived from this software without prior written permission.  For
-    written permission, please contact <request_AT_jdom_DOT_org>.
- 
- 4. Products derived from this software may not be called "JDOM", nor
-    may "JDOM" appear in their name, without prior written permission
-    from the JDOM Project Management <request_AT_jdom_DOT_org>.
- 
- In addition, we request (but do not require) that you include in the 
- end-user documentation provided with the redistribution and/or in the 
- software itself an acknowledgement equivalent to the following:
-     "This product includes software developed by the
-      JDOM Project (http://www.jdom.org/)."
- Alternatively, the acknowledgment may be graphical using the logos 
- available at http://www.jdom.org/images/logos.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED.  IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-
- This software consists of voluntary contributions made by many 
- individuals on behalf of the JDOM Project and was originally 
- created by Jason Hunter <jhunter_AT_jdom_DOT_org> and
- Brett McLaughlin <brett_AT_jdom_DOT_org>.  For more information
- on the JDOM Project, please see <http://www.jdom.org/>. 
-
- */
-
-=========================================================================
-== MSV License                                                         ==
-=========================================================================
-
-Copyright (c) 2001-2005 Sun Microsystems, Inc. All Rights Reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are
- met:
-
- - Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- - Redistribution in binary form must reproduct the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- Neither the name of Sun Microsystems, Inc. or the names of
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
-
- This software is provided "AS IS," without a warranty of any kind. ALL
- EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
- INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
- PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND
- ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES OR LIABILITIES
- SUFFERED BY LICENSEE AS A RESULT OF OR RELATING TO USE, MODIFICATION
- OR DISTRIBUTION OF THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL
- SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA,
- OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR
- PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF
- LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE,
- EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
- You acknowledge that Software is not designed,licensed or intended for
- use in the design, construction, operation or maintenance of any
- nuclear facility.   
-       
-=========================================================================
-==  Saxon License                                                      ==
-=========================================================================
-
-                           MOZILLA PUBLIC LICENSE
-                                Version 1.0
-
-                              ----------------
-
-1. Definitions.
-
-     1.1. ``Contributor'' means each entity that creates or contributes to
-     the creation of Modifications.
-
-     1.2. ``Contributor Version'' means the combination of the Original
-     Code, prior Modifications used by a Contributor, and the Modifications
-     made by that particular Contributor.
-
-     1.3. ``Covered Code'' means the Original Code or Modifications or the
-     combination of the Original Code and Modifications, in each case
-     including portions thereof.
-
-     1.4. ``Electronic Distribution Mechanism'' means a mechanism generally
-     accepted in the software development community for the electronic
-     transfer of data.
-
-     1.5. ``Executable'' means Covered Code in any form other than Source
-     Code.
-
-     1.6. ``Initial Developer'' means the individual or entity identified as
-     the Initial Developer in the Source Code notice required by Exhibit A.
-
-     1.7. ``Larger Work'' means a work which combines Covered Code or
-     portions thereof with code not governed by the terms of this License.
-
-     1.8. ``License'' means this document.
-
-     1.9. ``Modifications'' means any addition to or deletion from the
-     substance or structure of either the Original Code or any previous
-     Modifications. When Covered Code is released as a series of files, a
-     Modification is:
-
-          A. Any addition to or deletion from the contents of a file
-          containing Original Code or previous Modifications.
-
-          B. Any new file that contains any part of the Original Code or
-          previous Modifications.
-
-     1.10. ``Original Code'' means Source Code of computer software code
-     which is described in the Source Code notice required by Exhibit A as
-     Original Code, and which, at the time of its release under this License
-     is not already Covered Code governed by this License.
-
-     1.11. ``Source Code'' means the preferred form of the Covered Code for
-     making modifications to it, including all modules it contains, plus any
-     associated interface definition files, scripts used to control
-     compilation and installation of an Executable, or a list of source code
-     differential comparisons against either the Original Code or another
-     well known, available Covered Code of the Contributor's choice. The
-     Source Code can be in a compressed or archival form, provided the
-     appropriate decompression or de-archiving software is widely available
-     for no charge.
-
-     1.12. ``You'' means an individual or a legal entity exercising rights
-     under, and complying with all of the terms of, this License or a future
-     version of this License issued under Section 6.1. For legal entities,
-     ``You'' includes any entity which controls, is controlled by, or is
-     under common control with You. For purposes of this definition,
-     ``control'' means (a) the power, direct or indirect, to cause the
-     direction or management of such entity, whether by contract or
-     otherwise, or (b) ownership of fifty percent (50%) or more of the
-     outstanding shares or beneficial ownership of such entity.
-
-2. Source Code License.
-
-     2.1. The Initial Developer Grant.
-     The Initial Developer hereby grants You a world-wide, royalty-free,
-     non-exclusive license, subject to third party intellectual property
-     claims:
-
-          (a) to use, reproduce, modify, display, perform, sublicense and
-          distribute the Original Code (or portions thereof) with or without
-          Modifications, or as part of a Larger Work; and
-
-          (b) under patents now or hereafter owned or controlled by Initial
-          Developer, to make, have made, use and sell (``Utilize'') the
-          Original Code (or portions thereof), but solely to the extent that
-          any such patent is reasonably necessary to enable You to Utilize
-          the Original Code (or portions thereof) and not to any greater
-          extent that may be necessary to Utilize further Modifications or
-          combinations.
-
-     2.2. Contributor Grant.
-     Each Contributor hereby grants You a world-wide, royalty-free,
-     non-exclusive license, subject to third party intellectual property
-     claims:
-
-          (a) to use, reproduce, modify, display, perform, sublicense and
-          distribute the Modifications created by such Contributor (or
-          portions thereof) either on an unmodified basis, with other
-          Modifications, as Covered Code or as part of a Larger Work; and
-
-          (b) under patents now or hereafter owned or controlled by
-          Contributor, to Utilize the Contributor Version (or portions
-          thereof), but solely to the extent that any such patent is
-          reasonably necessary to enable You to Utilize the Contributor
-          Version (or portions thereof), and not to any greater extent that
-          may be necessary to Utilize further Modifications or combinations.
-
-3. Distribution Obligations.
-
-     3.1. Application of License.
-     The Modifications which You create or to which You contribute are
-     governed by the terms of this License, including without limitation
-     Section 2.2. The Source Code version of Covered Code may be distributed
-     only under the terms of this License or a future version of this
-     License released under Section 6.1, and You must include a copy of this
-     License with every copy of the Source Code You distribute. You may not
-     offer or impose any terms on any Source Code version that alters or
-     restricts the applicable version of this License or the recipients'
-     rights hereunder. However, You may include an additional document
-     offering the additional rights described in Section 3.5.
-
-     3.2. Availability of Source Code.
-     Any Modification which You create or to which You contribute must be
-     made available in Source Code form under the terms of this License
-     either on the same media as an Executable version or via an accepted
-     Electronic Distribution Mechanism to anyone to whom you made an
-     Executable version available; and if made available via Electronic
-     Distribution Mechanism, must remain available for at least twelve (12)
-     months after the date it initially became available, or at least six
-     (6) months after a subsequent version of that particular Modification
-     has been made available to such recipients. You are responsible for
-     ensuring that the Source Code version remains available even if the
-     Electronic Distribution Mechanism is maintained by a third party.
-
-     3.3. Description of Modifications.
-     You must cause all Covered Code to which you contribute to contain a
-     file documenting the changes You made to create that Covered Code and
-     the date of any change. You must include a prominent statement that the
-     Modification is derived, directly or indirectly, from Original Code
-     provided by the Initial Developer and including the name of the Initial
-     Developer in (a) the Source Code, and (b) in any notice in an
-     Executable version or related documentation in which You describe the
-     origin or ownership of the Covered Code.
-
-     3.4. Intellectual Property Matters
-
-          (a) Third Party Claims.
-          If You have knowledge that a party claims an intellectual property
-          right in particular functionality or code (or its utilization
-          under this License), you must include a text file with the source
-          code distribution titled ``LEGAL'' which describes the claim and
-          the party making the claim in sufficient detail that a recipient
-          will know whom to contact. If you obtain such knowledge after You
-          make Your Modification available as described in Section 3.2, You
-          shall promptly modify the LEGAL file in all copies You make
-          available thereafter and shall take other steps (such as notifying
-          appropriate mailing lists or newsgroups) reasonably calculated to
-          inform those who received the Covered Code that new knowledge has
-          been obtained.
-
-          (b) Contributor APIs.
-          If Your Modification is an application programming interface and
-          You own or control patents which are reasonably necessary to
-          implement that API, you must also include this information in the
-          LEGAL file.
-
-     3.5. Required Notices.
-     You must duplicate the notice in Exhibit A in each file of the Source
-     Code, and this License in any documentation for the Source Code, where
-     You describe recipients' rights relating to Covered Code. If You
-     created one or more Modification(s), You may add your name as a
-     Contributor to the notice described in Exhibit A. If it is not possible
-     to put such notice in a particular Source Code file due to its
-     structure, then you must include such notice in a location (such as a
-     relevant directory file) where a user would be likely to look for such
-     a notice. You may choose to offer, and to charge a fee for, warranty,
-     support, indemnity or liability obligations to one or more recipients
-     of Covered Code. However, You may do so only on Your own behalf, and
-     not on behalf of the Initial Developer or any Contributor. You must
-     make it absolutely clear than any such warranty, support, indemnity or
-     liability obligation is offered by You alone, and You hereby agree to
-     indemnify the Initial Developer and every Contributor for any liability
-     incurred by the Initial Developer or such Contributor as a result of
-     warranty, support, indemnity or liability terms You offer.
-
-     3.6. Distribution of Executable Versions.
-     You may distribute Covered Code in Executable form only if the
-     requirements of Section 3.1-3.5 have been met for that Covered Code,
-     and if You include a notice stating that the Source Code version of the
-     Covered Code is available under the terms of this License, including a
-     description of how and where You have fulfilled the obligations of
-     Section 3.2. The notice must be conspicuously included in any notice in
-     an Executable version, related documentation or collateral in which You
-     describe recipients' rights relating to the Covered Code. You may
-     distribute the Executable version of Covered Code under a license of
-     Your choice, which may contain terms different from this License,
-     provided that You are in compliance with the terms of this License and
-     that the license for the Executable version does not attempt to limit
-     or alter the recipient's rights in the Source Code version from the
-     rights set forth in this License. If You distribute the Executable
-     version under a different license You must make it absolutely clear
-     that any terms which differ from this License are offered by You alone,
-     not by the Initial Developer or any Contributor. You hereby agree to
-     indemnify the Initial Developer and every Contributor for any liability
-     incurred by the Initial Developer or such Contributor as a result of
-     any such terms You offer.
-
-     3.7. Larger Works.
-     You may create a Larger Work by combining Covered Code with other code
-     not governed by the terms of this License and distribute the Larger
-     Work as a single product. In such a case, You must make sure the
-     requirements of this License are fulfilled for the Covered Code.
-
-4. Inability to Comply Due to Statute or Regulation.
-
-     If it is impossible for You to comply with any of the terms of this
-     License with respect to some or all of the Covered Code due to statute
-     or regulation then You must: (a) comply with the terms of this License
-     to the maximum extent possible; and (b) describe the limitations and
-     the code they affect. Such description must be included in the LEGAL
-     file described in Section 3.4 and must be included with all
-     distributions of the Source Code. Except to the extent prohibited by
-     statute or regulation, such description must be sufficiently detailed
-     for a recipient of ordinary skill to be able to understand it.
-
-5. Application of this License.
-
-     This License applies to code to which the Initial Developer has
-     attached the notice in Exhibit A, and to related Covered Code.
-
-6. Versions of the License.
-
-     6.1. New Versions.
-     Netscape Communications Corporation (``Netscape'') may publish revised
-     and/or new versions of the License from time to time. Each version will
-     be given a distinguishing version number.
-
-     6.2. Effect of New Versions.
-     Once Covered Code has been published under a particular version of the
-     License, You may always continue to use it under the terms of that
-     version. You may also choose to use such Covered Code under the terms
-     of any subsequent version of the License published by Netscape. No one
-     other than Netscape has the right to modify the terms applicable to
-     Covered Code created under this License.
-
-     6.3. Derivative Works.
-     If you create or use a modified version of this License (which you may
-     only do in order to apply it to code which is not already Covered Code
-     governed by this License), you must (a) rename Your license so that the
-     phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or
-     any confusingly similar phrase do not appear anywhere in your license
-     and (b) otherwise make it clear that your version of the license
-     contains terms which differ from the Mozilla Public License and
-     Netscape Public License. (Filling in the name of the Initial Developer,
-     Original Code or Contributor in the notice described in Exhibit A shall
-     not of themselves be deemed to be modifications of this License.)
-
-7. DISCLAIMER OF WARRANTY.
-
-     COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS,
-     WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-     WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
-     DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
-     THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
-     IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
-     YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
-     COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
-     OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
-     ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-8. TERMINATION.
-
-     This License and the rights granted hereunder will terminate
-     automatically if You fail to comply with terms herein and fail to cure
-     such breach within 30 days of becoming aware of the breach. All
-     sublicenses to the Covered Code which are properly granted shall
-     survive any termination of this License. Provisions which, by their
-     nature, must remain in effect beyond the termination of this License
-     shall survive.
-
-9. LIMITATION OF LIABILITY.
-
-     UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-     (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL
-     DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
-     OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER
-     PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
-     OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
-     GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND
-     ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE
-     BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
-     LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
-     RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
-     PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
-     EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT
-     EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-
-10. U.S. GOVERNMENT END USERS.
-
-     The Covered Code is a ``commercial item,'' as that term is defined in
-     48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer
-     software'' and ``commercial computer software documentation,'' as such
-     terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
-     C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
-     all U.S. Government End Users acquire Covered Code with only those
-     rights set forth herein.
-
-11. MISCELLANEOUS.
-
-     This License represents the complete agreement concerning subject
-     matter hereof. If any provision of this License is held to be
-     unenforceable, such provision shall be reformed only to the extent
-     necessary to make it enforceable. This License shall be governed by
-     California law provisions (except to the extent applicable law, if any,
-     provides otherwise), excluding its conflict-of-law provisions. With
-     respect to disputes in which at least one party is a citizen of, or an
-     entity chartered or registered to do business in, the United States of
-     America: (a) unless otherwise agreed in writing, all disputes relating
-     to this License (excepting any dispute relating to intellectual
-     property rights) shall be subject to final and binding arbitration,
-     with the losing party paying all costs of arbitration; (b) any
-     arbitration relating to this Agreement shall be held in Santa Clara
-     County, California, under the auspices of JAMS/EndDispute; and (c) any
-     litigation relating to this Agreement shall be subject to the
-     jurisdiction of the Federal Courts of the Northern District of
-     California, with venue lying in Santa Clara County, California, with
-     the losing party responsible for costs, including without limitation,
-     court costs and reasonable attorneys fees and expenses. The application
-     of the United Nations Convention on Contracts for the International
-     Sale of Goods is expressly excluded. Any law or regulation which
-     provides that the language of a contract shall be construed against the
-     drafter shall not apply to this License.
-
-12. RESPONSIBILITY FOR CLAIMS.
-
-     Except in cases where another Contributor has failed to comply with
-     Section 3.4, You are responsible for damages arising, directly or
-     indirectly, out of Your utilization of rights under this License, based
-     on the number of copies of Covered Code you made available, the
-     revenues you received from utilizing such rights, and other relevant
-     factors. You agree to work with affected parties to distribute
-     responsibility on an equitable basis.
-
-EXHIBIT A.
-
-     ``The contents of this file are subject to the Mozilla Public License
-     Version 1.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.mozilla.org/MPL/
-
-     Software distributed under the License is distributed on an "AS IS"
-     basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
-     License for the specific language governing rights and limitations
-     under the License.
-
-     The Original Code is ______________________________________.
-
-     The Initial Developer of the Original Code is ________________________.
-     Portions created by ______________________ are Copyright (C) ______
-     _______________________. All Rights Reserved.
-
-     Contributor(s): ______________________________________.''
diff --git a/servicemix-build/NOTICE b/servicemix-build/NOTICE
deleted file mode 100644
index a36fecf..0000000
--- a/servicemix-build/NOTICE
+++ /dev/null
@@ -1,198 +0,0 @@
-   =========================================================================

-   ==  NOTICE file for use with the Apache License, Version 2.0,          ==

-   ==  in this case for the Apache ServiceMix distribution.               ==

-   =========================================================================

-

-   This product contains software developed by

-   The Apache Software Foundation (http://www.apache.org/).

-

-

-

-=========================================================================

-==  Bouncy Castle Notice                                               ==

-=========================================================================

-

-This product includes software (the ASN1 codec in the org.apache.geronimo.asn1

-package) which was developed by the Bouncy Castle project. 

-(http://www.bouncycastle.org/) 

-

-     Copyright (c) 2000-2005 The Legion Of The Bouncy Castle (http://www.bouncycastle.org)

-

-

-=========================================================================

-==  Derby Notice                                                       ==

-=========================================================================

-

-Portions of Derby were orginally developed by

-International Business Machines Corporation and are

-licensed to the Apache Software Foundation under the

-"Software Grant and Corporate Contribution License Agreement",

-informally known as the "Derby CLA".

-

-The portion of the functionTests under 'nist' was originally 

-developed by the National Institute of Standards and Technology (NIST), 

-an agency of the United States Department of Commerce, and adapted by

-International Business Machines Corporation in accordance with the NIST

-Software Acknowledgment and Redistribution document at

-http://www.itl.nist.gov/div897/ctg/sql_form.htm

-

-

-=========================================================================

-==  Spring Notice                                                      ==

-=========================================================================

-

-This product includes software developed by

-the Apache Software Foundation (http://www.apache.org).

-

-This product also includes software developed by

-Clinton Begin (http://www.ibatis.com).

-

-The end-user documentation included with a redistribution, if any,

-must include the following acknowledgement:

-

- "This product includes software developed by the Spring Framework

-  Project (http://www.springframework.org)."

-

-Alternately, this acknowledgement may appear in the software itself,

-if and wherever such third-party acknowledgements normally appear.

-

-The names "Spring" and "Spring Framework" must not be used to

-endorse or promote products derived from this software without

-prior written permission. For written permission, please contact

-rod.johnson@interface21.com or juergen.hoeller@interface21.com.

-   

-=========================================================================

-==  MX4J Notice                                                        ==

-=========================================================================

-

-This product includes software developed by the MX4J project 

-(http://sourceforge.net/projects/mx4j).

-

-

-=========================================================================

-==  WSDL4J Notice                                                      ==

-=========================================================================

-

-The Program includes all or portions of the following software which is 

-subject to the Common Public License ("CPL Code").  This software 

-consists of voluntary contributions made by many individuals on behalf of

-the WSDL4J project.

-

-You may download the source version of the WSDL4J component at 

-http://sourceforge.net/projects/wsdl4j

-

-

-=========================================================================

-==  Xerces Notice                                                      ==

-=========================================================================

-

-Portions of this software were originally based on the following:

-  - software copyright (c) 1999, IBM Corporation., http://www.ibm.com.

-  - software copyright (c) 1999, Sun Microsystems., http://www.sun.com.

-  - voluntary contributions made by Paul Eng on behalf of the 

-    Apache Software Foundation that were originally developed at 

-    iClick, Inc., software copyright (c) 1999.

-

-

-=========================================================================

-==  XmlBeans Notice                                                    ==

-=========================================================================

-

-Portions of this software were originally based on the following:

-  - software copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/>.

-

-Aside from contributions to the Apache XMLBeans project, this

-software also includes:

-

- - one or more source files from the Apache Xerces-J and Apache Axis

-   products, Copyright (c) 1999-2003 Apache Software Foundation

-

- - W3C XML Schema documents Copyright 2001-2003 (c) World Wide Web

-   Consortium (Massachusetts Institute of Technology, European Research

-   Consortium for Informatics and Mathematics, Keio University)

-

- - resolver.jar from Apache Xml Commons project,

-   Copyright (c) 2001-2003 Apache Software Foundation

-

- - Piccolo XML Parser for Java from http://piccolo.sourceforge.net/,

-   Copyright 2002 Yuval Oren under the terms of the Apache Software 

-   License 2.0

-

-

-=========================================================================

-==  XmlSecurity Notice                                                 ==

-=========================================================================

-

-It was originally based on software copyright (c) 2001, Institute for

-Data Communications Systems, <http://www.nue.et-inf.uni-siegen.de/>.

-

-The development of this software was partly funded by the European 

-Commission in the <WebSig> project in the ISIS Programme. 

-

-=========================================================================

-==  OpenSaml Notice                                                    ==

-=========================================================================

-

-We wish to acknowledge the following copyrighted works that make up

-portions of this software:

-

-This product includes software developed by the Apache Software

-Foundation (http://www.apache.org/).

-

-We also thank Tom Scavo for donating the original SAML artifact

-implementation.

-

-

-   This following notices refer to portions of this

-   software.

-

-

-=========================================================================

-==  W3C Notice                                                         ==

-=========================================================================

-

-W3C® DOCUMENT LICENSE

-http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231

-

-Public documents on the W3C site are provided by the copyright holders under the following license. By using and/or copying this document, or the W3C document from which this statement is linked, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:

-

-Permission to copy, and distribute the contents of this document, or the W3C document from which this statement is linked, in any medium for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the document, or portions thereof, that you use:

-

-   1. A link or URL to the original W3C document.

-   2. The pre-existing copyright notice of the original author, or if it doesn't exist, a notice (hypertext is preferred, but a textual representation is permitted) of the form: "Copyright © [$date-of-document] World Wide Web Consortium, (Massachusetts Institute of Technology, European Research Consortium for Informatics and Mathematics, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231"

-   3. If it exists, the STATUS of the W3C document.

-

-When space permits, inclusion of the full text of this NOTICE should be provided. We request that authorship attribution be provided in any software, documents, or other items or products that you create pursuant to the implementation of the contents of this document, or any portion thereof.

-

-No right to create modifications or derivatives of W3C documents is granted pursuant to this license. However, if additional requirements (documented in the Copyright FAQ) are satisfied, the right to create modifications or derivatives is sometimes granted by the W3C to individuals complying with those requirements.

-

-THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

-

-COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF.

-

-The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to this document or its contents without specific, written prior permission. Title to copyright in this document will at all times remain with copyright holders.

-

-----------------------------------------------------------------------------

-

-This formulation of W3C's notice and license became active on December 31 2002. This version removes the copyright ownership notice such that this license can be used with materials other than those owned by the W3C, moves information on style sheets, DTDs, and schemas to the Copyright FAQ, reflects that ERCIM is now a host of the W3C, includes references to this specific dated version of the license, and removes the ambiguous grant of "use". See the older formulation for the policy prior to this date. Please see our Copyright FAQ for common questions about using materials from our site, such as the translating or annotating specifications. Other questions about this notice can be directed to site-policy@w3.org.

-

-Joseph Reagle <site-policy@w3.org>

-

-Last revised $Id: copyright-documents-20021231.html,v 1.6 2004/07/06 16:02:49 slesch Exp $

-

-

-=========================================================================

-==  OASIS Notice                                                       ==

-=========================================================================

-

-OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS's procedures with respect to rights in OASIS specifications can be found at the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification, can be obtained from the OASIS Executive Director.

-

-OASIS invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to implement this specification. Please address the information to the OASIS Executive Director.

-

-Copyright (C) OASIS Open (2004-2005). All Rights Reserved.

-

-This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English. 

-

-The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns. 

-

-This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

diff --git a/servicemix-build/pom.xml b/servicemix-build/pom.xml
deleted file mode 100644
index 7425fea..0000000
--- a/servicemix-build/pom.xml
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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">
-<!--
-
-    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.
--->
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.servicemix.tooling</groupId>
-    <artifactId>maven-plugins-pom</artifactId>
-    <version>3</version>
-    <relativePath>../maven-plugins-pom/pom.xml</relativePath>    
-  </parent>
-  
-  <groupId>org.apache.servicemix</groupId>
-  <artifactId>servicemix-build</artifactId>
-  <version>1.1-SNAPSHOT</version>
-  
-  <packaging>maven-plugin</packaging>
-  <name>Apache ServiceMix :: Plugins :: Build</name>
-  
-  <description>
-      This build plugin has 3 purposes:
-        * legal stuff (notice/lic)
-        * some resources for checkstyle / pmd 
-        * spring.schemas mojo
-    </description>
-  <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/servicemix/maven-plugins/servicemix-build/trunk</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/servicemix/maven-plugins/servicemix-build/trunk</developerConnection>
-    <url>http://svn.apache.org/viewcvs.cgi/servicemix/maven-plugins/servicemix-build/trunk</url>
-  </scm>
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-plugin-api</artifactId>
-      <version>2.0.9</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-project</artifactId>
-      <version>2.0.9</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-archiver</artifactId>
-      <version>2.3</version>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-utils</artifactId>
-      <version>1.5.5</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-script-ant</artifactId>
-      <version>2.0.9</version>
-    </dependency>
-  </dependencies>
-  
-  <build>
-    <plugins>
-      <plugin>
-        <artifactId>maven-antrun-plugin</artifactId>
-        <version>1.1</version>
-        <executions>
-          <execution>
-            <id>legal-files</id>
-            <phase>generate-resources</phase>
-            <configuration>
-              <tasks>
-                <copy file="${basedir}/LICENSE" tofile="${basedir}/target/legal/META-INF/LICENSE"/>
-                <copy file="${basedir}/NOTICE" tofile="${basedir}/target/legal/META-INF/NOTICE"/>
-                <copy file="${basedir}/LICENSE" tofile="${basedir}/target/classes/META-INF/LICENSE"/>
-                <copy file="${basedir}/NOTICE" tofile="${basedir}/target/classes/META-INF/NOTICE"/>
-              </tasks>
-              <sourceRoot>${basedir}/target/legal</sourceRoot>
-            </configuration>
-            <goals>
-              <goal>run</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-
-</project>
diff --git a/servicemix-build/src/main/java/org/apache/servicemix/maven/plugin/legal/LegalMojo.java b/servicemix-build/src/main/java/org/apache/servicemix/maven/plugin/legal/LegalMojo.java
deleted file mode 100644
index f18313b..0000000
--- a/servicemix-build/src/main/java/org/apache/servicemix/maven/plugin/legal/LegalMojo.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.legal;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.util.FileUtils;
-
-/**
- *
- * @goal copy
- * @phase generate-resources
- */
-public class LegalMojo extends AbstractMojo {
-
-    /**
-     * The maven project.
-     * 
-     * @parameter expression="${project}"
-     * @required
-     * @readonly
-     */
-    protected MavenProject project;
-    
-    /**
-     * @parameter
-     */         
-    protected File outputDir;
-
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        try {
-            if (outputDir != null) {
-                copyLegalFiles(outputDir);
-            } else if (project.getPackaging().equals("jar")) {
-                copyLegalFiles(new File(project.getBasedir(), "target/classes/"));
-            } else if (project.getPackaging().equals("maven-plugin")) {
-                copyLegalFiles(new File(project.getBasedir(), "target/classes/"));
-            } else if (project.getPackaging().equals("war")) {
-                copyLegalFiles(new File(project.getBasedir(), "target/" + project.getArtifactId() + "-" + project.getVersion() + "/"));
-            } else if (project.getPackaging().equals("jbi-shared-library")) {
-                copyLegalFiles(new File(project.getBasedir(), "target/classes/"));
-                copyLegalFiles(new File(project.getBasedir(), "target/" + project.getArtifactId() + "-" + project.getVersion() + "-installer/"));
-            } else if (project.getPackaging().equals("jbi-component")) {
-                copyLegalFiles(new File(project.getBasedir(), "target/classes/"));
-                copyLegalFiles(new File(project.getBasedir(), "target/" + project.getArtifactId() + "-" + project.getVersion() + "-installer/"));
-            } else if (project.getPackaging().equals("jbi-service-unit")) {
-                copyLegalFiles(new File(project.getBasedir(), "target/classes/"));
-            } else if (project.getPackaging().equals("jbi-service-assembly")) {
-                copyLegalFiles(new File(project.getBasedir(), "target/classes/"));
-                copyLegalFiles(new File(project.getBasedir(), "target/" + project.getArtifactId() + "-" + project.getVersion() + "-installer/"));
-            }
-        } catch (IOException e) {
-            throw new MojoExecutionException("Unable to copy legal files", e);
-        }
-  	}
-  	
-  	protected void copyLegalFiles(File outputDir) throws IOException {
-        String[] names = { "/META-INF/NOTICE", "/META-INF/LICENSE"};
-        for (int i = 0; i < names.length; i++) {
-            URL res = getClass().getResource(names[i]);
-            FileUtils.copyURLToFile(res, new File(outputDir, names[i]));
-        }
-    }
-
-}
diff --git a/servicemix-build/src/main/java/org/apache/servicemix/maven/plugin/xsd/SpringSchemasMojo.java b/servicemix-build/src/main/java/org/apache/servicemix/maven/plugin/xsd/SpringSchemasMojo.java
deleted file mode 100644
index ea7698c..0000000
--- a/servicemix-build/src/main/java/org/apache/servicemix/maven/plugin/xsd/SpringSchemasMojo.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.xsd;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.project.MavenProject;
-
-/**
- * Mojo to add schema location mapping for earlier versions to the spring.schemas file
- * 
- * @goal spring.schemas
- * @phase process-resources
- */
-public class SpringSchemasMojo extends AbstractMojo {
-
-    /**
-     * Maven project property containing previous releases
-     */
-    private static final String PREVIOUS_RELEASES = "previous.releases";
-
-    /**
-     * Previously released versions of ServiceMix
-     */
-    private String[] previous = {};
-
-    /**
-     * Location URIs
-     */
-    @SuppressWarnings("serial")
-    private List<String> locations = new ArrayList<String>() {
-        @Override
-        public boolean add(String element) {
-            getLog().info("Adding location " + element);
-            return super.add(element);
-        }
-    };
-
-    /**
-     * Name of the XSD file
-     */
-    private String schema;
-
-    /**
-     * A reference to the Maven project
-     * 
-     * @parameter expression="${project}"
-     * @required
-     * @readonly
-     */
-    protected MavenProject project;
-
-    /**
-     * {@inheritDoc}
-     */
-    public void execute() throws MojoExecutionException, MojoFailureException {
-        if (!getSpringSchemas().exists()) {
-            getLog().info("Skipping - spring.schemas file does not exist in " + project.getArtifactId());
-            return;
-        }
-        readOriginalSpringSchemas();
-        getLog().info("Adding spring.schemas entries for earlier versions");
-        if (project.getProperties().containsKey(PREVIOUS_RELEASES)) {
-            previous = ((String) project.getProperties().get(PREVIOUS_RELEASES)).split(",");
-        } else {
-            getLog().warn("No previous version information found");
-            for (Object key : project.getProperties().keySet()) {
-                getLog().info("'" + key.toString() + "'" + " = " + project.getProperties().get(key));
-            }
-        }
-        for (String version : previous) {
-            addVersion(version);
-        }
-        getLog().info("Adding spring.schemas entry for this version");
-        addVersion(project.getVersion());
-        writeNewSpringSchemas();
-    }
-
-    /**
-     * Write the new spring.schemas file
-     * 
-     * @throws MojoExecutionException
-     */
-    private void writeNewSpringSchemas() throws MojoExecutionException {
-        getLog().info("Writing new spring.schemas file");
-        PrintWriter writer = null;
-        try {
-            writer = new PrintWriter(new BufferedWriter(new FileWriter(getSpringSchemas())));
-            for (String location : locations) {
-                writer.println(location + "=" + schema);
-            }
-            writer.flush();
-        } catch (IOException e) {
-            throw new MojoExecutionException("Unable to read spring.schemas file", e);
-        } finally {
-            if (writer != null) {
-                writer.close();
-            }
-        }
-    }
-
-    /**
-     * Read the original spring.schemas file
-     * 
-     * @throws MojoExecutionException
-     */
-    private void readOriginalSpringSchemas() throws MojoExecutionException {
-        getLog().info("Reading information from spring.schemas");
-        BufferedReader reader = null;
-        try {
-            reader = new BufferedReader(new FileReader(getSpringSchemas()));
-            String line = reader.readLine();
-            while (line != null) {
-                //skip any lines that don't contain a mapping
-                if (line.contains("=")) {
-                    String[] info = line.split("=");
-                    if (schema == null) {
-                        getLog().info("Schema name is " + info[1]);
-                        schema = info[1];
-                    }
-                    locations.add(info[0]);
-                }
-                line = reader.readLine();
-            }
-        } catch (FileNotFoundException e) {
-            throw new MojoExecutionException("Unable to read spring.schemas file", e);
-        } catch (IOException e) {
-            throw new MojoExecutionException("Unable to read spring.schemas file", e);
-        } finally {
-            if (reader != null) {
-                try {
-                    reader.close();
-                } catch (IOException e) {
-                    throw new MojoExecutionException("Unable to close file reader", e);
-                }
-            }
-        }
-    }
-
-    /**
-     * @return the spring.schemas file generated by xbean
-     */
-    private File getSpringSchemas() {
-        return new File(project.getBasedir().toString() + File.separatorChar + "target" + File.separatorChar + "classes" + File.separatorChar + "META-INF", "spring.schemas");
-    }
-
-    /**
-     * Add a version of the XSD to the spring.schemas file
-     * 
-     * @param version the version to be added
-     */
-    private void addVersion(String version) {
-        locations.add("http\\://servicemix.apache.org/schema/" + project.getArtifactId() + "-" + version + ".xsd");
-    }
-
-}
diff --git a/servicemix-build/src/main/resources/notice-supplements.xml b/servicemix-build/src/main/resources/notice-supplements.xml
deleted file mode 100644
index cabb5c9..0000000
--- a/servicemix-build/src/main/resources/notice-supplements.xml
+++ /dev/null
@@ -1,282 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<supplementalDataModels>
-  <supplement>
-    <project>
-      <groupId>com.sun.xml.bind</groupId>
-      <artifactId>jaxb-impl</artifactId>
-      <name>Sun JAXB Reference Implementation Runtime</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>com.sun.xml.bind</groupId>
-      <artifactId>jaxb-xjc</artifactId>
-      <name>Sun JAXB Reference Implementation Tools</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>com.sun.xml.messaging.saaj</groupId>
-      <artifactId>saaj-impl</artifactId>
-      <name>Sun SAAJ Reference Implementation</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>javax.xml.soap</groupId>
-      <artifactId>saaj-api</artifactId>
-      <name>Sun SAAJ API</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.apache.neethi</groupId>
-      <artifactId>neethi</artifactId>
-      <name>Neethi</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>javax.xml.ws</groupId>
-      <artifactId>jaxws-api</artifactId>
-      <name>Java API for XML-Based Web Services (JAX-WS API)</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>javax.xml.bind</groupId>
-      <artifactId>jaxb-api</artifactId>
-      <name>Java Architecture for XML Binding (JAXB API)</name>
-      <organization>
-        <name>Sun Microsystems</name>
-        <url>http://www.sun.com/</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
-          <url>http://www.sun.com/cddl/cddl.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>xalan</groupId>
-      <artifactId>xalan</artifactId>
-      <name>Apache Xalan-Java</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>net.java.dev.stax-utils</groupId>
-      <artifactId>stax-utils</artifactId>
-      <name>StAX Utilities</name>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>wss4j</groupId>
-      <artifactId>wss4j</artifactId>
-      <name>Apache WSS4J</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>jdom</groupId>
-      <artifactId>jdom</artifactId>
-      <name>JDOM</name>
-      <organization>
-        <name>jdom.org</name>
-        <url>http://www.jdom.org</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>Modified Apache Software License</name>
-          <url>licenses/jdom.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>xml-security</groupId>
-      <artifactId>xmlsec</artifactId>
-      <name>XML Security</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>xml-apis</groupId>
-      <artifactId>xml-apis</artifactId>
-      <name>XML APIs</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>bouncycastle</groupId>
-      <artifactId>bcprov-jdk14</artifactId>
-      <name>Bouncy Castle Crypto APIs for Java</name>
-      <organization>
-        <name>The Legion of the Bouncy Castle</name>
-        <url>http://www.bouncycastle.org</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>Bouncy Castle License</name>
-          <url>http://www.bouncycastle.org/licence.html</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>ant</groupId>
-      <artifactId>ant</artifactId>
-      <name>Apache Ant</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>ant</groupId>
-      <artifactId>ant-nodeps</artifactId>
-      <name>Apache Ant (nodeps)</name>
-      <organization>
-        <name>The Apache Software Foundation</name>
-        <url>http://www.apache.org</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-  <supplement>
-    <project>
-      <groupId>org.codehaus.jettison</groupId>
-      <artifactId>jettison</artifactId>
-      <name>Jettison</name>
-      <organization>
-        <name>Envoi Solutions LLC</name>
-        <url>http://www.envoisolutions.com</url>
-      </organization>
-      <licenses>
-        <license>
-          <name>The Apache Software License, Version 2.0</name>
-          <url>http://jettison.codehaus.org/License</url>
-        </license>
-      </licenses>
-    </project>
-  </supplement>
-</supplementalDataModels>
diff --git a/servicemix-build/src/main/resources/smx-checkstyle-header.txt b/servicemix-build/src/main/resources/smx-checkstyle-header.txt
deleted file mode 100644
index d885911..0000000
--- a/servicemix-build/src/main/resources/smx-checkstyle-header.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-^/\*$
-^ \* 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.$
-^ \*/$
-^package 
-^$
\ No newline at end of file
diff --git a/servicemix-build/src/main/resources/smx-checkstyle-suppressions.xml b/servicemix-build/src/main/resources/smx-checkstyle-suppressions.xml
deleted file mode 100644
index 9fc11df..0000000
--- a/servicemix-build/src/main/resources/smx-checkstyle-suppressions.xml
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE suppressions PUBLIC
-    "-//Puppy Crawl//DTD Suppressions 1.0//EN"
-    "http://www.puppycrawl.com/dtds/suppressions_1_0.dtd">
-<!--
-  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.
--->
-<suppressions>
-    <suppress checks=".*"
-              files=".+[\\\/]generated[\\\/].+\.java" />
-    <suppress checks="IllegalType"
-              files=".+[\\\/]JbiInvokeAction\.java" />
-    <suppress checks="ThrowsCount"
-              files=".+[\\\/]wsn[\\\/].+|JCAFlow.java" />
-    <suppress checks="ParameterNumber" 
-              files="(GraphArtifactCollector\.java)|(JbiComponentDescriptorWriter.java)" />
-    <suppress checks="ParameterNumber"
-              files=".+[\\\/]JBIContainer\.java" />
-    <suppress checks="InterfaceIsType"
-              files=".+[\\\/]JbiConstants\.java" />
-    <suppress checks="InterfaceIsType"
-              files=".+[\\\/]WSAddressingConstants\.java" />
-	<suppress checks="ExecutableStatementCount"
-        	  files=".+[\\\/]DeploymentTest\.java" />
-	<suppress checks="JavaNCSS"
-        	  files=".+[\\\/]DeploymentTest\.java" />
-	<suppress checks="ExecutableStatementCount"
-        	  files=".+[\\\/]InstallationTest\.java" />
-	<suppress checks="JavaNCSS"
-        	  files=".+[\\\/]InstallationTest\.java" />
-    <suppress checks="LineLength"
-              files=".+[\\\/]DefaultHttpProviderMarshaler\.java"
-              lines="171"/>
-</suppressions>
diff --git a/servicemix-build/src/main/resources/smx-checkstyle.xml b/servicemix-build/src/main/resources/smx-checkstyle.xml
deleted file mode 100644
index 9107244..0000000
--- a/servicemix-build/src/main/resources/smx-checkstyle.xml
+++ /dev/null
@@ -1,286 +0,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.
--->
-<!DOCTYPE module PUBLIC
-    "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
-    "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
-
-<!--
-Checks to make sure the code meets the CXF coding guidelines which 
-are similar to the Sun guidelines at:
-http://java.sun.com/docs/codeconv/index.html
-
-It also enforces aa bunch of other "BestPractices like method
-lengths, if/try depths, etc...
--->
-
-<module name="Checker">
-    <!-- Checks whether files end with a new line.                        -->
-    <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
-    <!--
-    <module name="NewlineAtEndOfFile"/>
-    -->
-
-    <!-- Checks that property files contain the same keys.         -->
-    <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
-    <module name="Translation"/>
-
-    <!--<module name="StrictDuplicateCode"/>-->
-
-    <module name="TreeWalker">
-
-        <!-- Checks for Javadoc comments.                     -->
-        <!-- See http://checkstyle.sf.net/config_javadoc.html -->
-        <!--
-        <module name="PackageHtml"/>
-        <module name="JavadocMethod"/>
-        <module name="JavadocType"/>
-        <module name="JavadocVariable"/>
-        <module name="JavadocStyle"/>
-        -->
-
-
-        <!-- Checks for Naming Conventions.                  -->
-        <!-- See http://checkstyle.sf.net/config_naming.html -->      
-        <module name="ConstantName"/>
-        <module name="LocalFinalVariableName"/>
-        <module name="LocalVariableName"/>
-        <module name="MemberName"/>
-        <module name="MethodName"/>
-        <module name="PackageName"/>
-        <module name="ParameterName"/>
-        <module name="StaticVariableName"/>
-        <module name="TypeName"/>
-        
-        <!-- Header checks -->
-        <module name="RegexpHeader">
-            <property name="headerFile"
-                 value="${checkstyle.header.file}"/>
-        </module>
-
-
-        <!-- Checks for imports                              -->
-        <!-- See http://checkstyle.sf.net/config_import.html -->
-        <module name="AvoidStarImport">
-            <property name="excludes" value="java.io,java.util,java.net,java.nio,java.nio.channels,java.lang.reflect,org.w3c.dom,org.xml.sax,java.awt,javax.swing,junit.framework"/>
-        </module>
-        <module name="IllegalImport"/> <!-- defaults to sun.* packages -->
-        <module name="RedundantImport"/>
-        <module name="UnusedImports"/>
-        <module name="ImportOrder">
-            <property name="groups" value="java,javax,org.w3c,org.xml,junit"/>
-            <property name="ordered" value="true"/>
-        </module>
-        <!--
-        <module name="ImportControl">
-            <property name="file" value="etc/import-control.xml"/>
-        </module>
-        -->
-        
-
-        <!-- Checks for Size Violations.                    -->
-        <!-- See http://checkstyle.sf.net/config_sizes.html -->
-        <module name="AnonInnerLength">
-            <property name="max" value="40"/>
-        </module>
-        <module name="ExecutableStatementCount">
-            <property name="max" value="75"/>
-        </module>
-        <module name="FileLength">
-            <property name="max" value="3000"/>
-	</module>
-        <module name="LineLength">
-            <property name="max" value="140"/>
-        </module>
-        <module name="MethodLength">
-            <property name="max" value="150"/>
-            <property name="countEmpty" value="false"/>
-        </module>
-        <module name="ParameterNumber">
-            <property name="max" value="7"/>
-        </module>
-
-        <!-- Checks for whitespace                               -->
-        <!-- See http://checkstyle.sf.net/config_whitespace.html -->
-        <module name="EmptyForIteratorPad"/>
-        <module name="EmptyForInitializerPad"/>
-        <module name="MethodParamPad"/>
-        <module name="NoWhitespaceAfter">
-            <property name="tokens" value="ARRAY_INIT,BNOT,DEC,DOT,INC,LNOT,UNARY_MINUS,UNARY_PLUS"/>
-        </module>
-        <module name="NoWhitespaceBefore"/>
-        <module name="OperatorWrap"/>
-        <module name="ParenPad"/>
-        <module name="TypecastParenPad"/>
-        <module name="TabCharacter"/>
-        <module name="WhitespaceAfter">
-            <property name="tokens" value="COMMA, SEMI"/>
-        </module>
-        <module name="WhitespaceAround">
-            <property name="tokens" value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN,TYPE_EXTENSION_AND"/>
-        </module>
-      
-
-        <!-- Modifier Checks                                    -->
-        <!-- See http://checkstyle.sf.net/config_modifiers.html -->
-        <module name="ModifierOrder"/>
-        <module name="RedundantModifier"/>
-
-
-        <!-- Checks for blocks. You know, those {}'s         -->
-        <!-- See http://checkstyle.sf.net/config_blocks.html -->
-        <module name="AvoidNestedBlocks">
-            <property name="allowInSwitchCase" value="true"/>
-        </module>
-        <module name="EmptyBlock">
-            <property name="option" value="text"/>
-        </module>
-        <module name="LeftCurly"/>
-        <module name="NeedBraces"/>
-        <module name="RightCurly"/>
-
-
-        <!-- Checks for common coding problems               -->
-        <!-- See http://checkstyle.sf.net/config_coding.html -->
-        <!--<module name="ArrayTrailingComma"/>-->
-        <!--<module name="AvoidInlineConditionals"/>-->
-        <module name="CovariantEquals"/>
-        <module name="DoubleCheckedLocking"/>
-        <module name="EmptyStatement"/>
-        <module name="EqualsHashCode"/>
-        <!--<module name="FinalLocalVariable"/>-->
-        <module name="HiddenField">
-            <property name="ignoreConstructorParameter" value="true"/>
-            <property name="ignoreSetter" value="true"/>
-        </module>
-        <module name="IllegalInstantiation"/>
-        <!--<module name="IllegalToken"/>-->
-        <!--<module name="IllegalTokenText"/>-->
-        <module name="InnerAssignment"/>
-        <!--<module name="MagicNumber"/>-->
-        <module name="MissingSwitchDefault"/>
-        <!--module name="ModifiedControlVariable"/-->
-        <module name="SimplifyBooleanExpression"/>
-        <module name="SimplifyBooleanReturn"/>
-        <module name="StringLiteralEquality"/>
-        <module name="NestedIfDepth">
-            <property name="max" value="3"/>
-        </module>
-        <module name="NestedTryDepth">
-            <property name="max" value="3"/>
-        </module>
-        <module name="SuperClone"/>
-        <module name="SuperFinalize"/>
-        <!--<module name="IllegalCatch"/>-->
-	<module name="IllegalThrows">
-	  <property name="illegalClassNames" value="java.lang.Error,java.lang.RuntimeException"/>
-	</module>
-        <!--<module name="RedundantThrows"/>-->
-        <module name="PackageDeclaration"/>
-        <module name="JUnitTestCase"/>
-        <module name="ReturnCount">
-            <property name="max" value="6"/>
-        </module>
-        
-        <module name="IllegalType">
-            <property name="format" value="^xxx$"/>
-            <property name="illegalClassNames" value="java.util.GregorianCalendar, java.util.Hashtable, java.util.HashSet, java.util.HashMap, java.util.ArrayList, java.util.LinkedList, java.util.LinkedHashMap, java.util.LinkedHashSet, java.util.TreeSet, java.util.TreeMap"/>
-        </module>
-        <module name="DeclarationOrder"/>
-        <!--<module name="ParameterAssignment"/>-->
-        <module name="ExplicitInitialization"/>
-        <module name="DefaultComesLast"/>
-        <!--<module name="MissingCtor"/>-->
-        <module name="FallThrough"/>
-        <!--<module name="MultipleStringLiterals"/>-->
-        <module name="MultipleVariableDeclarations"/>
-        <!--<module name="RequireThis"/>-->
-        <module name="UnnecessaryParentheses"/>
-        
-        
-
-        <!-- Checks for class design                         -->
-        <!-- See http://checkstyle.sf.net/config_design.html -->
-        <!--<module name="DesignForExtension"/>-->
-        <module name="FinalClass"/>
-        <module name="HideUtilityClassConstructor"/>
-        <module name="InterfaceIsType"/>
-        <module name="MutableException"/>
-        <module name="ThrowsCount">
-        	<property name="max" value="5"/>
-        </module>
-        <module name="VisibilityModifier">
-            <property name="protectedAllowed" value="true"/>
-            <property name="packageAllowed" value="true"/>
-			<!-- this is needed for the resource injection unit tests.  It will removed 
-			     when private member inject is supported.
-			-->
-    		<property name="publicMemberPattern" value="resource[12].*"/>
-        </module>
-
-
-
-        <!-- Metrics checks.                   -->
-        <!-- See http://checkstyle.sf.net/config_metrics.html -->
-        <module name="BooleanExpressionComplexity">
-        	<property name="max" value="6"/>
-        </module>
-        <!--<module name="ClassDataAbstractionCoupling"/>-->
-        <!--<module name="ClassFanOutComplexity"/>-->
-        <!--<module name="CyclomaticComplexity"/>-->
-        <!--<module name="NPathComplexity"/>-->
-        <module name="JavaNCSS">
-       		<property name="methodMaximum" value="75"/>
-        </module>
-
-		
-        <!-- Miscellaneous other checks.                   -->
-        <!-- See http://checkstyle.sf.net/config_misc.html -->
-        <!-- 
-        <module name="ArrayTypeStyle"/>
-        <module name="FinalParameters"/>
-        -->
-        <!--
-        <module name="GenericIllegalRegexp">
-            <property name="format" value="\s+$"/>
-            <property name="message" value="Line has trailing spaces."/>
-        </module>
-        -->
-        <module name="TodoComment">
-			<property name="format" value="WARNING"/>
-		</module>
-
-        <module name="UpperEll"/>
-        
-        <!--Assert statement may have side effects:-->
-		<module name="DescendantToken">
-    		<property name="tokens" value="LITERAL_ASSERT"/>
-		    <property name="limitedTokens" value="ASSIGN,DEC,INC,POST_DEC,POST_INC,PLUS_ASSIGN,MINUS_ASSIGN,STAR_ASSIGN,DIV_ASSIGN,MOD_ASSIGN,BSR_ASSIGN,SR_ASSIGN,SL_ASSIGN,BAND_ASSIGN,BXOR_ASSIGN,BOR_ASSIGN"/>
-		    <property name="maximumNumber" value="0"/>
-		</module>
- 
-        <!--<module name="UncommentedMain"/>-->
-        <!--module name="TrailingComment"/-->
-        <module name="Indentation">
-            <property name="caseIndent" value="0"/>
-        </module>
-        <!--<module name="RequiredRegexp">-->
-    </module>
-
-</module>
diff --git a/servicemix-build/src/main/resources/smx-eclipse-checkstyle b/servicemix-build/src/main/resources/smx-eclipse-checkstyle
deleted file mode 100644
index f396e09..0000000
--- a/servicemix-build/src/main/resources/smx-eclipse-checkstyle
+++ /dev/null
@@ -1,26 +0,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.
--->
-<fileset-config file-format-version="1.1.0" simple-config="false">
-    <fileset name="all" enabled="true" check-config-name="CXF Checks" type="external" description="">
-        <file-match-pattern match-pattern="^src[/\\]." include-pattern="true"/>
-        <file-match-pattern match-pattern="^src[/\\]main[/\\]generated[/\\]." include-pattern="false"/>
-        <file-match-pattern match-pattern="^src[/\\]test[/\\]generated[/\\]." include-pattern="false"/>
-    </fileset>
-</fileset-config>
\ No newline at end of file
diff --git a/servicemix-build/src/main/resources/smx-eclipse-code-conventions.xml b/servicemix-build/src/main/resources/smx-eclipse-code-conventions.xml
deleted file mode 100644
index a09d931..0000000
--- a/servicemix-build/src/main/resources/smx-eclipse-code-conventions.xml
+++ /dev/null
@@ -1,268 +0,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.
--->
-<profiles version="10">
-<profile name="smx-eclipse-code-conventions" version="10">
-<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="0"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.format_comments" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="80"/>
-<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
-<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
-<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="80"/>
-<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
-<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>
-<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
-<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
-</profile>
-</profiles>
diff --git a/servicemix-build/src/main/resources/smx-eclipse-pmd b/servicemix-build/src/main/resources/smx-eclipse-pmd
deleted file mode 100644
index f1bd7be..0000000
--- a/servicemix-build/src/main/resources/smx-eclipse-pmd
+++ /dev/null
@@ -1,23 +0,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.
--->
-<pmd>
-    <useProjectRuleSet>true</useProjectRuleSet>
-    <rules/>
-</pmd>
\ No newline at end of file
diff --git a/servicemix-build/src/main/resources/smx-pmd-ruleset.xml b/servicemix-build/src/main/resources/smx-pmd-ruleset.xml
deleted file mode 100644
index 39e3ae5..0000000
--- a/servicemix-build/src/main/resources/smx-pmd-ruleset.xml
+++ /dev/null
@@ -1,190 +0,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.
--->
-<ruleset name="pmd-eclipse">
-    <description>PMD Plugin preferences rule set</description>
-
-
-    <rule ref="rulesets/basic.xml/BooleanInstantiation"/>
-    <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
-    <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
-    <!--<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>-->
-    <!--<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>-->
-    <!--<rule ref="rulesets/basic.xml/EmptyIfStmt"/>-->
-    <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
-    <!--<rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>-->
-    <!--<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>-->
-    <!--<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>-->
-    <!--<rule ref="rulesets/basic.xml/EmptyTryBlock"/>-->
-    <!--<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>-->
-    <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/>
-    <rule ref="rulesets/basic.xml/JumbledIncrementer"/>
-    <!--<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>-->
-    <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
-    <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
-    <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
-    <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/>
-    <rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
-    <!--<rule ref="rulesets/basic.xml/UselessOverridingMethod"/>-->
-
-    <!--<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>-->
-    <!--<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>-->
-    <!--<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>-->
-    <!--<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>-->
-
-    <!--<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>-->
-    <!--<rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
-    <!--<rule ref="rulesets/clone.xml/ProperCloneImplementation"/>-->
-
-    <!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>-->
-    <!--<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>-->
-    <!--<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>-->
-    <!--<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>-->
-    <!--<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>-->
-    <!--<rule ref="rulesets/codesize.xml/TooManyFields"/>-->
-
-    <rule ref="rulesets/controversial.xml/AssignmentInOperand"/>
-    <!--<rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>-->
-    <!--<rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>-->
-    <!--<rule ref="rulesets/controversial.xml/DontImportSun"/>-->
-    <!--<rule ref="rulesets/controversial.xml/NullAssignment"/>-->
-    <!--<rule ref="rulesets/controversial.xml/OnlyOneReturn"/>-->
-    <!--<rule ref="rulesets/controversial.xml/SingularField"/>-->
-    <!--<rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>-->
-    <!--<rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>-->
-    <!--<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>-->
-    <!--<rule ref="rulesets/controversial.xml/UnusedModifier"/>-->
-
-    <!--<rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>-->
-    <!--<rule ref="rulesets/coupling.xml/ExcessiveImports"/>-->
-    <!--<rule ref="rulesets/coupling.xml/LooseCoupling"/>-->
-
-    <!--<rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>-->
-    <!--<rule ref="rulesets/design.xml/AccessorClassGeneration"/>-->
-    <!--<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>-->
-    <!--<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>-->
-    <!--<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
-    <rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/>
-    <!--<rule ref="rulesets/design.xml/AvoidReassigningParameters"/>-->
-    <!--<rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
-    <!--<rule ref="rulesets/design.xml/BadComparison"/>-->
-    <!--<rule ref="rulesets/design.xml/CloseConnection"/>-->
-    <!--<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>-->
-    <!--<rule ref="rulesets/design.xml/ConfusingTernary"/>-->
-    <rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
-    <!--<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
-    <!--<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>-->
-    <rule ref="rulesets/design.xml/IdempotentOperations"/>
-    <!--<rule ref="rulesets/design.xml/ImmutableField"/>-->
-    <!--<rule ref="rulesets/design.xml/InstantiationToGetClass"/>-->
-    <!--<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>-->
-    <!--<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
-    <!--<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>-->
-    <!--<rule ref="rulesets/design.xml/NonStaticInitializer"/>-->
-    <rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
-    <rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/>
-    <rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/>
-    <rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
-    <rule ref="rulesets/design.xml/SimplifyConditional"/>
-    <!--<rule ref="rulesets/design.xml/SwitchDensity"/>-->
-    <!--<rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>-->
-    <rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/>
-    <!--<rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>-->
-    <!--<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>-->
-    <!--<rule ref="rulesets/design.xml/UseSingleton"/>-->
-
-    <!--<rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>-->
-    <!--<rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
-    <!--<rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>-->
-    <!--<rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
-    <!--<rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>-->
-    <!--<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>-->
-
-    <!--<rule ref="rulesets/imports.xml/DuplicateImports"/>-->
-    <!--<rule ref="rulesets/imports.xml/DontImportJavaLang"/>-->
-    <!--<rule ref="rulesets/imports.xml/UnusedImports"/>-->
-    <!--<rule ref="rulesets/imports.xml/ImportFromSamePackage"/>-->
-
-    <!--<rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>-->
-    <!--<rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>-->
-
-    <!--<rule ref="rulesets/junit.xml/JUnitStaticSuite"/>-->
-    <!--<rule ref="rulesets/junit.xml/JUnitSpelling"/>-->
-    <!--<rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
-    <!--<rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
-    <!--<rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>-->
-    <!--<rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>-->
-    <!--<rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
-    <!--<rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->
-
-    <!--<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>-->
-    <rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>
-    <!--<rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>-->
-    <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
-    <!--<rule ref="rulesets/logging-java.xml/LogBlockWithoutIf"/>-->
-    <!--<rule ref="rulesets/logging-java.xml/SystemPrintln"/>-->
-    <!--<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
-    <!--<rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>-->
-
-    <!--<rule ref="rulesets/naming.xml/ShortVariable"/>-->
-    <!--<rule ref="rulesets/naming.xml/LongVariable"/>-->
-    <!--<rule ref="rulesets/naming.xml/ShortMethodName"/>-->
-    <!--<rule ref="rulesets/naming.xml/VariableNamingConventions"/>-->
-    <!--<rule ref="rulesets/naming.xml/MethodNamingConventions"/>-->
-    <!--<rule ref="rulesets/naming.xml/ClassNamingConventions"/>-->
-    <!--<rule ref="rulesets/naming.xml/AbstractNaming"/>-->
-    <!--<rule ref="rulesets/naming.xml/AvoidDollarSigns"/>-->
-    <!--<rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
-    <!--<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>-->
-    <!--<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>-->
-    <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
-    <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
-    <!--<rule ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
-    <!--<rule ref="rulesets/naming.xml/NoPackage"/>-->
-    <!--<rule ref="rulesets/naming.xml/PackageCase"/>-->
-
-    <!--<rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>-->
-    <!--<rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
-    <!--<rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
-    <!--<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>-->
-    <!--<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>-->
-    <!--<rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends"/>-->
-
-    <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>-->
-    <!--<rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>-->
-    <!--<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>-->
-    <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>-->
-    <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
-    <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>-->
-
-    <!--<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>-->
-    <!--<rule ref="rulesets/strings.xml/StringInstantiation"/>-->
-    <!--<rule ref="rulesets/strings.xml/StringToString"/>-->
-    <!--<rule ref="rulesets/strings.xml/AvoidConcatenatingNonLiteralsInStringBuffer"/>-->
-    <!--<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>-->
-
-    <!--<rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>-->
-    <!--<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>-->
-
-    <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
-    <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
-    <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
-    <!--<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>-->
-
-</ruleset>
diff --git a/target/.plxarc b/target/.plxarc
new file mode 100644
index 0000000..67ea6ee
--- /dev/null
+++ b/target/.plxarc
@@ -0,0 +1 @@
+maven-shared-archive-resources
\ No newline at end of file
diff --git a/target/maven-shared-archive-resources/META-INF/DEPENDENCIES b/target/maven-shared-archive-resources/META-INF/DEPENDENCIES
new file mode 100644
index 0000000..e5de3dd
--- /dev/null
+++ b/target/maven-shared-archive-resources/META-INF/DEPENDENCIES
@@ -0,0 +1,11 @@
+// ------------------------------------------------------------------
+// Transitive dependencies of this project determined from the
+// maven pom organized by organization.
+// ------------------------------------------------------------------
+
+Apache ServiceMix :: Plugins
+
+
+
+
+
diff --git a/checksum-maven-plugin/LICENSE b/target/maven-shared-archive-resources/META-INF/LICENSE
old mode 100755
new mode 100644
similarity index 100%
copy from checksum-maven-plugin/LICENSE
copy to target/maven-shared-archive-resources/META-INF/LICENSE
diff --git a/target/maven-shared-archive-resources/META-INF/NOTICE b/target/maven-shared-archive-resources/META-INF/NOTICE
new file mode 100644
index 0000000..c61405b
--- /dev/null
+++ b/target/maven-shared-archive-resources/META-INF/NOTICE
@@ -0,0 +1,8 @@
+
+Apache ServiceMix :: Plugins
+Copyright 2005-2015 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+
diff --git a/xfire-maven-plugin/LICENSE b/xfire-maven-plugin/LICENSE
deleted file mode 100644
index 6b0b127..0000000
--- a/xfire-maven-plugin/LICENSE
+++ /dev/null
@@ -1,203 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
-
diff --git a/xfire-maven-plugin/NOTICE b/xfire-maven-plugin/NOTICE
deleted file mode 100644
index b6212c4..0000000
--- a/xfire-maven-plugin/NOTICE
+++ /dev/null
@@ -1,9 +0,0 @@
-   =========================================================================
-   ==  NOTICE file for use with the Apache License, Version 2.0,          ==
-   ==  in this case for the Apache ServiceMix distribution.               ==
-   =========================================================================
-
-   This product contains software developed by
-   The Apache Software Foundation (http://www.apache.org/).
-
-
diff --git a/xfire-maven-plugin/pom.xml b/xfire-maven-plugin/pom.xml
deleted file mode 100644
index c7a37f2..0000000
--- a/xfire-maven-plugin/pom.xml
+++ /dev/null
@@ -1,188 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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">
-<!--
-
-    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.
--->
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.servicemix.tooling</groupId>
-    <artifactId>maven-plugins-pom</artifactId>
-    <version>3</version>
-    <relativePath>../maven-plugins-pom/pom.xml</relativePath>    
-  </parent>
-  
-  <groupId>org.apache.servicemix.tooling</groupId>
-  <artifactId>xfire-maven-plugin</artifactId>
-  <version>4.3-SNAPSHOT</version>
-  
-  <packaging>maven-plugin</packaging>  
-  <name>Apache ServiceMix :: Plugins :: Maven2 XFire Plugin</name>
-  
-  <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/servicemix/maven-plugins/xfire-maven-plugin/trunk</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/servicemix/maven-plugins/xfire-maven-plugin/trunk</developerConnection>
-    <url>http://svn.apache.org/viewcvs.cgi/servicemix/maven-plugins/xfire-maven-plugin/trunk</url>
-  </scm>
-  
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-plugin-api</artifactId>
-      <version>2.0.9</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-project</artifactId>
-      <version>2.0.9</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-archiver</artifactId>
-      <version>2.3</version>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-utils</artifactId>
-      <version>1.5.5</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-script-ant</artifactId>
-      <version>2.0.9</version>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.xfire</groupId>
-      <artifactId>xfire-generator</artifactId>
-      <version>1.2.5</version>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.xfire</groupId>
-      <artifactId>xfire-jaxws</artifactId>
-      <version>1.2.5</version>
-    </dependency>
-    <!-- this to solve a potential issue with class loaders -->
-    <dependency>
-      <groupId>log4j</groupId>
-      <artifactId>log4j</artifactId>
-      <version>1.2.14</version>
-    </dependency>
-    <dependency>
-      <groupId>javax.servlet</groupId>
-      <artifactId>servlet-api</artifactId>
-      <version>2.4</version>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.sun.xml.bind</groupId>
-      <artifactId>jaxb-impl</artifactId>
-      <version>2.1.6</version>
-    </dependency>
-    <dependency>
-      <groupId>com.sun.xml.bind</groupId>
-      <artifactId>jaxb-xjc</artifactId>
-      <version>2.1.6</version>
-    </dependency>
-  </dependencies>
-
-  <repositories>
-    <!--
-    <repository>
-        <id>servicemix-m2-repo</id>
-        <name>Servicemix Maven2 Repository</name>
-        <url>http://svn.apache.org/repos/asf/servicemix/m2-repo/</url>
-    </repository>
-  -->
-    <repository>
-      <id>java.net</id>
-      <url>http://download.java.net/maven/1</url>
-      <layout>legacy</layout>
-    </repository>
-  </repositories>
-  <profiles>
-      <profile>
-            <id>release</id>
-            <build>
-                <plugins>
-                    <!-- We want to deploy the artifact to a staging location for perusal -->
-                    <plugin>
-                        <inherited>true</inherited>
-                        <artifactId>maven-deploy-plugin</artifactId>
-                        <version>2.3</version>
-                        <configuration>
-                            <altDeploymentRepository>${deploy.altRepository}</altDeploymentRepository>
-                            <updateReleaseInfo>true</updateReleaseInfo>
-                        </configuration>
-                    </plugin>
-                    <!-- We want to sign the artifact, the POM, and all attached artifacts -->
-                    <plugin>
-                        <artifactId>maven-gpg-plugin</artifactId>
-                        <version>1.0-alpha-4</version>
-                        <configuration>
-                            <passphrase>${gpg.passphrase}</passphrase>
-                        </configuration>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>sign</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-        <profile>
-            <id>deploy</id>
-            <build>
-                <defaultGoal>deploy</defaultGoal>
-                 <plugins>
-                   <plugin>
-                        <artifactId>maven-javadoc-plugin</artifactId>
-                        <version>2.2</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>jar</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <source>1.5</source>
-                            <attach>true</attach>
-                        </configuration>
-                   </plugin>
-                   <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-source-plugin</artifactId>
-                        <version>2.0.2</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>jar</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <attach>true</attach>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-      </profiles>
-
-</project>
diff --git a/xfire-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/xfire/WsdlgenMojo.java b/xfire-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/xfire/WsdlgenMojo.java
deleted file mode 100644
index 532be0a..0000000
--- a/xfire-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/xfire/WsdlgenMojo.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.xfire;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.model.Resource;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.project.MavenProject;
-import org.apache.tools.ant.AntClassLoader;
-import org.apache.tools.ant.BuildEvent;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.BuildListener;
-import org.apache.tools.ant.Project;
-import org.codehaus.xfire.gen.WsdlGenTask;
-import org.codehaus.xfire.spring.XFireConfigLoader;
-
-/**
- * WsdlGen mojo.
- * <p/>
- * Implemented as a wrapper around the XFire WsdlGen Ant task.
- *
- * @author <a href="jerome@coffeebreaks.org">Jerome Lacoste</a>
- * @version $Id$
- * @goal wsdlgen
- * @requiresProject
- * @requiresDependencyResolution
- */
-public class WsdlgenMojo extends AbstractMojo {
-    
-    /**
-     * Project.
-     *
-     * @parameter expression="${project}"
-     * @required
-     * @readonly
-     */
-    private MavenProject project;
-
-    /**
-     * xfire service.xml config files
-     * If not specified, the list will contain a single value 'src/main/resources/META-INF/xfire/services.xml'
-     *
-     * @parameter
-     */
-    private List configs;
-
-    /**
-     * The directory will be added as Project's Resource.
-     * @parameter expression="${outputDirectory}" default-value="${project.build.directory}/generated-sources/xfire/wsdlgen"
-     * @required
-     */
-    private File outputDirectory;
-
-    /**
-     * The basedir of the project.
-     *
-     * @parameter expression="${basedir}"
-     * @required
-     * @readonly
-     */
-    private File basedir;
-
-    /*
-     private PrintStream systemErr;
-     private PrintStream systemOut;
-     private final PrintStream mySystemErr = new PrintStream(new WsdlgenMojo.MyErrorStream());
-     private final PrintStream mySystemOut = new PrintStream(new WsdlgenMojo.MyOutputStream());
-
-     public void execute()
-     throws MojoExecutionException
-     {
-
-     systemErr = System.err;
-     systemOut = System.out;
-     System.setErr(mySystemErr);
-     // System.setOut(mySystemOut); // causes java.lang.OutOfMemoryError: Java heap space  on my box
-
-     try {
-     exec();
-     } finally {
-     System.setErr( systemErr );
-     // System.setOut( systemOut );
-     }
-     }
-
-     class MyErrorStream extends OutputStream {
-     private StringBuffer buffer = new StringBuffer();
-
-     public void write( final int b ) throws IOException {
-     final char c = (char) b;
-     // shouldn't we handle '\r' as well ??
-     if (c == '\n') {
-     getLog().error( buffer );
-     buffer = new StringBuffer();
-     } else {
-     buffer.append( c );
-     }
-     }
-     }
-
-     class MyOutputStream extends OutputStream {
-     private StringBuffer buffer = new StringBuffer();
-
-     public void write( final int b ) throws IOException {
-     final char c = (char) b;
-     // shouldn't we handle '\r' as well ??
-     if (c == '\n') {
-     getLog().info( buffer );
-     buffer = new StringBuffer();
-     } else {
-     buffer.append( c );
-     }
-     }
-     }
-     */
-
-    public void execute() throws MojoExecutionException {
-
-        if (configs == null) {
-            configs = new ArrayList();
-        }
-
-        if (configs.size() == 0) {
-            configs
-                    .add(new File(basedir,
-                            "src/main/resources/META-INF/xfire/services.xml")
-                            .getPath());
-        }
-
-        if (!outputDirectory.exists() && !outputDirectory.mkdirs()) {
-            getLog()
-                    .warn(
-                            "the output directory "
-                                    + outputDirectory
-                                    + " doesn't exist and couldn't be created. The goal with probably fail.");
-        }
-
-        final Project antProject = new Project();
-
-        antProject.addBuildListener(new WsdlgenMojo.DebugAntBuildListener());
-
-        // add current pom dependencies to WsdlGenTask class loader
-        ClassLoader parent = WsdlGenTask.class.getClassLoader();
-
-        URL[] urls;
-        try {
-            Collection l = project.getArtifacts();
-            List theurls = new ArrayList();
-            theurls.add(new File(project.getBuild().getOutputDirectory())
-                    .toURL());
-            for (Iterator iterator = l.iterator(); iterator.hasNext();) {
-                Artifact dep = (Artifact) iterator.next();
-                theurls.add(dep.getFile().toURL());
-            }
-            urls = (URL[]) theurls.toArray(new URL[theurls.size()]);
-
-            getLog().debug("classloader classpath: " + theurls);
-
-        } catch (MalformedURLException e) {
-            throw new IllegalStateException(e);
-        }
-
-        URLClassLoader cl = new URLClassLoader(urls, parent);
-        ClassLoader oldCl = Thread.currentThread().getContextClassLoader();
-        Thread.currentThread().setContextClassLoader(cl);
-
-        // displayClasspath(cl, "using classpath");
-        // load("javax.servlet.ServletException", cl);
-        // load("org.codehaus.xfire.transport.http.XFireServletController", cl);
-
-        final WsdlGenTask task = new WsdlGenTask();
-
-        task.setProject(antProject);
-
-        task.setOutputDirectory(outputDirectory.getAbsolutePath());
-
-        for (Iterator iterator = configs.iterator(); iterator.hasNext();) {
-            String configUrl = (String) iterator.next();
-
-            // required for multi-modules projects
-            if (!new File(configUrl).exists()) {
-                getLog().warn("configUrl not found. Task will perhaps fail");
-            }
-
-            task.setConfigUrl(configUrl);
-
-            getLog().info(
-                    "Executing XFire WsdlGen task for configUrl: " + configUrl);
-
-            try {
-                task.execute();
-            } catch (BuildException e) {
-                throw new MojoExecutionException("command execution failed", e);
-            }
-
-            getLog().debug("generated " + task.getGeneratedFile());
-        }
-        Thread.currentThread().setContextClassLoader(oldCl);
-
-        getLog().debug("Adding outputDirectory as Project's resource.");
-        Resource resource = new Resource();
-        resource.setDirectory(outputDirectory.getAbsolutePath());
-        project.addResource(resource);
-    }
-
-    /*
-     void displayClasspath(URLClassLoader cl, String message)
-     {
-     URL[] urls = cl.getURLs();
-     for (int i = 0; i < urls.length; i++) {
-     URL urL = urls[i];
-     getLog().info("URL " + i + ":" +  urL);
-     }
-     }
-     */
-    private void displayClasspath(ClassLoader classLoader, String message) {
-        getLog().info("------ " + message + ":" + classLoader);
-        if (classLoader == null) {
-            return;
-        }
-        if (classLoader instanceof URLClassLoader) {
-            URLClassLoader cl = (URLClassLoader) classLoader;
-            URL[] urls = cl.getURLs();
-            for (int i = 0; i < urls.length; i++) {
-                URL urL = urls[i];
-                getLog().info("URL " + i + ":" + urL);
-            }
-        } else if (classLoader instanceof AntClassLoader) {
-            AntClassLoader cl = (AntClassLoader) XFireConfigLoader.class
-                    .getClassLoader();
-            String[] urls = cl.getClasspath().split(File.pathSeparator);
-            for (int i = 0; i < urls.length; i++) {
-                String url = urls[i];
-                getLog().info("URL " + i + ":" + url);
-            }
-        } else {
-            // not handled
-        }
-        displayClasspath(classLoader.getParent(), "parent->" + message);
-    }
-
-    void load(String className, ClassLoader cl) {
-        try {
-            Class c = Class.forName(className, true, cl);
-            getLog().debug(c.toString());
-        } catch (Exception e) {
-            displayClasspath(cl, "using classpath");
-            getLog().error(e);
-        }
-    }
-
-    private class DebugAntBuildListener implements BuildListener {
-        public void buildStarted(final BuildEvent buildEvent) {
-            getLog().debug(buildEvent.getMessage());
-        }
-
-        public void buildFinished(final BuildEvent buildEvent) {
-            getLog().debug(buildEvent.getMessage());
-        }
-
-        public void targetStarted(final BuildEvent buildEvent) {
-            getLog().debug(buildEvent.getMessage());
-        }
-
-        public void targetFinished(final BuildEvent buildEvent) {
-            getLog().debug(buildEvent.getMessage());
-        }
-
-        public void taskStarted(final BuildEvent buildEvent) {
-            getLog().debug(buildEvent.getMessage());
-        }
-
-        public void taskFinished(final BuildEvent buildEvent) {
-            getLog().debug(buildEvent.getMessage());
-        }
-
-        public void messageLogged(final BuildEvent buildEvent) {
-            getLog().debug(buildEvent.getMessage());
-        }
-    }
-}
diff --git a/xfire-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/xfire/WsgenMojo.java b/xfire-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/xfire/WsgenMojo.java
deleted file mode 100644
index f8be482..0000000
--- a/xfire-maven-plugin/src/main/java/org/apache/servicemix/maven/plugin/xfire/WsgenMojo.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * 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.
- */
-package org.apache.servicemix.maven.plugin.xfire;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.PrintStream;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.project.MavenProject;
-import org.apache.tools.ant.BuildEvent;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.BuildListener;
-import org.apache.tools.ant.Project;
-import org.codehaus.xfire.gen.WsGenTask;
-
-/**
- * WsGen mojo. <p/> Implemented as a wrapper around the XFire WsGen Ant task.
- * 
- * @author <a href="jerome@coffeebreaks.org">Jerome Lacoste</a>
- * @version $Id$
- * @goal wsgen
- * @phase generate-sources
- * @requiresProject
- * @requiresDependencyResolution
- */
-public class WsgenMojo extends AbstractMojo {
-
-    /**
-     * Project.
-     * 
-     * @parameter expression="${project}"
-     * @required
-     * @readonly
-     */
-    private MavenProject project;
-
-    /**
-     * URLs
-     * 
-     * @parameter
-     * @required
-     */
-    private List wsdls;
-
-    /**
-     * @parameter expression="${package}" alias="package"
-     */
-    private String thePackage; // reserved keyword...
-
-    /**
-     * @parameter expression="${profile}"
-     */
-    private String profile;
-
-    /**
-     * @parameter expression="${binding}"
-     */
-    private String binding;
-
-    /**
-     * Will be added to the compileSourceRoot
-     * 
-     * @parameter expression="${outputDirectory}"
-     *            default-value="${project.build.directory}/generated-sources/xfire/wsgen"
-     * @required
-     */
-    private File outputDirectory;
-
-    private PrintStream systemErr;
-
-    //private PrintStream systemOut;
-
-    private final PrintStream mySystemErr = new PrintStream(new MyErrorStream());
-
-    //private final PrintStream mySystemOut = new PrintStream(new MyOutputStream());
-
-    public void execute() throws MojoExecutionException {
-
-        systemErr = System.err;
-        //systemOut = System.out;
-        System.setErr(mySystemErr);
-        // System.setOut(mySystemOut); // causes java.lang.OutOfMemoryError:
-        // Java heap space on my box
-
-        try {
-            exec();
-        } finally {
-            System.setErr(systemErr);
-            // System.setOut( systemOut );
-        }
-    }
-
-    class MyErrorStream extends OutputStream {
-        private StringBuffer buffer = new StringBuffer();
-
-        public void write(final int b) throws IOException {
-            final char c = (char) b;
-            // shouldn't we handle '\r' as well ??
-            if (c == '\n') {
-                getLog().error(buffer);
-                buffer = new StringBuffer();
-            } else {
-                buffer.append(c);
-            }
-        }
-    }
-
-    class MyOutputStream extends OutputStream {
-        private StringBuffer buffer = new StringBuffer();
-
-        public void write(final int b) throws IOException {
-            final char c = (char) b;
-            // shouldn't we handle '\r' as well ??
-            if (c == '\n') {
-                getLog().info(buffer);
-                buffer = new StringBuffer();
-            } else {
-                buffer.append(c);
-            }
-        }
-    }
-
-    private void exec() throws MojoExecutionException {
-
-        if (wsdls.size() == 0) {
-            return;
-        }
-
-        if (!outputDirectory.exists() && !outputDirectory.mkdirs()) {
-            getLog()
-                    .warn(
-                            "the output directory "
-                                    + outputDirectory
-                                    + " doesn't exist and couldn't be created. The goal with probably fail.");
-        }
-
-        final Project antProject = new Project();
-
-        antProject.addBuildListener(new DebugAntBuildListener());
-
-        final WsGenTask task = new WsGenTask();
-
-        task.setProject(antProject);
-
-        if (binding != null) {
-            task.setBinding(binding);
-        }
-
-        if (profile != null) {
-            task.setProfile(profile);
-        }
-
-        if (thePackage != null) {
-            task.setPackage(thePackage);
-        }
-
-        task.setOutputDirectory(outputDirectory.getAbsolutePath());
-
-        for (Iterator iterator = wsdls.iterator(); iterator.hasNext();) {
-            String wsdlUrl = (String) iterator.next();
-
-            if (!wsdlUrl.contains("://")) {
-                wsdlUrl = new File(wsdlUrl).toURI().toString();
-            }
-
-            task.setWsdl(wsdlUrl);
-
-            getLog().info("Executing XFire WsGen task with url: " + wsdlUrl);
-
-            try {
-                task.execute();
-            } catch (BuildException e) {
-                throw new MojoExecutionException("command execution failed", e);
-            }
-        }
-
-        getLog().debug(
-                "Adding outputDirectory to source root: " + outputDirectory);
-
-        this.project.addCompileSourceRoot(outputDirectory.getAbsolutePath());
-    }
-
-    private class DebugAntBuildListener implements BuildListener {
-        public void buildStarted(final BuildEvent buildEvent) {
-            getLog().debug(buildEvent.getMessage());
-        }
-
-        public void buildFinished(final BuildEvent buildEvent) {
-            getLog().debug(buildEvent.getMessage());
-        }
-
-        public void targetStarted(final BuildEvent buildEvent) {
-            getLog().debug(buildEvent.getMessage());
-        }
-
-        public void targetFinished(final BuildEvent buildEvent) {
-            getLog().debug(buildEvent.getMessage());
-        }
-
-        public void taskStarted(final BuildEvent buildEvent) {
-            getLog().debug(buildEvent.getMessage());
-        }
-
-        public void taskFinished(final BuildEvent buildEvent) {
-            getLog().debug(buildEvent.getMessage());
-        }
-
-        public void messageLogged(final BuildEvent buildEvent) {
-            getLog().debug(buildEvent.getMessage());
-        }
-    }
-}