Added YANG model of Openflow Types 83/783/3
authorAdam Brcek <adam.brcek@pantheon.sk>
Sun, 4 Aug 2013 17:15:07 +0000 (19:15 +0200)
committerAdam Brcek <adam.brcek@pantheon.sk>
Tue, 20 Aug 2013 12:00:23 +0000 (14:00 +0200)
Change-Id: Id5b25a47aabfbd1449f9536b81de4ab7f28dce5b
Signed-off-by: Adam Brcek <adam.brcek@pantheon.sk>
openflow-protocol-api/pom.xml
openflow-protocol-api/src/main/yang/openflow-types.yang [new file with mode: 0644]
openflow-protocol-impl/pom.xml
openflow-protocol-spi/pom.xml
pom.xml

index 23026f540c2f985f10a61f7a1ae1488ec9d0319d..0be94c211317bedc50482e3d429a824cd1a1fa8e 100644 (file)
 <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/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.opendaylight.openflow</groupId>
-        <artifactId>openflow-protocol-parent</artifactId>
-        <version>0.1-SNAPSHOT</version>
-    </parent>
-    <artifactId>openflow-protocol-api</artifactId>
-    <packaging>pom</packaging>
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+       <modelVersion>4.0.0</modelVersion>
+       <parent>
+               <groupId>org.opendaylight.openflow</groupId>
+               <artifactId>openflow-protocol-parent</artifactId>
+               <version>0.1-SNAPSHOT</version>
+       </parent>
+       <artifactId>openflow-protocol-api</artifactId>
+       <name>Openflow Protocol Library - API</name>
+
+       <build>
+        <plugins>
+            <plugin>
+                <groupId>org.opendaylight.yangtools</groupId>
+                <artifactId>yang-maven-plugin</artifactId>
+                <version>0.5.7-SNAPSHOT</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>generate-sources</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>false</inspectDependencies>
+                        </configuration>
+                    </execution>
+                </executions>
+
+                <dependencies>
+                    <dependency>
+                        <groupId>org.opendaylight.yangtools</groupId>
+                        <artifactId>maven-sal-api-gen-plugin</artifactId>
+                        <version>0.5.7-SNAPSHOT</version>
+                        <type>jar</type>
+                    </dependency>
+                </dependencies>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <version>1.7</version>
+                <executions>
+                    <execution>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>add-source</goal>
+                        </goals>
+                        <configuration>
+                            <sources>
+                                <source>target/generated-sources/sal</source>
+                            </sources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+        <pluginManagement>
+            <plugins>
+                <!--This plugin's configuration is used to store Eclipse 
+                    m2e settings only. It has no influence on the Maven build itself. -->
+                <plugin>
+                    <groupId>org.eclipse.m2e</groupId>
+                    <artifactId>lifecycle-mapping</artifactId>
+                    <version>1.0.0</version>
+                    <configuration>
+                        <lifecycleMappingMetadata>
+                            <pluginExecutions>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>
+                                            org.opendaylight.controller
+                                        </groupId>
+                                        <artifactId>
+                                            yang-maven-plugin
+                                        </artifactId>
+                                        <versionRange>
+                                            [0.5,)
+                                        </versionRange>
+                                        <goals>
+                                            <goal>
+                                                generate-sources
+                                            </goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore></ignore>
+                                    </action>
+                                </pluginExecution>
+                            </pluginExecutions>
+                        </lifecycleMappingMetadata>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+    <dependencies>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-binding</artifactId>
+            <version>0.5.7-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-common</artifactId>
+            <version>0.5.7-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
 </project>
