---
title: Migrate a v1 plugin
---
Before starting, make sure to read the [Plugin Development](../plugin-development).
To migrate an existing SCM-Manager 1.x Plugin, you have to do the following steps:
### Maven (pom.xml)
* create a separate branch for the new version
* It might be helpful to start and review the old version of the plugin via `mvn scmp:run` for later reference.
* Import .gitignore & .editorconfig from SCMM
* You might run the build once and review and fix SCMMv1 deprecation warnings. SCMMv2 gets rids of all deprecated
classes.
* update the version of the parent artifact (sonia.scm.plugins:scm-plugins) to the minimum version of SCM-Manager 2 you
are planning for your plugin
* change the packaging type of your plugin to smp
* remove the sonia.scm.maven:scm-maven-plugin from the pom
* remove servlet-api from the list of dependencies (not always the case)
```diff
diff -r a988f4cfb7ab pom.xml
--- a/pom.xml Thu Dec 10 20:32:26 2015 +0100
+++ b/pom.xml Tue Oct 30 11:49:35 2018 +0100
@@ -6,13 +6,14 @@
scm-plugins
sonia.scm.plugins
- 1.15
+ 2.0.0-rc7
sonia.scm.plugins
scm-mail-plugin
1.6-SNAPSHOT
scm-mail-plugin
+ smp
https://bitbucket.org/sdorra/scm-mail-plugin
The mail plugin provides an api for sending e-mails.
@@ -28,13 +29,6 @@
-
- jakarta.servlet
- servlet-api
- ${servlet.version}
- provided
-
org.codemonkey.simplejavamail
simple-java-mail
2.4
@@ -52,18 +46,6 @@
1.4.7
-
-
-
-
- sonia.scm.maven
- scm-maven-plugin
- 1.22
-
-
-
-
```
### Plugin Descriptor (src/main/resources/META-INF/scm/plugin.xml)
* add the following dtd to the top of the
plugin.xml: ``
* add an scm-version element with the value 2 to the plugin.xml
* remove resources and packages from plugin.xml
```diff
diff -r a988f4cfb7ab src/main/resources/META-INF/scm/plugin.xml
--- a/src/main/resources/META-INF/scm/plugin.xml Thu Dec 10 20:32:26 2015 +0100
+++ b/src/main/resources/META-INF/scm/plugin.xml Tue Oct 30 11:55:15 2018 +0100
@@ -1,4 +1,5 @@
+