diff --git a/m2e-maven-runtime/org.eclipse.m2e.maven.runtime/maven.deps b/m2e-maven-runtime/org.eclipse.m2e.maven.runtime/maven.deps
new file mode 100644
index 0000000000..f7447ce0a3
--- /dev/null
+++ b/m2e-maven-runtime/org.eclipse.m2e.maven.runtime/maven.deps
@@ -0,0 +1,42 @@
+
+The following files have been resolved:
+ org.apache.maven:maven-core:jar:3.8.5:compile[36m -- module maven.core[0;1;33m (auto)[m
+ org.apache.maven:maven-model:jar:3.8.5:compile[36m -- module maven.model[0;1;33m (auto)[m
+ org.apache.maven:maven-settings:jar:3.8.5:compile[36m -- module maven.settings[0;1;33m (auto)[m
+ org.apache.maven:maven-settings-builder:jar:3.8.5:compile[36m -- module maven.settings.builder[0;1;33m (auto)[m
+ org.apache.maven:maven-builder-support:jar:3.8.5:compile[36m -- module maven.builder.support[0;1;33m (auto)[m
+ org.apache.maven:maven-repository-metadata:jar:3.8.5:compile[36m -- module maven.repository.metadata[0;1;33m (auto)[m
+ org.apache.maven:maven-artifact:jar:3.8.5:compile[36m -- module maven.artifact[0;1;33m (auto)[m
+ org.apache.maven:maven-plugin-api:jar:3.8.5:compile[36m -- module maven.plugin.api[0;1;33m (auto)[m
+ org.apache.maven:maven-model-builder:jar:3.8.5:compile[36m -- module maven.model.builder[0;1;33m (auto)[m
+ org.apache.maven:maven-resolver-provider:jar:3.8.5:compile[36m -- module maven.resolver.provider[0;1;33m (auto)[m
+ org.apache.maven.resolver:maven-resolver-api:jar:1.6.3:compile[36m -- module org.apache.maven.resolver[0;1m [auto][m
+ org.apache.maven.resolver:maven-resolver-spi:jar:1.6.3:compile[36m -- module org.apache.maven.resolver.spi[0;1m [auto][m
+ org.apache.maven.resolver:maven-resolver-util:jar:1.6.3:compile[36m -- module org.apache.maven.resolver.util[0;1m [auto][m
+ org.apache.maven.shared:maven-shared-utils:jar:3.3.4:compile[36m -- module maven.shared.utils[0;1;33m (auto)[m
+ commons-io:commons-io:jar:2.6:compile[36m -- module org.apache.commons.io[0;1m [auto][m
+ org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.3.5:compile[36m -- module org.eclipse.sisu.inject[0;1;33m (auto)[m
+ com.google.inject:guice:jar:no_aop:4.2.2:compile[36m -- module com.google.guice[0;1m [auto][m
+ org.codehaus.plexus:plexus-utils:jar:3.3.0:compile[36m -- module plexus.utils[0;1;33m (auto)[m
+ org.codehaus.plexus:plexus-classworlds:jar:2.6.0:compile[36m -- module plexus.classworlds[0;1;33m (auto)[m
+ org.codehaus.plexus:plexus-interpolation:jar:1.26:compile[36m -- module plexus.interpolation[0;1;33m (auto)[m
+ org.codehaus.plexus:plexus-component-annotations:jar:2.1.0:compile[36m -- module plexus.component.annotations[0;1;33m (auto)[m
+ org.apache.commons:commons-lang3:jar:3.8.1:compile[36m -- module org.apache.commons.lang3[0;1m [auto][m
+ org.apache.maven:maven-embedder:jar:3.8.5:compile[36m -- module maven.embedder[0;1;33m (auto)[m
+ javax.annotation:javax.annotation-api:jar:1.2:compile[36m -- module javax.annotation.api[0;1;33m (auto)[m
+ org.codehaus.plexus:plexus-sec-dispatcher:jar:2.0:compile[36m -- module plexus.sec.dispatcher[0;1;33m (auto)[m
+ org.codehaus.plexus:plexus-cipher:jar:2.0:compile[36m -- module plexus.cipher[0;1;33m (auto)[m
+ commons-cli:commons-cli:jar:1.4:compile[36m -- module commons.cli[0;1;33m (auto)[m
+ org.apache.maven:maven-compat:jar:3.8.5:compile[36m -- module maven.compat[0;1;33m (auto)[m
+ org.apache.maven.wagon:wagon-provider-api:jar:3.5.1:compile[36m -- module wagon.provider.api[0;1;33m (auto)[m
+ org.eclipse.sisu:org.eclipse.sisu.plexus:jar:0.3.5:compile[36m -- module org.eclipse.sisu.plexus[0;1;33m (auto)[m
+ org.sonatype.plexus:plexus-build-api:jar:0.0.7:compile[36m -- module plexus.build.api[0;1;33m (auto)[m
+ io.takari.aether:aether-connector-okhttp:jar:0.17.8:compile[36m -- module aether.connector.okhttp[0;1;33m (auto)[m
+ com.squareup.okhttp3:okhttp:jar:3.14.1:compile[36m -- module okhttp3[0;1m [auto][m
+ com.squareup.okio:okio:jar:1.17.3:compile[36m -- module okio[0;1m [auto][m
+ org.apache.maven.resolver:maven-resolver-impl:jar:1.6.3:compile[36m -- module org.apache.maven.resolver.impl[0;1m [auto][m
+ org.apache.maven.resolver:maven-resolver-connector-basic:jar:1.6.3:compile[36m -- module org.apache.maven.resolver.connector.basic[0;1m [auto][m
+ org.apache.maven.resolver:maven-resolver-transport-wagon:jar:1.6.3:compile[36m -- module org.apache.maven.resolver.transport.wagon[0;1m [auto][m
+ org.apache.maven.wagon:wagon-file:jar:3.5.1:compile[36m -- module wagon.file[0;1;33m (auto)[m
+ org.fusesource.jansi:jansi:jar:2.4.0:compile[36m -- module org.fusesource.jansi[0;1m [auto][m
+
diff --git a/org.eclipse.m2e.core/.project b/org.eclipse.m2e.core/.project
index 32073f9717..a2ffbebb1b 100644
--- a/org.eclipse.m2e.core/.project
+++ b/org.eclipse.m2e.core/.project
@@ -25,6 +25,11 @@
+
+ org.eclipse.pde.ds.core.builder
+
+
+
org.eclipse.m2e.core.maven2Nature
diff --git a/org.eclipse.m2e.core/.settings/org.eclipse.pde.ds.annotations.prefs b/org.eclipse.m2e.core/.settings/org.eclipse.pde.ds.annotations.prefs
new file mode 100644
index 0000000000..73a356b6d0
--- /dev/null
+++ b/org.eclipse.m2e.core/.settings/org.eclipse.pde.ds.annotations.prefs
@@ -0,0 +1,8 @@
+classpath=true
+dsVersion=V1_3
+eclipse.preferences.version=1
+enabled=true
+generateBundleActivationPolicyLazy=true
+path=OSGI-INF
+validationErrorLevel=error
+validationErrorLevel.missingImplicitUnbindMethod=error
diff --git a/org.eclipse.m2e.core/META-INF/MANIFEST.MF b/org.eclipse.m2e.core/META-INF/MANIFEST.MF
index d952bc58e1..3e88ad05d1 100644
--- a/org.eclipse.m2e.core/META-INF/MANIFEST.MF
+++ b/org.eclipse.m2e.core/META-INF/MANIFEST.MF
@@ -47,5 +47,7 @@ Export-Package: org.eclipse.m2e.core,
MavenArtifact-GroupId: org.eclipse.m2e
MavenArtifact-ArtifactId: org.eclipse.m2e.core
Import-Package: javax.inject;version="1.0.0",
+ org.osgi.service.component.annotations;version="1.3.0",
org.slf4j;version="1.6.2"
Automatic-Module-Name: org.eclipse.m2e.core
+Service-Component: OSGI-INF/org.eclipse.m2e.core.internal.project.registry.ProjectFacadeAdapterFactory.xml
diff --git a/org.eclipse.m2e.core/OSGI-INF/org.eclipse.m2e.core.internal.project.registry.ProjectFacadeAdapterFactory.xml b/org.eclipse.m2e.core/OSGI-INF/org.eclipse.m2e.core.internal.project.registry.ProjectFacadeAdapterFactory.xml
new file mode 100644
index 0000000000..ee0c184d7b
--- /dev/null
+++ b/org.eclipse.m2e.core/OSGI-INF/org.eclipse.m2e.core.internal.project.registry.ProjectFacadeAdapterFactory.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/org.eclipse.m2e.core/build.properties b/org.eclipse.m2e.core/build.properties
index ac2cebfc6d..6f6e2de901 100644
--- a/org.eclipse.m2e.core/build.properties
+++ b/org.eclipse.m2e.core/build.properties
@@ -19,7 +19,8 @@ bin.includes = plugin.xml,\
schema/,\
about.html,\
m2eclipse.gif,\
- about_files/
+ about_files/,\
+ OSGI-INF/
jars.compile.order = .
output.. = bin/
source.. = src/,\
diff --git a/org.eclipse.m2e.core/plugin.xml b/org.eclipse.m2e.core/plugin.xml
index f64cf29ce2..f2b8f5c3a1 100644
--- a/org.eclipse.m2e.core/plugin.xml
+++ b/org.eclipse.m2e.core/plugin.xml
@@ -134,15 +134,5 @@
class="org.eclipse.m2e.core.internal.project.WorkspaceTestsClassifierResolver">
-
-
-
-
-
-
diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ProjectFacadeAdapterFactory.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ProjectFacadeAdapterFactory.java
index c6102539bd..85e99c58b2 100644
--- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ProjectFacadeAdapterFactory.java
+++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/project/registry/ProjectFacadeAdapterFactory.java
@@ -9,12 +9,17 @@
*******************************************************************************/
package org.eclipse.m2e.core.internal.project.registry;
+import org.osgi.service.component.annotations.Component;
+
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.m2e.core.MavenPlugin;
import org.eclipse.m2e.core.project.IMavenProjectFacade;
+
+@Component(service = IAdapterFactory.class, property = {
+ IAdapterFactory.SERVICE_PROPERTY_ADAPTABLE_CLASS + "=org.eclipse.core.resources.IResource"})
public class ProjectFacadeAdapterFactory implements IAdapterFactory {
private static final Class>[] ADAPTER_LIST = {IMavenProjectFacade.class};