\ No newline at end of file
diff --git a/openflow-protocol-api/src/main/yang/openflow-types.yang b/openflow-protocol-api/src/main/yang/openflow-types.yang
new file mode 100644 (file)
index 0000000..3791f56
--- /dev/null
@@ -0,0 +1,209 @@
+module openflow-types {
+    namespace "urn:opendaylight:openflow:common:types";
+    prefix "oft";
+
+    revision "2013-07-31" {
+        //description "Initial model";
+    }
+
+    typedef port-number {
+        type uint32 {
+                range "0..4294967040"; // 0xffffff00 See for actual value
+        }
+    }
+
+    typedef special-port-number {
+        type enumeration {
+            enum in_port { 
+                //value "4294967288";
+                //description "Send the packet out the input port. This virtual port must be explicitly used in order to send back out of the input port."
+            }
+            enum table { 
+                //value "4294967289"; // 0xfffffff9;
+                //description "Perform actions in flow table. NB: This can only be the destination port for packet-out messages."
+            }
+            enum normal { 
+                //value "4294967290"; // 0xfffffffa;
+                //description "Process with normal L2/L3 switching."
+            }
+            enum flood { 
+                //value "4294967291"; // 0xfffffffb;
+                //description "All physical ports except input port and those disabled by STP."
+            }
+            enum all { 
+                //value "4294967292"; // 0xfffffffc;
+                //description "All physical ports except input port."
+            }
+            enum controller { 
+                //value "4294967293";  // 0xfffffffd;
+                //description "Send to controller."
+            }
+            enum local { 
+                //value "4294967294"; // 0xfffffffe;
+                //description "Local openflow port."
+            }
+            enum none { 
+                //value "4294967295"; // 0xffffffff;
+                //description "not associated with a physical port."
+            }
+        }
+    }
+
+    typedef any-port-number {
+        type union {
+            type port-number;
+            type special-port-number;
+        }
+    }
+
+
+    typedef port-features {
+        ////description "Features of ports available in datapath.";
+        //reference "ofp_port_features";
+        type bits {
+            bit 10mb_hd { 
+                position 0;
+                //description "10 Mb half-duplex rate support.";
+            }
+            bit 10mb_fd { 
+                position 1;
+                //description "10 Mb full-duplex rate support.";
+            }
+            bit 100mb_hd { 
+                position 2;
+                //description "100 Mb half-duplex rate support.";
+            }
+            bit 100mb_fd { 
+                position 3;
+                //description "100 Mb full-duplex rate support.";
+            }
+            bit 1gb_hd { 
+                position 4;
+                //description "1 Gb half-duplex rate support.";
+            }
+            bit 1gb_fd { 
+                position 5;
+                //description "1 Gb full-duplex rate support.";
+            }
+            bit 10gb_fd { 
+                position 6;
+                //description "10 Gb full-duplex rate support.";
+            }
+            bit 40gb_fd { 
+                position 7;
+                //description "40 Gb full-duplex rate support.";
+            }
+            bit 100gb_fd { 
+                position 8;
+                //description "100 Gb full-duplex rate support.";
+            }
+            bit 1tb_fd { 
+                position 9;
+                //description "1 Tb full-duplex rate support.";
+            }
+            bit other { 
+                position 10;
+                //description "Other rate, not in the list.";
+            }
+            bit copper { 
+                position 11;
+                //description "Copper medium.";
+            }
+            bit fiber { 
+                position 12;
+                //description "Fiber medium.";
+            }
+            bit autoneg { 
+                position 13;
+                //description "Auto-negotiation.";
+            }
+            bit pause { 
+                position 14;
+                //description "Pause.";
+            }
+            bit pause_asym { 
+                position 15;
+                //description "Asymmetric pause.";
+            }
+        }
+    }
+
+    typedef port_config {
+        description 
+           "Flags to indicate behavior of the physical port. These flags are
+            describe the current configuration and used port_mod message 
+            to configure the port's behavior.";
+        type bits {
+            bit port_down { 
+                //description " Port is administratively down.";
+                position 0;
+            }
+            bit no_recv { 
+                //description " Drop all packets received by port.";
+                position 2;
+            }
+            bit no_fwd { 
+                //description " Drop packets forwarded to port.";
+                position 5;
+            }
+            bit no_packet_in { 
+                //description "Do not send packet-in msgs for port.";
+                position 6;
+            }
+        }
+    }
+
+    typedef ofp_port_state {
+        description 
+            "Current state of the physical port. These are not configurable from
+            the controller.";
+        type bits {
+            bit link_down {
+                //description "No physical link present.";
+                position 0;
+            }
+            bit blocked {
+                //description "Port is blocked";
+                position 1;
+            }
+            bit live {
+                //description "Live for Fast Failover Group.";
+                position 2;
+            }
+        }
+    }
+
+    identity match-type {
+        description 
+           "The match type indicates the match structure (set of fields that compose the
+            match) in use. The match type is placed in the type field at the beginning
+            of all match structures.Extensions that define match types may be 
+            published on the ONF wiki. Support for extensions is optional.";
+    }
+
+    identity standard-match-type {
+        deprecated true;
+        base oft:match-type;
+    }
+
+    typedef match-type {
+        type identityref {
+            base oft:match-type;
+        }
+    }
+
+    identity instruction {
+
+    }
+
+    identity action {
+
+    }
+
+
+    typedef metadata {
+        type binary;
+    }
+
+
+}
\ No newline at end of file
index ad551e763298a073adf142f19bb14453614b11e9..9db59434daf2450ac2dffc61a0ecdd16fcbb585b 100644 (file)
@@ -1,24 +1,31 @@
 <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/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.opendaylight.openflow</groupId>
