Add coding style checks
[lispflowmapping.git] / commons / parent / pom.xml
index 52595758bbe36ad9b690c47adbcf50c78826c495..eeab58c889b437149dad8885b6c3985ab05955ef 100644 (file)
+<?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">
        <modelVersion>4.0.0</modelVersion>
+
+       <!-- NOTE: Tags we removed: SCM: We don't use maven to pull and push code, so
+               the SCM section does not appear to be needed. See http://maven.apache.org/scm/maven-scm-plugin/usage.html
+
+           NOTE: our ultimate goal is to remove this pom, and move everything in here
+             up to ODL parent or the root of this project, depending on
+             its relevance. Only the logical root should reference this file.
+
+             -->
+
+       <parent>
+               <!-- We want to inherit of ODL parent so we can inherit common third party
+                       versions etc instead of redefining them here. Also we get some common definitions
+                       for plugin configuration etc. -->
+               <groupId>org.opendaylight.odlparent</groupId>
+               <artifactId>odlparent</artifactId>
+               <version>1.5.0-SNAPSHOT</version>
+       </parent>
+
        <groupId>org.opendaylight.lispflowmapping</groupId>
        <artifactId>lispflowmapping-commons</artifactId>
-       <version>1.0.0-SNAPSHOT</version>
-       <description></description>
+       <version>1.2.0-SNAPSHOT</version>
        <packaging>pom</packaging>
-       <url>http://www.opendaylight.org</url>
-       <scm>
-               <connection>scm:git:https://git.opendaylight.org/gerrit/p/lispflowmapping.git</connection>
-               <developerConnection>scm:git:ssh://git.opendaylight.org:29418/lispflowmapping.git</developerConnection>
-               <url>https://wiki.opendaylight.org/view/OpenDaylight_Lisp_Flow_Mapping:Main</url>
-               <tag>HEAD</tag>
-       </scm>
+       <name>Parent POM</name>
+       <description></description>
+
        <properties>
-               <lispflowmapping.version>1.0.0-SNAPSHOT</lispflowmapping.version>
-               <jacoco.version>0.5.3.201107060350</jacoco.version>
+               <branding.version>1.1.0-SNAPSHOT</branding.version>
+               <build.suffix>1.0.0</build.suffix>
+               <clustering.services.version>0.6.0-SNAPSHOT</clustering.services.version>
+               <config.version>0.3.0-SNAPSHOT</config.version>
+               <controller.checkstyle.version>0.1.0-SNAPSHOT</controller.checkstyle.version>
                <enforcer.version>1.3.1</enforcer.version>
+               <enunciate.version>1.26.2</enunciate.version>
+               <feature.test.version>0.7.0-SNAPSHOT</feature.test.version>
+               <forwardingrulesmanager.version>0.5.0</forwardingrulesmanager.version>
+               <guava.version>14.0.1</guava.version>
+               <ietf-inet-types.version>2010.09.24.7-SNAPSHOT</ietf-inet-types.version>
+               <jacoco.version>0.6.2.201302030002</jacoco.version>
+               <java.version.source>1.7</java.version.source>
+               <java.version.target>1.7</java.version.target>
+               <jmxGeneratorPath>src/main/yang-gen-config</jmxGeneratorPath>
+               <karaf.empty.version>1.5.0-SNAPSHOT</karaf.empty.version>
+               <karaf.resources.version>1.5.0-SNAPSHOT</karaf.resources.version>
+               <karaf.version>3.0.1</karaf.version>
+               <!-- TODO: Lets remove the variables which are duplicates of ODL or which
+                       are unused. -->
+               <lispflowmapping.version>1.2.0-SNAPSHOT</lispflowmapping.version>
+               <maven.compile.plugin.version>2.5.1</maven.compile.plugin.version>
+               <mdsal.version>1.2.0-SNAPSHOT</mdsal.version>
                <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
+               <nsf.version>0.5.0-SNAPSHOT</nsf.version>
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
                <projectinfo>2.6</projectinfo>
-               <enunciate.version>1.26.2</enunciate.version>
-               <guava.version>14.0.1</guava.version>
-               <build.suffix>1.0.0</build.suffix>
-               <yangtools.binding.version>0.6.0-SNAPSHOT</yangtools.binding.version>
-               <yang.binding.version>0.6.0-SNAPSHOT</yang.binding.version>
-               <yang.version>0.6.0-SNAPSHOT</yang.version>
-               <yang.codegen.version>0.6.0-SNAPSHOT</yang.codegen.version>
+               <releaseplugin.version>2.3.2</releaseplugin.version>
+               <sal.version>0.9.0-SNAPSHOT</sal.version>
+               <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath>
+               <slf4j.version>1.7.2</slf4j.version>
+               <sonar.branch>${user.name}-develop</sonar.branch>
                <sonar.host.url>https://sonar.opendaylight.org/</sonar.host.url>
-               <sonar.branch>${user.name}-private-view</sonar.branch>
                <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
                <sonar.language>java</sonar.language>
