diff --git a/ReleaseNotes.md b/ReleaseNotes.md
index 5d88481c4..1e2355828 100644
--- a/ReleaseNotes.md
+++ b/ReleaseNotes.md
@@ -1,6 +1,14 @@
Plexus Containers Release Notes
=========================
+Plexus Containers 2.2.0
+---------------------
+Plexus Containers 2.2.0 requires Java 8 and Maven 3.2.5+
+
+### Improvements
+* Drop deprecated plexus-container-default artefact
+* Upgrade ASM to 9.6
+
Plexus Containers 2.1.1
---------------------
Plexus Containers 2.1.1 requires Java 7 and Maven 3.2.5+
diff --git a/plexus-container-default/pom.xml b/plexus-container-default/pom.xml
deleted file mode 100644
index 162ab0a48..000000000
--- a/plexus-container-default/pom.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
- 4.0.0
-
-
- org.codehaus.plexus
- plexus-containers
- 2.2.0-SNAPSHOT
-
-
- plexus-container-default
-
- Plexus :: Default Container (deprecated)
- The Plexus IoC container API and its default implementation.
-
-
- 2.7.0
- 4.24
-
-
-
-
-
- org.codehaus.plexus
- plexus-classworlds
- ${classWorldsVersion}
-
-
- org.codehaus.plexus
- plexus-utils
- ${plexusUtilsVersion}
-
-
- org.apache.xbean
- xbean-reflect
- ${xbeanReflectVersion}
-
-
- junit
- junit
- 4.13.2
-
-
-
-
-
-
- org.codehaus.plexus
- plexus-utils
-
-
- org.codehaus.plexus
- plexus-classworlds
-
-
- org.apache.xbean
- xbean-reflect
-
-
- junit
- junit
-
-
-
-
-
-
- maven-surefire-plugin
-
-
- **/Test*.java
- **/Abstract*.java
-
-
-
-
- org.codehaus.modello
- modello-maven-plugin
-
- 1.11
-
-
- src/main/mdo/components.mdo
- src/main/mdo/plexus.mdo
-
- 1.3.0
-
-
-
- xsd-site
-
- xsd
-
- pre-site
-
- ${basedir}/target/generated-site/resources/xsd
-
-
-
- descriptor-site
-
- xdoc
-
- pre-site
-
- 1.0.0
-
-
-
-
-
-
-
diff --git a/plexus-container-default/src/it/multi-plexus.xml/pom.xml b/plexus-container-default/src/it/multi-plexus.xml/pom.xml
deleted file mode 100644
index b0ef52ebb..000000000
--- a/plexus-container-default/src/it/multi-plexus.xml/pom.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
- 4.0.0
- plexus
- plexus-integrationTest-multiplePlexusXmls
- 1.0-SNAPSHOT
-
-
-
- plexus
- plexus-testFodder-componentWithPlexusXml
- 1.0
-
-
- plexus
- plexus-container-default
- 1.0-alpha-3-SNAPSHOT
- test
-
-
- junit
- junit
- 3.8.1
- test
-
-
-
-
\ No newline at end of file
diff --git a/plexus-container-default/src/it/multi-plexus.xml/src/main/java/org/codehaus/plexus/test/it/multiplx/Component.java b/plexus-container-default/src/it/multi-plexus.xml/src/main/java/org/codehaus/plexus/test/it/multiplx/Component.java
deleted file mode 100644
index a72741dd0..000000000
--- a/plexus-container-default/src/it/multi-plexus.xml/src/main/java/org/codehaus/plexus/test/it/multiplx/Component.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.codehaus.plexus.test.it.multiplx;
-
-/*
- * 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.
- */
-
-public interface Component
-{
-
- public static final String ROLE = Component.class.getName();
-
- public String testValue(String input);
-
-}
diff --git a/plexus-container-default/src/it/multi-plexus.xml/src/main/java/org/codehaus/plexus/test/it/multiplx/ComponentImpl.java b/plexus-container-default/src/it/multi-plexus.xml/src/main/java/org/codehaus/plexus/test/it/multiplx/ComponentImpl.java
deleted file mode 100644
index 8a8a0942f..000000000
--- a/plexus-container-default/src/it/multi-plexus.xml/src/main/java/org/codehaus/plexus/test/it/multiplx/ComponentImpl.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.codehaus.plexus.test.it.multiplx;
-
-/*
- * 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.
- */
-
-public class ComponentImpl
- implements Component
-{
-
- public String testValue( String input )
- {
- return "test using: " + input;
- }
-
-}
diff --git a/plexus-container-default/src/it/multi-plexus.xml/src/main/resources/META-INF/plexus/plexus.xml b/plexus-container-default/src/it/multi-plexus.xml/src/main/resources/META-INF/plexus/plexus.xml
deleted file mode 100644
index 5a5c048a5..000000000
--- a/plexus-container-default/src/it/multi-plexus.xml/src/main/resources/META-INF/plexus/plexus.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
- org.codehaus.plexus.test.it.multiplx.Component
- org.codehaus.plexus.test.it.multiplx.ComponentImpl
-
-
-
\ No newline at end of file
diff --git a/plexus-container-default/src/it/multi-plexus.xml/src/test/java/org/codehaus/plexus/test/it/multiplx/ComponentLookupTest.java b/plexus-container-default/src/it/multi-plexus.xml/src/test/java/org/codehaus/plexus/test/it/multiplx/ComponentLookupTest.java
deleted file mode 100644
index e426e8cbf..000000000
--- a/plexus-container-default/src/it/multi-plexus.xml/src/test/java/org/codehaus/plexus/test/it/multiplx/ComponentLookupTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.codehaus.plexus.test.it.multiplx;
-
-import org.codehaus.plexus.PlexusTestCase;
-
-/*
- * 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.
- */
-
-public class ComponentLookupTest
- extends PlexusTestCase
-{
-
- public void testShouldFindComponentFromHereAndComponentFromDependency() throws Exception
- {
- Object fromHere = lookup(Component.ROLE);
- assertNotNull(fromHere);
-
- Object fromDependency = lookup("org.codehaus.plexus.test.fodder.withplx.TestComponent");
- assertNotNull(fromDependency);
- }
-
-}
diff --git a/plexus-container-default/src/it/plexus-its/pom.xml b/plexus-container-default/src/it/plexus-its/pom.xml
deleted file mode 100644
index 57db21f64..000000000
--- a/plexus-container-default/src/it/plexus-its/pom.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-
- 4.0.0
- org.codehaus.plexus.its
- plexus-its
- jar
- 1.0-SNAPSHOT
- plexus-its
- http://maven.apache.org
-
-
- org.codehaus.plexus
- plexus-container-default
- 1.0-alpha-41-SNAPSHOT
-
-
- junit
- junit
- 3.8.1
- test
-
-
-
-
-
- org.codehaus.plexus
- plexus-maven-plugin
- 1.3.5
-
-
-
- descriptor
-
-
-
-
-
-
-
-
diff --git a/plexus-container-default/src/it/plexus-its/src/main/java/org/codehaus/plexus/its/App.java b/plexus-container-default/src/it/plexus-its/src/main/java/org/codehaus/plexus/its/App.java
deleted file mode 100644
index 92592e330..000000000
--- a/plexus-container-default/src/it/plexus-its/src/main/java/org/codehaus/plexus/its/App.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.codehaus.plexus.its;
-
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.logging.Logger;
-
-/** @author Jason van Zyl */
-public interface App
-{
- PlexusContainer getContainer();
-
- Logger getLogger();
-}
diff --git a/plexus-container-default/src/it/plexus-its/src/main/java/org/codehaus/plexus/its/DefaultApp.java b/plexus-container-default/src/it/plexus-its/src/main/java/org/codehaus/plexus/its/DefaultApp.java
deleted file mode 100644
index 098af87da..000000000
--- a/plexus-container-default/src/it/plexus-its/src/main/java/org/codehaus/plexus/its/DefaultApp.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.codehaus.plexus.its;
-
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.logging.Logger;
-
-/**
- * @plexus.component role-hint="standard"
- */
-public class DefaultApp
- implements App
-{
- /** @plexus.requirement */
- private PlexusContainer container;
-
- /** @plexus.requirement */
- private Logger logger;
-
- public PlexusContainer getContainer()
- {
- return container;
- }
-
- public Logger getLogger()
- {
- return logger;
- }
-}
diff --git a/plexus-container-default/src/it/plexus-its/src/main/java/org/codehaus/plexus/its/DefaultLogEnabledApp.java b/plexus-container-default/src/it/plexus-its/src/main/java/org/codehaus/plexus/its/DefaultLogEnabledApp.java
deleted file mode 100644
index 2cc6e3946..000000000
--- a/plexus-container-default/src/it/plexus-its/src/main/java/org/codehaus/plexus/its/DefaultLogEnabledApp.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.codehaus.plexus.its;
-
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
-import org.codehaus.plexus.logging.Logger;
-
-/**
- * @plexus.component role-hint="log-enabled"
- */
-public class DefaultLogEnabledApp
- extends AbstractLogEnabled
- implements App
-{
- /** @plexus.requirement */
- private PlexusContainer container;
-
- public PlexusContainer getContainer()
- {
- return container;
- }
-
- public Logger getLogger()
- {
- return getLogger();
- }
-}
\ No newline at end of file
diff --git a/plexus-container-default/src/it/plexus-its/src/test/java/org/codehaus/plexus/its/AppTest.java b/plexus-container-default/src/it/plexus-its/src/test/java/org/codehaus/plexus/its/AppTest.java
deleted file mode 100644
index 31b51a913..000000000
--- a/plexus-container-default/src/it/plexus-its/src/test/java/org/codehaus/plexus/its/AppTest.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.codehaus.plexus.its;
-
-import org.codehaus.plexus.PlexusTestCase;
-
-/**
- * Unit test for simple DefaultApp.
- */
-public class AppTest
- extends PlexusTestCase
-{
- public void testApp()
- throws Exception
- {
- App app = (App) lookup( App.class.getName(), "standard" );
-
- assertNotNull( app.getContainer() );
-
- assertNotNull( app.getLogger() );
-
- assertEquals( App.class.getName(), app.getLogger().getName() );
-
- App logEnabledApp = (App) lookup( App.class.getName(), "log-enabled" );
-
- assertNotNull( logEnabledApp );
-
- assertEquals( App.class.getName(), app.getLogger().getName() );
- }
-}
diff --git a/plexus-container-default/src/it/test-fodder/component-with-plexus.xml/pom.xml b/plexus-container-default/src/it/test-fodder/component-with-plexus.xml/pom.xml
deleted file mode 100644
index f36e24aed..000000000
--- a/plexus-container-default/src/it/test-fodder/component-with-plexus.xml/pom.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
- 4.0.0
- plexus
- plexus-testFodder-componentWithPlexusXml
- 1.0-SNAPSHOT
-
\ No newline at end of file
diff --git a/plexus-container-default/src/it/test-fodder/component-with-plexus.xml/src/main/java/org/codehaus/plexus/test/fodder/withplx/TestComponent.java b/plexus-container-default/src/it/test-fodder/component-with-plexus.xml/src/main/java/org/codehaus/plexus/test/fodder/withplx/TestComponent.java
deleted file mode 100644
index 47995e3f0..000000000
--- a/plexus-container-default/src/it/test-fodder/component-with-plexus.xml/src/main/java/org/codehaus/plexus/test/fodder/withplx/TestComponent.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.codehaus.plexus.test.fodder.withplx;
-
-/*
- * 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.
- */
-
-public interface TestComponent
-{
-
- public String testValueOf(String input);
-
-}
diff --git a/plexus-container-default/src/it/test-fodder/component-with-plexus.xml/src/main/java/org/codehaus/plexus/test/fodder/withplx/TestComponentImpl.java b/plexus-container-default/src/it/test-fodder/component-with-plexus.xml/src/main/java/org/codehaus/plexus/test/fodder/withplx/TestComponentImpl.java
deleted file mode 100644
index 09f2d14e4..000000000
--- a/plexus-container-default/src/it/test-fodder/component-with-plexus.xml/src/main/java/org/codehaus/plexus/test/fodder/withplx/TestComponentImpl.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.codehaus.plexus.test.fodder.withplx;
-
-/*
- * 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.
- */
-
-public class TestComponentImpl
- implements TestComponent
-{
-
- public String testValueOf( String input )
- {
- return "output from: " + input;
- }
-
-}
diff --git a/plexus-container-default/src/it/test-fodder/component-with-plexus.xml/src/main/resources/META-INF/plexus/plexus.xml b/plexus-container-default/src/it/test-fodder/component-with-plexus.xml/src/main/resources/META-INF/plexus/plexus.xml
deleted file mode 100644
index 7006a2074..000000000
--- a/plexus-container-default/src/it/test-fodder/component-with-plexus.xml/src/main/resources/META-INF/plexus/plexus.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
- org.codehaus.plexus.test.fodder.withplx.TestComponent
- org.codehaus.plexus.test.fodder.withplx.TestComponentImpl
-
-
-
\ No newline at end of file
diff --git a/plexus-container-default/src/main/java/org/codehaus/plexus/ClassRealmUtil.java b/plexus-container-default/src/main/java/org/codehaus/plexus/ClassRealmUtil.java
deleted file mode 100644
index fe0cb37dd..000000000
--- a/plexus-container-default/src/main/java/org/codehaus/plexus/ClassRealmUtil.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package org.codehaus.plexus;
-
-/*
- * Copyright 2001-2009 Codehaus 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.
- */
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.LinkedList;
-import java.util.Queue;
-import java.util.Set;
-
-import org.codehaus.plexus.classworlds.ClassWorld;
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-
-public class ClassRealmUtil {
-
- public static Set getContextRealms(ClassWorld world) {
- Set realms = new LinkedHashSet();
-
- for (ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
- classLoader != null;
- classLoader = classLoader.getParent()) {
- if (classLoader instanceof ClassRealm) {
- realms.add((ClassRealm) classLoader);
-
- Queue queue = new LinkedList();
- queue.add((ClassRealm) classLoader);
-
- while (!queue.isEmpty()) {
- ClassRealm realm = queue.remove();
-
- Collection importRealms = realm.getImportRealms();
- for (ClassRealm importRealm : importRealms) {
- if (realms.add(importRealm)) {
- queue.add(importRealm);
- }
- }
-
- ClassRealm parentRealm = realm.getParentRealm();
- if (parentRealm != null && realms.add(parentRealm)) {
- queue.add(parentRealm);
- }
- }
- }
- }
-
- if (world != null) {
- for (Iterator it = realms.iterator(); it.hasNext(); ) {
- ClassRealm realm = it.next();
- if (realm.getWorld() != world) {
- it.remove();
- }
- }
- }
-
- return realms;
- }
-}
diff --git a/plexus-container-default/src/main/java/org/codehaus/plexus/ComponentRegistry.java b/plexus-container-default/src/main/java/org/codehaus/plexus/ComponentRegistry.java
deleted file mode 100644
index 3e7dc22da..000000000
--- a/plexus-container-default/src/main/java/org/codehaus/plexus/ComponentRegistry.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.codehaus.plexus;
-
-/*
- * Copyright 2001-2006 Codehaus 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.
- */
-
-import java.util.List;
-import java.util.Map;
-
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-import org.codehaus.plexus.component.composition.CycleDetectedInComponentGraphException;
-import org.codehaus.plexus.component.manager.ComponentManagerFactory;
-import org.codehaus.plexus.component.repository.ComponentDescriptor;
-import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
-
-/**
- * @author Jason van Zyl
- * @author Kenney Westerhof
- * @author Dain Sundstrom
- */
-public interface ComponentRegistry {
- void registerComponentManagerFactory(ComponentManagerFactory componentManagerFactory);
-
- void addComponentDescriptor(ComponentDescriptor> componentDescriptor)
- throws CycleDetectedInComponentGraphException;
-
- ComponentDescriptor getComponentDescriptor(Class type, String role, String roleHint);
-
- @Deprecated
- ComponentDescriptor> getComponentDescriptor(String role, String roleHint, ClassRealm realm);
-
- List> getComponentDescriptorList(Class type, String role);
-
- Map> getComponentDescriptorMap(Class type, String role);
-
- T lookup(Class type, String role, String roleHint) throws ComponentLookupException;
-
- T lookup(ComponentDescriptor componentDescriptor) throws ComponentLookupException;
-
- List lookupList(Class type, String role, List hints) throws ComponentLookupException;
-
- Map lookupMap(Class type, String role, List hints) throws ComponentLookupException;
-
- void release(Object component) throws ComponentLifecycleException;
-
- void removeComponentRealm(ClassRealm classRealm) throws PlexusContainerException;
-
- void dispose();
-
- void addComponent(T component, String role, String roleHint);
-}
diff --git a/plexus-container-default/src/main/java/org/codehaus/plexus/ContainerConfiguration.java b/plexus-container-default/src/main/java/org/codehaus/plexus/ContainerConfiguration.java
deleted file mode 100644
index 2e1ab9f71..000000000
--- a/plexus-container-default/src/main/java/org/codehaus/plexus/ContainerConfiguration.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package org.codehaus.plexus;
-
-import java.net.URL;
-import java.util.List;
-import java.util.Map;
-
-import org.codehaus.plexus.classworlds.ClassWorld;
-import org.codehaus.plexus.classworlds.realm.ClassRealm;
-import org.codehaus.plexus.component.discovery.ComponentDiscoverer;
-import org.codehaus.plexus.component.discovery.ComponentDiscovererManager;
-import org.codehaus.plexus.component.discovery.ComponentDiscoveryListener;
-import org.codehaus.plexus.component.factory.ComponentFactoryManager;
-import org.codehaus.plexus.component.repository.ComponentRepository;
-import org.codehaus.plexus.configuration.source.ConfigurationSource;
-import org.codehaus.plexus.container.initialization.ContainerInitializationPhase;
-import org.codehaus.plexus.lifecycle.LifecycleHandler;
-import org.codehaus.plexus.lifecycle.LifecycleHandlerManager;
-
-/**
- * @author Jason van Zyl
- */
-public interface ContainerConfiguration {
- ContainerConfiguration setName(String name);
-
- String getName();
-
- ContainerConfiguration setContext(Map