-        <artifactId>openflow-protocol-parent</artifactId>
-        <version>0.1-SNAPSHOT</version>
-    </parent>
-    <artifactId>openflow-protocol-impl</artifactId>
-    <packaging>pom</packaging>
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+       <modelVersion>4.0.0</modelVersion>
+       <parent>
+               <groupId>org.opendaylight.openflow</groupId>
+               <artifactId>openflow-protocol-parent</artifactId>
+               <version>0.1-SNAPSHOT</version>
+       </parent>
+       <artifactId>openflow-protocol-impl</artifactId>
+       <name>Openflow Protocol Library - Implementation</name>
 
-    <dependencies>
-       <dependency>
-           <groupId>org.opendaylight.openflow</groupId>
-            <artifactId>openflow-protocol-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opendaylight.openflow</groupId>
-            <artifactId>openflow-protocol-spi</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
+
+       <dependencies>
+               <dependency>
+                       <groupId>org.opendaylight.openflow</groupId>
+                       <artifactId>openflow-protocol-api</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.opendaylight.openflow</groupId>
+                       <artifactId>openflow-protocol-spi</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <!-- TODO: Pick netty-* dependencies which are required, leave all optional -->
+                       <groupId>io.netty</groupId>
+                       <artifactId>netty-all</artifactId>
+                       <version>4.0.4.Final</version>
+               </dependency>
+       </dependencies>
 </project>
\ No newline at end of file
index e01cd9a61dd9fa662c46c2ac14b5457ac7423ca8..61b6143ae0f5a1f61d019babf528cd94ef419b2d 100644 (file)
@@ -7,8 +7,8 @@
         <version>0.1-SNAPSHOT</version>
     </parent>
     <artifactId>openflow-protocol-spi</artifactId>
-    <packaging>pom</packaging>
-
+       <name>Openflow Protocol Library SPI</name>
+       
     <dependencies>
        <dependency>
            <groupId>org.opendaylight.openflow</groupId>
diff --git a/pom.xml b/pom.xml
index 89ec4bc83eb65d8f5ee823c80fd3613252f859a6..ea8ee7688d88dab4ca7f8cd12e449b7e4ce0820d 100644 (file)
--- a/pom.xml
+++ b/pom.xml
 <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/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>org.opendaylight.openflow</groupId>
-    <artifactId>openflow-protocol-parent</artifactId>
-    <version>0.1-SNAPSHOT</version>
-    <packaging>pom</packaging>
-    <modules>
-        <module>openflow-protocol-api</module>
-        <module>openflow-protocol-spi</module>
-        <module>openflow-protocol-impl</module>
-    </modules>
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+       <modelVersion>4.0.0</modelVersion>
+       <groupId>org.opendaylight.openflow</groupId>
+       <artifactId>openflow-protocol-parent</artifactId>
+       <version>0.1-SNAPSHOT</version>
+       <packaging>pom</packaging>
+       <modules>
+               <module>openflow-protocol-api</module>
+               <module>openflow-protocol-spi</module>
+               <module>openflow-protocol-impl</module>
+       </modules>
 
-    <properties>
-        <sonar.host.url>https://sonar.opendaylight.org/</sonar.host.url>
-        <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
-        <sitedeploy>dav:http://nexus.opendaylight.org/content/sites/site</sitedeploy>
-        <siteplugin>3.2</siteplugin>
-        <projectinfo>2.6</projectinfo>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <compiler.version>2.3.2</compiler.version>
-        <surefire.version>2.13</surefire.version>
-        <exam.version>3.0.0</exam.version>
-        <url.version>1.5.0</url.version>
-        <enunciate.version>1.26.2</enunciate.version>
-        <sonar.branch>${user.name}-private-view</sonar.branch>
-        <sonar.skippedModules>org.openflow.openflowj,net.sf.jung2</sonar.skippedModules>
-        <logback.version>1.0.9</logback.version>
-        <slf4j.version>1.7.2</slf4j.version>
-    </properties>
+       <name>Openflow Protocol Library</name>
 