-               <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
-               <sonar.jacoco.Reportpath>target/jacoco.exec</sonar.jacoco.Reportpath>
-               <sonar.jacoco.itReportPath>target/jacoco-it.exec</sonar.jacoco.itReportPath>
-               <forwardingrulesmanager.version>0.5.0-SNAPSHOT</forwardingrulesmanager.version>
-               <statisticsmanager.version>0.5.0-SNAPSHOT</statisticsmanager.version>
-               <maven.compile.plugin.version>2.5.1</maven.compile.plugin.version>
-               <java.version.source>1.7</java.version.source>
-               <java.version.target>1.7</java.version.target>
-               <releaseplugin.version>2.3.2</releaseplugin.version>
+               <statisticsmanager.version>0.5.0</statisticsmanager.version>
+               <surefire.version>2.16</surefire.version>
+               <xtend.dstdir>src/main/xtend-gen</xtend.dstdir>
+               <yang-jmx-generator.version>1.1.0-SNAPSHOT</yang-jmx-generator.version>
+               <yang.binding.version>0.6.1</yang.binding.version>
+               <yang.codegen.version>0.6.1</yang.codegen.version>
+               <yang.version>0.6.1</yang.version>
+               <yangtools.binding.version>0.6.1</yangtools.binding.version>
+               <yangtools.version>0.7.0-SNAPSHOT</yangtools.version>
+               <yang.src.path>src/main/yang</yang.src.path>
        </properties>
 
-       <repositories>
-               <!-- EBR release -->
-               <!-- http://repository.springsource.com/maven/bundles/release -->
-               <repository>
-                       <id>ebr-bundles-release</id>
-                       <name>ebr-bundles-release</name>
-                       <url>${nexusproxy}/repositories/ebr-bundles-release/</url>
-               </repository>
-               <!-- EBR external -->
-               <!-- http://repository.springsource.com/maven/bundles/external -->
-               <repository>
-                       <id>ebr-bundles-external</id>
-                       <name>ebr-bundles-external</name>
-                       <url>${nexusproxy}/repositories/ebr-bundles-external/</url>
-               </repository>
-               <!-- Maven repo2 mirror -->
-               <!-- http://repo2.maven.org/maven2 -->
-               <repository>
-                       <id>central2</id>
-                       <name>central2</name>
-                       <url>${nexusproxy}/repositories/central2/</url>
-               </repository>
-               <!-- Maven repo1 mirror -->
-               <!-- http://repo1.maven.org/maven2 -->
-               <repository>
-                       <id>central</id>
-                       <name>central</name>
-                       <url>${nexusproxy}/repositories/central/</url>
-               </repository>
-               <!-- Pax mirror -->
-               <!-- https://oss.sonatype.org/content/repositories/ops4j-releases -->
-               <repository>
-                       <id>ops4j-releases</id>
-                       <name>ops4j-releases</name>
-                       <url>${nexusproxy}/repositories/ops4j-releases/</url>
-               </repository>
-               <!-- Third Packages hosted in local maven because not available in other 
-                       places -->
-               <repository>
-                       <id>thirdparty</id>
-                       <name>thirdparty</name>
-                       <url>${nexusproxy}/repositories/thirdparty/</url>
-               </repository>
-               <!-- Jboss mirror -->
-               <!-- https://repository.jboss.org/nexus/content/repositories/releases -->
-               <repository>
-                       <id>jboss.releases</id>
-                       <name>jboss.releases</name>
-                       <url>${nexusproxy}/repositories/jboss.releases/</url>
-               </repository>
-               <!-- OpenDayLight Released artifact -->
-               <repository>
-                       <id>opendaylight-release</id>
-                       <name>opendaylight-release</name>
-                       <url>${nexusproxy}/repositories/opendaylight.release/</url>
-               </repository>
-               <!-- OpenDayLight Snapshot artifact -->
-               <repository>
-                       <id>opendaylight-snapshot</id>
-                       <name>opendaylight-snapshot</name>
-                       <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
-               </repository>
-               <!-- Needed for the org.restlet.* dependencies. -->
-               <repository>
-                       <id>maven-restlet</id>
-                       <name>Public online Restlet repository</name>
-                       <url>http://maven.restlet.org</url>
-                       <snapshots>
-                               <enabled>true</enabled>
-                               <updatePolicy>never</updatePolicy>
-                       </snapshots>
-               </repository>
-       </repositories>
-       <pluginRepositories>
-               <pluginRepository>
-                       <id>opendaylight-release</id>
-                       <name>opendaylight-release</name>
-                       <url>http://nexus.opendaylight.org/content/repositories/opendaylight.release/</url>
-               </pluginRepository>
-               <pluginRepository>
-                       <id>opendaylight-snapshot</id>
-                       <name>opendaylight-snapshot</name>
-                       <url>http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url>
-               </pluginRepository>
-       </pluginRepositories>
-       <distributionManagement>
-               <!-- OpenDayLight Released artifact -->
-               <repository>
-                       <id>opendaylight-release</id>
-                       <url>${nexusproxy}/repositories/opendaylight.release/</url>
-               </repository>
-               <!-- OpenDayLight Snapshot artifact -->
-               <snapshotRepository>
-                       <id>opendaylight-snapshot</id>
-                       <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
-               </snapshotRepository>
-               <!-- Site deployment -->
-       </distributionManagement>
-
        <dependencyManagement>
                <dependencies>