-    <pluginRepositories>
-        <pluginRepository>
-            <id>central2</id>
-            <name>central2</name>
-            <url>${nexusproxy}/repositories/central2/</url>
-        </pluginRepository>
-    </pluginRepositories>
+       <developers>
+               <developer>
+                       <name>Adam Brček</name>
+                       <email>adam.brcek@pantheon.sk</email>
+               </developer>
+       </developers>
 
 
-    <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>
-    </repositories>
-    <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 -->
-        <!-- site>
-            <id>website</id>
-            <url>${sitedeploy}</url>
-        </site -->
-    </distributionManagement>
+       <properties>
+               <sonar.host.url>https://sonar.opendaylight.org/</sonar.host.url>
+               <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
+               <sitedeploy>dav:http://nexus.opendaylight.org/content/sites/site</sitedeploy>
+               <siteplugin>3.2</siteplugin>
+               <projectinfo>2.6</projectinfo>
+               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+               <compiler.version>2.3.2</compiler.version>
+               <surefire.version>2.13</surefire.version>
+               <exam.version>3.0.0</exam.version>
+               <url.version>1.5.0</url.version>
+               <enunciate.version>1.26.2</enunciate.version>
+               <sonar.branch>${user.name}-private-view</sonar.branch>
+               <sonar.skippedModules>org.openflow.openflowj,net.sf.jung2</sonar.skippedModules>
+               <logback.version>1.0.9</logback.version>
+               <slf4j.version>1.7.2</slf4j.version>
+       </properties>
 
+       <pluginRepositories>
+               <pluginRepository>
+                       <id>central2</id>
+                       <name>central2</name>
+                       <url>${nexusproxy}/repositories/central2/</url>
+               </pluginRepository>
+               
+               <!-- OpenDayLight Released artifact -->
+               <pluginRepository>
+                       <id>opendaylight-release</id>
+                       <name>opendaylight-release</name>
+                       <url>${nexusproxy}/repositories/opendaylight.release/</url>
+               </pluginRepository>
+               <!-- OpenDayLight Snapshot artifact -->
+               <pluginRepository>
+                       <id>opendaylight-snapshot</id>
+                       <name>opendaylight-snapshot</name>
+                       <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
+               </pluginRepository>
+       </pluginRepositories>
 
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>junit</groupId>
-                <artifactId>junit</artifactId>
-                <version>4.10</version>
-                <scope>test</scope>
-                <optional>true</optional>
-            </dependency>
-            <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-api</artifactId>
-                <version>1.7.2</version>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>${compiler.version}</version>
-                <inherited>true</inherited>
-                <configuration>
-                    <source>1.7</source>
-                    <target>1.7</target>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>2.8.1</version>
-                <configuration>
-                    <stylesheet>maven</stylesheet>
-                </configuration>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>aggregate</goal>
-                        </goals>
-                        <phase>site</phase>
-                    </execution> 
-                    <execution> 
-                          <id>attach-javadocs</id>
-                          <phase>deploy</phase>
-                          <goals><goal>jar</goal></goals> 
-                    </execution> 
-                </executions> 
-            </plugin>
-            <plugin>
-            <artifactId>maven-source-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>attach-sources</id>
-                        <phase>deploy</phase>
-                        <goals><goal>jar-no-fork</goal></goals> 
-                    </execution>
-                 </executions>
-            </plugin>
-            <plugin> 
-                <!-- explicitly define maven-deploy-plugin after other to force exec order -->
-                <artifactId>maven-deploy-plugin</artifactId> 
-                <executions> 
-                    <execution> 
-                        <id>deploy</id>
-                        <phase>deploy</phase>
-                        <goals><goal>deploy</goal></goals> 
-                    </execution> 
-                </executions> 
-            </plugin> 
-        </plugins>
-    </build>
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>findbugs-maven-plugin</artifactId>
-                <version>2.4.0</version>
-                <configuration>
-                    <effort>Max</effort>
-                    <threshold>Low</threshold>
-                    <goal>site</goal>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>jdepend-maven-plugin</artifactId>
-                <version>2.0-beta-2</version>
-            </plugin>
-        </plugins>
-    </reporting>
-    <profiles>
-        <profile>
-            <id>viewbuild</id>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-            <properties>
-                <build.suffix>${project.version}</build.suffix>
-            </properties>
-        </profile>
-        <profile>
-            <id>jenkins</id>
-            <activation>
-                <property>
-                    <name>BUILDSUFFIX</name>
-                </property>
-            </activation>
-            <properties>
-                <build.suffix>${BUILDSUFFIX}</build.suffix>
-            </properties>
-        </profile>
-    </profiles>
+
+       <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>
+       </repositories>
+       <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 -->
+               <!-- site> <id>website</id> <url>${sitedeploy}</url> </site -->
+       </distributionManagement>
+
+
+       <dependencyManagement>
+               <dependencies>
+                       <dependency>
+                               <groupId>junit</groupId>
+                               <artifactId>junit</artifactId>
+                               <version>4.10</version>
+                               <scope>test</scope>
+                               <optional>true</optional>
+                       </dependency>
+                       <dependency>
+                               <groupId>org.slf4j</groupId>
+                               <artifactId>slf4j-api</artifactId>
+                               <version>1.7.2</version>
+                       </dependency>
+               </dependencies>
+       </dependencyManagement>
+       <build>
+               <plugins>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-compiler-plugin</artifactId>
+                               <version>${compiler.version}</version>
+                               <inherited>true</inherited>
+                               <configuration>
+                                       <source>1.7</source>
+                                       <target>1.7</target>
+                               </configuration>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-javadoc-plugin</artifactId>
+                               <version>2.8.1</version>
+                               <configuration>
+                                       <stylesheet>maven</stylesheet>
+                               </configuration>
+                               <executions>
+                                       <execution>
+                                               <goals>
+                                                       <goal>aggregate</goal>
+                                               </goals>
+                                               <phase>site</phase>
+                                       </execution>
+                                       <execution>
+                                               <id>attach-javadocs</id>
+                                               <phase>deploy</phase>
+                                               <goals>
+                                                       <goal>jar</goal>
+                                               </goals>
+                                       </execution>
+                               </executions>
+                       </plugin>
+                       <plugin>
+                               <artifactId>maven-source-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <id>attach-sources</id>
+                                               <phase>deploy</phase>
+                                               <goals>
+                                                       <goal>jar-no-fork</goal>
+                                               </goals>
+                                       </execution>
+                               </executions>
+                       </plugin>
+                       <plugin>
+                               <!-- explicitly define maven-deploy-plugin after other to force exec 
+                                       order -->
+                               <artifactId>maven-deploy-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <id>deploy</id>
+                                               <phase>deploy</phase>
+                                               <goals>
+                                                       <goal>deploy</goal>
+                                               </goals>
+                                       </execution>
+                               </executions>
+                       </plugin>
+               </plugins>
+       </build>
+       <reporting>
+               <plugins>
+                       <plugin>
+                               <groupId>org.codehaus.mojo</groupId>
+                               <artifactId>findbugs-maven-plugin</artifactId>
+                               <version>2.4.0</version>
+                               <configuration>
+                                       <effort>Max</effort>
+                                       <threshold>Low</threshold>
+                                       <goal>site</goal>
+                               </configuration>
+                       </plugin>
+                       <plugin>
+                               <groupId>org.codehaus.mojo</groupId>
+                               <artifactId>jdepend-maven-plugin</artifactId>
+                               <version>2.0-beta-2</version>
+                       </plugin>
+               </plugins>
+       </reporting>
+       <profiles>
+               <profile>
+                       <id>viewbuild</id>
+                       <activation>
+                               <activeByDefault>true</activeByDefault>
+                       </activation>
+                       <properties>
+                               <build.suffix>${project.version}</build.suffix>
+                       </properties>
+               </profile>
+               <profile>
+                       <id>jenkins</id>
+                       <activation>
+                               <property>
+                                       <name>BUILDSUFFIX</name>
+                               </property>
+                       </activation>
+                       <properties>
+                               <build.suffix>${BUILDSUFFIX}</build.suffix>
+                       </properties>
+               </profile>
+       </profiles>
 </project>