+                       <!-- NOTE: the "Type" jar is considered default. You only need to specify
+                               the type when it is something other than jar. -->
+                       <dependency>
+                               <groupId>com.google.guava</groupId>
+                               <artifactId>guava</artifactId>
+                               <version>${guava.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>equinoxSDK381</groupId>
+                               <artifactId>org.eclipse.osgi</artifactId>
+                               <version>3.8.1.v20120830-144521</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>junit</groupId>
+                               <artifactId>junit</artifactId>
+                               <version>4.8.1</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>junit-addons</groupId>
+                               <artifactId>junit-addons</artifactId>
+                               <version>1.4</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.apache.karaf.features</groupId>
+                               <artifactId>framework</artifactId>
+                               <version>${karaf.version}</version>
+                               <type>kar</type>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.hamcrest</groupId>
+                               <artifactId>hamcrest-core</artifactId>
+                               <version>1.3</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.jmock</groupId>
+                               <artifactId>jmock-junit4</artifactId>
+                               <version>2.6.0</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.jmock</groupId>
+                               <artifactId>jmock-legacy</artifactId>
+                               <version>2.6.0</version>
+                       </dependency>
                        <dependency>
                                <groupId>org.opendaylight.controller</groupId>
                                <artifactId>clustering.services</artifactId>
+                               <version>0.6.0-SNAPSHOT</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>commons.northbound</artifactId>
                                <version>0.5.0-SNAPSHOT</version>
                        </dependency>
-
                        <dependency>
-                               <groupId>org.opendaylight.yangtools</groupId>
-                               <artifactId>yang-binding</artifactId>
-                               <version>${yang.binding.version}</version>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>config-api</artifactId>
+                               <version>0.3.0-SNAPSHOT</version>
                        </dependency>
                        <dependency>
-                               <groupId>org.opendaylight.yangtools</groupId>
-                               <artifactId>yang-common</artifactId>
-                               <version>${yang.version}</version>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>config-manager</artifactId>
+                               <version>${config.version}</version>
                        </dependency>
                        <dependency>
-                               <groupId>org.opendaylight.yangtools</groupId>
-                               <artifactId>yang-data-api</artifactId>
-                               <version>${yang.version}</version>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>config-util</artifactId>
+                               <version>0.3.0-SNAPSHOT</version>
                        </dependency>
                        <dependency>
-                               <groupId>org.opendaylight.yangtools</groupId>
-                               <artifactId>yang-model-api</artifactId>
-                               <version>${yang.version}</version>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>containermanager</artifactId>
+                               <version>0.6.0-SNAPSHOT</version>
                        </dependency>
                        <dependency>
-                               <groupId>org.opendaylight.yangtools</groupId>
-                               <artifactId>yang-data-util</artifactId>
-                               <version>${yang.version}</version>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>distribution.opendaylight</artifactId>
+                               <version>0.2.0-SNAPSHOT</version>
+                               <classifier>osgipackage</classifier>
+                               <type>zip</type>
+                               <!-- Make sure this isn't included on any classpath -->
                        </dependency>
                        <dependency>
-                               <groupId>org.opendaylight.yangtools.model</groupId>
-                               <artifactId>ietf-inet-types</artifactId>
-                               <version>2010.09.24.2-SNAPSHOT</version>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>features-adsal</artifactId>
+                               <version>${sal.version}</version>
+                               <classifier>features</classifier>
+                               <type>xml</type>
                        </dependency>
                        <dependency>
-                               <groupId>org.opendaylight.yangtools.model</groupId>
-                               <artifactId>ietf-yang-types</artifactId>
-                               <version>2010.09.24.2-SNAPSHOT</version>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>features-mdsal</artifactId>
+                               <version>${mdsal.version}</version>
+                               <classifier>features</classifier>
+                               <type>xml</type>
                        </dependency>
                        <dependency>
-                               <groupId>com.google.guava</groupId>
-                               <artifactId>guava</artifactId>
-                               <version>${guava.version}</version>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>features-netconf-connector</artifactId>
+                               <version>${mdsal.version}</version>
+                               <classifier>features</classifier>
+                               <type>xml</type>
                        </dependency>
                        <dependency>
                                <groupId>org.opendaylight.controller</groupId>
-                               <artifactId>sal</artifactId>
-                               <version>0.7.0-SNAPSHOT</version>
+                               <artifactId>features-nsf</artifactId>
+                               <version>${nsf.version}</version>
+                               <classifier>features</classifier>
+                               <type>xml</type>
                        </dependency>
+
                        <dependency>
-                               <groupId>junit</groupId>
-                               <artifactId>junit</artifactId>
-                               <version>4.8.1</version>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>karaf.branding</artifactId>
+                               <version>${branding.version}</version>
+                               <scope>compile</scope>
                        </dependency>
                        <dependency>
-                               <groupId>org.hamcrest</groupId>
-                               <artifactId>hamcrest-core</artifactId>
-                               <version>1.3</version>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>netty-event-executor-config</artifactId>
+                               <version>${config.version}</version>
                        </dependency>
                        <dependency>
-                               <groupId>org.jmock</groupId>
-                               <artifactId>jmock-junit4</artifactId>
-                               <version>2.6.0</version>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>networkconfig.neutron</artifactId>
+                               <version>0.5.0-SNAPSHOT</version>
                        </dependency>
                        <dependency>
-                               <groupId>org.jmock</groupId>
-                               <artifactId>jmock-legacy</artifactId>
-                               <version>2.6.0</version>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>opendaylight-karaf-empty</artifactId>
+                               <version>${karaf.empty.version}</version>
+                               <type>zip</type>
                        </dependency>
+
                        <dependency>
-                               <groupId>junit-addons</groupId>
-                               <artifactId>junit-addons</artifactId>
-                               <version>1.4</version>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>opendaylight-karaf-resources</artifactId>
+                               <version>${karaf.resources.version}</version>
                        </dependency>
                        <dependency>
-                               <groupId>equinoxSDK381</groupId>
-                               <artifactId>org.eclipse.osgi</artifactId>
-                               <version>3.8.1.v20120830-144521</version>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>sal</artifactId>
+                               <version>0.9.0-SNAPSHOT</version>
                        </dependency>
                        <dependency>
                                <groupId>org.opendaylight.controller</groupId>
                                <artifactId>sal-binding-api</artifactId>
-                               <version>1.0-SNAPSHOT</version>
+                               <version>${mdsal.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>sal-binding-broker-impl</artifactId>
+                               <version>${mdsal.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>sal-binding-config</artifactId>
+                               <version>${mdsal.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>sal-broker-impl</artifactId>
+                               <version>${mdsal.version}</version>
                        </dependency>
                        <dependency>
                                <groupId>org.opendaylight.controller</groupId>
                                <artifactId>sal-common-util</artifactId>
-                               <version>1.0-SNAPSHOT</version>
+                               <version>${mdsal.version}</version>
                        </dependency>
                        <dependency>
                                <groupId>org.opendaylight.controller</groupId>
-                               <artifactId>config-api</artifactId>
-                               <version>0.2.3-SNAPSHOT</version>
+                               <artifactId>sal-netconf-connector</artifactId>
+                               <version>${mdsal.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>threadpool-config-api</artifactId>
+                               <version>${config.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.controller</groupId>
+                               <artifactId>threadpool-config-impl</artifactId>
+                               <version>0.3.0-SNAPSHOT</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.lispflowmapping</groupId>
+                               <artifactId>common.build.tools</artifactId>
+                               <version>${lispflowmapping.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.lispflowmapping</groupId>
+                               <artifactId>lispflowmapping-code-commons</artifactId>
+                               <version>${lispflowmapping.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.lispflowmapping</groupId>
+                               <artifactId>lispflowmapping-commons</artifactId>
+                               <version>${lispflowmapping.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.lispflowmapping</groupId>
+                               <artifactId>mappingservice.api</artifactId>
+                               <version>${lispflowmapping.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.lispflowmapping</groupId>
+                               <artifactId>mappingservice.clusterdao</artifactId>
+                               <version>${lispflowmapping.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.lispflowmapping</groupId>
+                               <artifactId>mappingservice.config</artifactId>
+                               <version>${lispflowmapping.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.lispflowmapping</groupId>
+                               <artifactId>mappingservice.implementation</artifactId>
+                               <version>${lispflowmapping.version}</version>
                        </dependency>
 
-               </dependencies>
-       </dependencyManagement>
-
-       <reporting>
-               <excludeDefaults>true</excludeDefaults>
-               <outputDirectory>${project.build.directory}/site</outputDirectory>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-project-info-reports-plugin</artifactId>
-                               <version>${projectinfo}</version>
-                               <configuration>
-                                       <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
-                                       <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
-                               </configuration>
-                               <reportSets>
-                                       <reportSet>
-                                               <reports>
-                                                       <report>index</report>
-                                                       <report>project-team</report>
-                                                       <report>license</report>
-                                                       <report>mailing-list</report>
-                                                       <report>plugin-management</report>
-                                                       <report>cim</report>
-                                                       <report>issue-tracking</report>
-                                                       <report>scm</report>
-                                                       <report>summary</report>
-                                               </reports>
-                                       </reportSet>
-                               </reportSets>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-jxr-plugin</artifactId>
-                               <version>2.3</version>
-                               <configuration>
-                                       <aggregate>true</aggregate>
-                                       <linkJavadoc>true</linkJavadoc>
-                               </configuration>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-javadoc-plugin</artifactId>
-                               <version>2.8.1</version>
-                               <configuration>
-                                       <doclet>org.jboss.apiviz.APIviz</doclet>
-                                       <docletArtifact>
-                                               <groupId>org.jboss.apiviz</groupId>
-                                               <artifactId>apiviz</artifactId>
-                                               <version>1.3.2.GA</version>
-                                       </docletArtifact>
-                                       <finalName>${project.artifactId}-${build.suffix}</finalName>
-                                       <useStandardDocletOptions>true</useStandardDocletOptions>
-                                       <charset>UTF-8</charset>
-                                       <encoding>UTF-8</encoding>
-                                       <docencoding>UTF-8</docencoding>
-                                       <breakiterator>true</breakiterator>
-                                       <version>true</version>
-                                       <author>true</author>
-                                       <keywords>true</keywords>
-                                       <excludePackageNames>*.internal:edu.uci.*</excludePackageNames>
-                               </configuration>
-                       </plugin>
-               </plugins>
-       </reporting>
+                       <dependency>
+                               <groupId>org.opendaylight.lispflowmapping</groupId>
+                               <artifactId>mappingservice.netconf</artifactId>
+                               <version>${lispflowmapping.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.lispflowmapping</groupId>
+                               <artifactId>mappingservice.neutron</artifactId>
+                               <version>${lispflowmapping.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.lispflowmapping</groupId>
+                               <artifactId>mappingservice.northbound</artifactId>
+                               <version>${lispflowmapping.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.lispflowmapping</groupId>
+                               <artifactId>mappingservice.southbound</artifactId>
+                               <version>${lispflowmapping.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.lispflowmapping</groupId>
+                               <artifactId>mappingservice.yangmodel</artifactId>
+                               <version>${lispflowmapping.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.yangtools</groupId>
+                               <artifactId>yang-binding</artifactId>
+                               <version>0.7.0-SNAPSHOT</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.yangtools</groupId>
+                               <artifactId>yang-common</artifactId>
+                               <version>0.7.0-SNAPSHOT</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.yangtools</groupId>
+                               <artifactId>yang-data-api</artifactId>
+                               <version>0.7.0-SNAPSHOT</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.yangtools</groupId>
+                               <artifactId>yang-data-impl</artifactId>
+                               <version>${yangtools.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.yangtools</groupId>
+                               <artifactId>yang-data-util</artifactId>
+                               <version>0.7.0-SNAPSHOT</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.yangtools</groupId>
+                               <artifactId>yang-model-api</artifactId>
+                               <version>0.7.0-SNAPSHOT</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.yangtools</groupId>
+                               <artifactId>yang-parser-impl</artifactId>
+                               <version>${yangtools.version}</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.yangtools.model</groupId>
+                               <artifactId>ietf-inet-types</artifactId>
+                               <version>2010.09.24.7-SNAPSHOT</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.yangtools.model</groupId>
+                               <artifactId>ietf-yang-types</artifactId>
+                               <version>2010.09.24.7-SNAPSHOT</version>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.apache.karaf.features</groupId>
+                               <artifactId>standard</artifactId>
+                               <version>${karaf.version}</version>
+                               <classifier>features</classifier>
+                               <type>xml</type>
+                               <scope>runtime</scope>
+                       </dependency>
+
+                       <dependency>
+                               <groupId>org.opendaylight.lispflowmapping</groupId>
+                               <artifactId>features-lispflowmapping</artifactId>
+                               <version>${lispflowmapping.version}</version>
+                               <classifier>features</classifier>
+                               <type>xml</type>
+                               <scope>runtime</scope>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.lispflowmapping</groupId>
+                               <artifactId>common.unittest.tools</artifactId>
+                               <version>${lispflowmapping.version}</version>
+                               <scope>test</scope>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.yangtools</groupId>
+                               <artifactId>features-test</artifactId>
+                               <version>${feature.test.version}</version>
+                               <scope>test</scope>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.opendaylight.yangtools</groupId>
+                               <artifactId>mockito-configuration</artifactId>
+                               <version>${yangtools.version}</version>
+                               <scope>test</scope>
+                       </dependency>
+               </dependencies>
+       </dependencyManagement>
        <build>
                <pluginManagement>
                        <plugins>
-                       <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-release-plugin</artifactId>
-          <version>${releaseplugin.version}</version>
-        </plugin>
                                <plugin>
-                                       <groupId>org.jacoco</groupId>
-                                       <artifactId>jacoco-maven-plugin</artifactId>
-                                       <version>${jacoco.version}</version>
+                                       <!-- This configures the sort pom plugin to sort properties, dependencies
+                                               etc during a build. It helps to ensure consistent poms that are easy to read.
+                                               While the configuration should exist at a root level it is still up to the
+                                               individual projects to invoke it by defining the plugin in the build->plugins
+                                               section. -->
+                                       <groupId>com.google.code.sortpom</groupId>
+                                       <artifactId>maven-sortpom-plugin</artifactId>
+                                       <version>2.2.1</version>
+                                       <configuration>
+                                               <createBackupFile>false</createBackupFile>
+                                               <encoding>${project.build.sourceEncoding}</encoding>
+                                               <keepBlankLines>true</keepBlankLines>
+                                               <lineSeparator>\n</lineSeparator>
+                                               <nrOfIndentSpace>2</nrOfIndentSpace>
+                                               <predefinedSortOrder>custom_1</predefinedSortOrder>
+                                               <sortDependencies>scope,groupId,artifactId</sortDependencies>
+                                               <sortPlugins>groupId,artifactId</sortPlugins>
+                                               <sortProperties>true</sortProperties>
+                                       </configuration>
+                                       <executions>
+                                               <execution>
+                                                       <goals>
+                                                               <goal>sort</goal>
+                                                       </goals>
+                                                       <phase>verify</phase>
+                                               </execution>
+                                       </executions>
                                </plugin>
                                <plugin>
                                        <groupId>org.apache.felix</groupId>
                                        <artifactId>maven-bundle-plugin</artifactId>
-                                       <version>2.3.6</version>
+                                       <version>2.4.0</version>
                                        <extensions>true</extensions>
                                        <configuration>
                                                <manifestLocation>${project.basedir}/META-INF</manifestLocation>
                                        <version>2.4</version>
                                </plugin>
                                <plugin>
+                                       <!-- TODO move up to ODL parent. -->
+                                       <!-- This is required to make sure that we delete the files which are
+                                               being generated under the src/main directory since by default only files
+                                               under target get cleaned up. Because the clean plugin is automatically invoked
+                                               you do NOT need to specify it in the build->plugin section. You would only
+                                               want to override this if you have additional folders which need to be cleaned
+                                               up. -->
+                                       <artifactId>maven-clean-plugin</artifactId>
+                                       <configuration>
+                                               <filesets>
+                                                       <fileset>
+                                                               <directory>${xtend.dstdir}</directory>
+                                                               <includes>
+                                                                       <include>**</include>
+                                                               </includes>
+                                                       </fileset>
+                                                       <fileset>
+                                                               <directory>${jmxGeneratorPath}</directory>
+                                                               <includes>
+                                                                       <include>**</include>
+                                                               </includes>
+                                                       </fileset>
+                                                       <fileset>
+                                                               <directory>${salGeneratorPath}</directory>
+                                                               <includes>
+                                                                       <include>**</include>
+                                                               </includes>
+                                                       </fileset>
+                                               </filesets>
+                                       </configuration>
+                               </plugin>
+                               <plugin>
+                                       <!-- this should really be defined in odl parent as it defines what
+                                               JRE this is targeted for. -->
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-compiler-plugin</artifactId>
                                        <version>2.3.2</version>
                                        <configuration>
-                                               <source>1.7</source>
-                                               <target>1.7</target>
+                                               <source>${java.version.source}</source>
+                                               <target>${java.version.target}</target>
                                        </configuration>
                                </plugin>
                                <plugin>
+                                       <!-- we are overriding the default version of this plugin here... not
+                                               sure why. -->
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-dependency-plugin</artifactId>
                                        <version>2.8</version>
                                </plugin>
+                               <plugin>
+                                       <!-- Configures the java doc generation. Generally you should not have
+                                               to override this unless you need to exclude other packages etc. -->
+                                       <groupId>org.apache.maven.plugins</groupId>
+                                       <artifactId>maven-javadoc-plugin</artifactId>
+                                       <version>2.8.1</version>
+                                       <configuration>
+                                               <doclet>org.jboss.apiviz.APIviz</doclet>
+                                               <docletArtifact>
+                                                       <groupId>org.jboss.apiviz</groupId>
+                                                       <artifactId>apiviz</artifactId>
+                                                       <version>1.3.2.GA</version>
+                                               </docletArtifact>
+                                               <finalName>${project.artifactId}-${project.version}</finalName>
+                                               <useStandardDocletOptions>true</useStandardDocletOptions>
+                                               <charset>UTF-8</charset>
+                                               <encoding>UTF-8</encoding>
+                                               <docencoding>UTF-8</docencoding>
+                                               <breakiterator>true</breakiterator>
+                                               <version>true</version>
+                                               <author>true</author>
+                                               <keywords>true</keywords>
+                                               <excludePackageNames>net.sf.jnetlib.*:cern.*:corejava:*.internal:edu.uci.*</excludePackageNames>
+                                               <failOnError>false</failOnError>
+                                       </configuration>
+                               </plugin>
+                               <plugin>
+                                       <groupId>org.apache.maven.plugins</groupId>
+                                       <artifactId>maven-jxr-plugin</artifactId>
+                                       <version>2.3</version>
+                                       <configuration>
+                                               <aggregate>true</aggregate>
+                                               <linkJavadoc>true</linkJavadoc>
+                                               <javadocDir>target/apidocs</javadocDir>
+                                       </configuration>
+                               </plugin>
+                               <plugin>
+                                       <groupId>org.apache.maven.plugins</groupId>
+                                       <artifactId>maven-release-plugin</artifactId>
+                                       <version>${releaseplugin.version}</version>
+                               </plugin>
                                <plugin>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-surefire-plugin</artifactId>
                                        <version>2.14.1</version>
                                </plugin>
                                <plugin>
-                                       <groupId>org.opendaylight.yangtools</groupId>
-                                       <artifactId>yang-maven-plugin</artifactId>
-                                       <version>${yang.version}</version>
+                                       <groupId>org.codehaus.enunciate</groupId>
+                                       <artifactId>maven-enunciate-plugin</artifactId>
+                                       <version>${enunciate.version}</version>
+                                       <configuration>
+                                               <configFile>enunciate.xml</configFile>
+                                       </configuration>
                                        <executions>
                                                <execution>
                                                        <goals>
-                                                               <goal>generate-sources</goal>
+                                                               <goal>docs</goal>
                                                        </goals>
-                                                       <configuration>
-                                                               <yangFilesRootDir>src/main/yang</yangFilesRootDir>
-                                                               <codeGenerators>
-                                                                       <generator>
-                                                                               <codeGeneratorClass>
-                                                                                       org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
-                                                                               </codeGeneratorClass>
-                                                                               <outputBaseDir>
-                                                                                       target/generated-sources/sal
-                                                                               </outputBaseDir>
-                                                                       </generator>
-                                                               </codeGenerators>
-                                                               <inspectDependencies>true</inspectDependencies>
-                                                       </configuration>
                                                </execution>
                                        </executions>
-                                       <dependencies>
-                                               <dependency>
-                                                       <groupId>org.opendaylight.yangtools</groupId>
-                                                       <artifactId>maven-sal-api-gen-plugin</artifactId>
-                                                       <version>${yang.codegen.version}</version>
-                                                       <type>jar</type>
-                                               </dependency>
-                                       </dependencies>
                                </plugin>
                                <plugin>
+                                       <!-- TODO: This should be in ODL parent -->
                                        <groupId>org.codehaus.mojo</groupId>
                                        <artifactId>build-helper-maven-plugin</artifactId>
-                                       <version>1.7</version>
+                                       <version>1.8</version>
                                        <executions>
                                                <execution>
-                                                       <phase>generate-sources</phase>
+                                                       <id>add-source</id>
                                                        <goals>
                                                                <goal>add-source</goal>
                                                        </goals>
+                                                       <phase>generate-sources</phase>
                                                        <configuration>
                                                                <sources>
-                                                                       <source>target/generated-sources/sal</source>
+                                                                       <source>${yang.src.path}</source>
+                                                                       <source>${jmxGeneratorPath}</source>
+                                                                       <source>${salGeneratorPath}</source>
+                                                                       <source>${xtend.dstdir}</source>
                                                                </sources>
                                                        </configuration>
                                                </execution>
                                        </executions>
                                </plugin>
+
                                <plugin>
                                        <groupId>org.eclipse.m2e</groupId>
                                        <artifactId>lifecycle-mapping</artifactId>
                                                                                </goals>
                                                                        </pluginExecutionFilter>
                                                                        <action>
-                                                                               <ignore />
+                                                                               <ignore></ignore>
                                                                        </action>
                                                                </pluginExecution>
                                                                <pluginExecution>
                                                                                </goals>
                                                                        </pluginExecutionFilter>
                                                                        <action>
-                                                                               <ignore />
+                                                                               <ignore></ignore>
                                                                        </action>
                                                                </pluginExecution>
                                                                <pluginExecution>
                                                                                </goals>
                                                                        </pluginExecutionFilter>
                                                                        <action>
-                                                                               <ignore />
+                                                                               <ignore></ignore>
                                                                        </action>
                                                                </pluginExecution>
                                                                <pluginExecution>
                                                                                </goals>
                                                                        </pluginExecutionFilter>
                                                                        <action>
-                                                                               <ignore />
+                                                                               <ignore></ignore>
                                                                        </action>
                                                                </pluginExecution>
                                                                <pluginExecution>
                                                                                </goals>
                                                                        </pluginExecutionFilter>
                                                                        <action>
-                                                                               <ignore />
+                                                                               <ignore></ignore>
                                                                        </action>
                                                                </pluginExecution>
                                                                <pluginExecution>
                                                                                <artifactId>yang-maven-plugin</artifactId>
                                                                                <versionRange>[0.5,)</versionRange>
                                                                                <goals>
-                                                                                       <goal>generate-sources </goal>
+                                                                                       <goal>generate-sources</goal>
                                                                                </goals>
                                                                        </pluginExecutionFilter>
                                                                        <action>
                                        </configuration>
                                </plugin>
                                <plugin>
-                                       <groupId>org.codehaus.enunciate</groupId>
-                                       <artifactId>maven-enunciate-plugin</artifactId>
-                                       <version>${enunciate.version}</version>
-                                       <configuration>
-                                               <configFile>enunciate.xml</configFile>
-                                       </configuration>
+                                       <groupId>org.jacoco</groupId>
+                                       <artifactId>jacoco-maven-plugin</artifactId>
+                                       <version>${jacoco.version}</version>
+                               </plugin>
+                               <plugin>
+                                       <!-- here we are defining the default generators for yang You may need
+                                               to override this in child poms if you want to define additional generators,
+                                               such as the JMX generator etc. -->
+                                       <groupId>org.opendaylight.yangtools</groupId>
+                                       <artifactId>yang-maven-plugin</artifactId>
+                                       <version>${yangtools.version}</version>
+                                       <dependencies>
+                                               <dependency>
+                                                       <groupId>org.opendaylight.yangtools</groupId>
+                                                       <artifactId>maven-sal-api-gen-plugin</artifactId>
+                                                       <version>${yangtools.version}</version>
+                                               </dependency>
+                                       </dependencies>
                                        <executions>
                                                <execution>
                                                        <goals>
-                                                               <goal>docs</goal>
+                                                               <goal>generate-sources</goal>
                                                        </goals>
+                                                       <configuration>
+                                                               <yangFilesRootDir>${yang.src.path}</yangFilesRootDir>
+                                                               <codeGenerators>
+                                                                       <generator>
+                                                                               <codeGeneratorClass>org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl</codeGeneratorClass>
+                                                                               <outputBaseDir>${salGeneratorPath}</outputBaseDir>
+                                                                       </generator>
+                                                               </codeGenerators>
+                                                               <inspectDependencies>true</inspectDependencies>
+                                                       </configuration>
                                                </execution>
                                        </executions>
                                </plugin>
-                               <plugin>
-                                       <groupId>org.apache.maven.plugins</groupId>
-                                       <artifactId>maven-javadoc-plugin</artifactId>
-                                       <version>2.8.1</version>
-                                       <configuration>
-                                               <doclet>org.jboss.apiviz.APIviz</doclet>
-                                               <docletArtifact>
-                                                       <groupId>org.jboss.apiviz</groupId>
-                                                       <artifactId>apiviz</artifactId>
-                                                       <version>1.3.2.GA</version>
-                                               </docletArtifact>
-                                               <finalName>${project.artifactId}-1.0.0</finalName>
-                                               <useStandardDocletOptions>true</useStandardDocletOptions>
-                                               <charset>UTF-8</charset>
-                                               <encoding>UTF-8</encoding>
-                                               <docencoding>UTF-8</docencoding>
-                                               <breakiterator>true</breakiterator>
-                                               <version>true</version>
-                                               <author>true</author>
-                                               <keywords>true</keywords>
-                                               <excludePackageNames>net.sf.jnetlib.*:cern.*:corejava:*.internal:edu.uci.*</excludePackageNames>
-                                               <failOnError>false</failOnError>
-                                       </configuration>
-                               </plugin>
-                               <plugin>
-                                       <groupId>org.apache.maven.plugins</groupId>
-                                       <artifactId>maven-jxr-plugin</artifactId>
-                                       <version>2.3</version>
-                                       <configuration>
-                                               <aggregate>true</aggregate>
-                                               <linkJavadoc>true</linkJavadoc>
-                                               <javadocDir>target/apidocs</javadocDir>
-                                       </configuration>
-                               </plugin>
+      <plugin>
+        <!-- Define the configuration for the checkstyle plugin.  Import the rules from the controller project, which
+             is defined as a dependency.  Print rule violations to the console, but don't fail the build if violations
+             are found. -->
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <version>${checkstyle.version}</version>
+        <configuration>
+          <failOnViolation>false</failOnViolation>
+          <configLocation>controller/checkstyle.xml</configLocation>
+          <consoleOutput>true</consoleOutput>
+          <includeTestSourceDirectory>true</includeTestSourceDirectory>
+          <sourceDirectory>${project.basedir}</sourceDirectory>
+          <includes>**\/*.java,**\/*.xml,**\/*.yang</includes>
+          <excludes>**\/target\/,**\/target-ide\/,**\/${jmxGeneratorPath}\/,**\/${salGeneratorPath}\/</excludes>
+        </configuration>
+        <dependencies>
+          <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>checkstyle</artifactId>
+            <version>${controller.checkstyle.version}</version>
+          </dependency>
+        </dependencies>
+        <executions>
+          <execution>
+            <goals>
+              <goal>check</goal>
+            </goals>
+            <phase>process-sources</phase>
+          </execution>
+        </executions>
+      </plugin>
                        </plugins>
                </pluginManagement>
+               <plugins>
+
+                       <plugin>
+                               <!-- This should run on ALL projects because it makes eclipse import
+                                       the correct source folders to get rid of hte red x's. This should live in
+                                       ODLPARENT. -->
+                               <groupId>org.codehaus.mojo</groupId>
+                               <artifactId>build-helper-maven-plugin</artifactId>
+                       </plugin>
+
+               </plugins>
        </build>
 
+       <reporting>
+               <outputDirectory>${project.build.directory}/site</outputDirectory>
+               <excludeDefaults>true</excludeDefaults>
+               <plugins>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-javadoc-plugin</artifactId>
+                               <version>2.8.1</version>
+                               <configuration>
+                                       <doclet>org.jboss.apiviz.APIviz</doclet>
+                                       <docletArtifact>
+                                               <groupId>org.jboss.apiviz</groupId>
+                                               <artifactId>apiviz</artifactId>
+                                               <version>1.3.2.GA</version>
+                                       </docletArtifact>
+                                       <finalName>${project.artifactId}-${build.suffix}</finalName>
+                                       <useStandardDocletOptions>true</useStandardDocletOptions>
+                                       <charset>UTF-8</charset>
+                                       <encoding>UTF-8</encoding>
+                                       <docencoding>UTF-8</docencoding>
+                                       <breakiterator>true</breakiterator>
+                                       <version>true</version>
+                                       <author>true</author>
+                                       <keywords>true</keywords>
+                                       <excludePackageNames>*.internal:edu.uci.*</excludePackageNames>
+                               </configuration>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-jxr-plugin</artifactId>
+                               <version>2.3</version>
+                               <configuration>
+                                       <aggregate>true</aggregate>
+                                       <linkJavadoc>true</linkJavadoc>
+                               </configuration>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-project-info-reports-plugin</artifactId>
+                               <version>${projectinfo}</version>
+                               <configuration>
+                                       <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
+                                       <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
+                               </configuration>
+                               <reportSets>
+                                       <reportSet>
+                                               <reports>
+                                                       <report>index</report>
+                                                       <report>project-team</report>
+                                                       <report>license</report>
+                                                       <report>mailing-list</report>
+                                                       <report>plugin-management</report>
+                                                       <report>cim</report>
+                                                       <report>issue-tracking</report>
+                                                       <report>scm</report>
+                                                       <report>summary</report>
+                                               </reports>
+                                       </reportSet>
+                               </reportSets>
+                       </plugin>
+               </plugins>
+       </reporting>
+
+       <distributionManagement>
+               <!-- Note: We want the nexus proxy property here because want to enable
+                       devs to upload this artifact using mvn deploy to other maven repositories. -->
+               <!-- OpenDayLight Released artifact -->
+               <repository>
+                       <id>opendaylight-release</id>
+                       <url>${nexusproxy}/repositories/opendaylight.release/</url>
+               </repository>
+               <!-- OpenDayLight Snapshot artifact -->
+               <snapshotRepository>
+                       <id>opendaylight-snapshot</id>
+                       <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
+               </snapshotRepository>
+               <!-- Site deployment -->
+       </distributionManagement>
+
 </project>