| <?xml version="1.0"?> |
| <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> |
| <prerequisites> |
| <maven>3.0.4</maven> |
| </prerequisites> |
| <groupId>net.onrc.onos.of.ctl</groupId> |
| <artifactId>io</artifactId> |
| <version>0.0.1</version> |
| <packaging>bundle</packaging> |
| <name>of-ctl</name> |
| <url>http://onlab.us/</url> |
| <licenses> |
| <license> |
| <name>Apache License, Version 2.0</name> |
| <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> |
| </license> |
| </licenses> |
| <repositories> |
| <repository> |
| <id>central</id> |
| <name>Maven Central repository</name> |
| <url>https://repo1.maven.org/maven2</url> |
| </repository> |
| <repository> |
| <id>maven-restlet</id> |
| <name>Public online Restlet repository</name> |
| <url>http://maven.restlet.org</url> |
| <snapshots> |
| <enabled>false</enabled> |
| </snapshots> |
| </repository> |
| <repository> |
| <id>sonatype-oss-snapshot</id> |
| <name>Sonatype OSS snapshot repository</name> |
| <url>https://oss.sonatype.org/content/repositories/snapshots</url> |
| <releases> |
| <enabled>false</enabled> |
| </releases> |
| </repository> |
| </repositories> |
| <properties> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <powermock.version>1.5.5</powermock.version> |
| <restlet.version>2.1.4</restlet.version> |
| <cobertura-maven-plugin.version>2.6</cobertura-maven-plugin.version> |
| <!-- Following 2 findbugs version needs to be updated in sync to match the |
| findbugs version used in findbugs-plugin --> |
| <findbugs.version>3.0.0</findbugs.version> |
| <findbugs-plugin.version>3.0.0</findbugs-plugin.version> |
| <findbugs.effort>Max</findbugs.effort> |
| <findbugs.excludeFilterFile>${project.basedir}/conf/findbugs/exclude.xml</findbugs.excludeFilterFile> |
| <checkstyle-plugin.version>2.12</checkstyle-plugin.version> |
| <!-- To publish javadoc to github, |
| uncomment com.github.github site-maven-plugin and |
| see https://github.com/OPENNETWORKINGLAB/ONOS/pull/425 |
| <github.global.server>github</github.global.server> |
| --> |
| <metrics.version>3.0.2</metrics.version> |
| <maven.surefire.plugin.version>2.16</maven.surefire.plugin.version> |
| </properties> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-scr-plugin</artifactId> |
| <version>1.15.0</version> |
| <executions> |
| <execution> |
| <id>generate-scr-srcdescriptor</id> |
| <goals> |
| <goal>scr</goal> |
| </goals> |
| </execution> |
| </executions> |
| <configuration> |
| <supportedProjectTypes> |
| <supportedProjectType>bundle</supportedProjectType> |
| <supportedProjectType>war</supportedProjectType> |
| </supportedProjectTypes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <version>2.3.6</version> |
| <extensions>true</extensions> |
| <configuration> |
| <instructions> |
| <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName> |
| </instructions> |
| </configuration> |
| </plugin> |
| <!-- Note: the checkstyle configuration is also in the reporting section --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>${checkstyle-plugin.version}</version> |
| <configuration> |
| <configLocation>${project.basedir}/conf/checkstyle/sun_checks.xml</configLocation> |
| <propertiesLocation>${project.basedir}/conf/checkstyle/checkstyle_maven.properties</propertiesLocation> |
| <failsOnError>false</failsOnError> |
| <logViolationsToConsole>true</logViolationsToConsole> |
| <includeTestSourceDirectory>true</includeTestSourceDirectory> |
| </configuration> |
| <executions> |
| <execution> |
| <id>validate-checkstyle</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-install-plugin</artifactId> |
| <version>2.5.1</version> |
| <executions> |
| </executions> |
| </plugin> |
| <!-- guice maven plugin for dependency injection inside maven --> |
| <plugin> |
| <groupId>org.apache.camel</groupId> |
| <artifactId>guice-maven-plugin</artifactId> |
| <version>2.11.0</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-clean-plugin</artifactId> |
| <version>2.5</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-deploy-plugin</artifactId> |
| <version>2.8</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-jar-plugin</artifactId> |
| <version>2.4</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-resources-plugin</artifactId> |
| <version>2.6</version> |
| </plugin> |
| <plugin> |
| <artifactId>maven-site-plugin</artifactId> |
| <version>3.3</version> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.1</version> |
| <configuration> |
| <source>1.7</source> |
| <target>1.7</target> |
| <encoding>UTF-8</encoding> |
| <showDeprecation>true</showDeprecation> |
| <showWarnings>true</showWarnings> |
| <compilerArgs> |
| <arg>-Xlint:all</arg> |
| <arg>-Xlint:-serial</arg> |
| <arg>-Werror</arg> |
| </compilerArgs> |
| </configuration> |
| <executions> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>${maven.surefire.plugin.version}</version> |
| <configuration> |
| <!-- FIXME -XX:-UseSplitVerifier added as workaround for JDK 1.7.0u65 + PowerMock issue |
| https://issues.jboss.org/browse/JASSIST-228 --> |
| <argLine>-XX:MaxPermSize=256m -XX:-UseSplitVerifier</argLine> |
| <redirectTestOutputToFile>false</redirectTestOutputToFile> |
| </configuration> |
| </plugin> |
| <!-- TODO exec:java no longer used remove at some point? --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>1.2.1</version> |
| <configuration> |
| <mainClass>net.onrc.onos.core.main.Main</mainClass> |
| </configuration> |
| <executions> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>2.9.1</version> |
| <configuration> |
| <charset>UTF-8</charset> |
| <locale>en</locale> |
| <author>false</author> |
| </configuration> |
| </plugin> |
| <plugin> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <version>2.4</version> |
| <configuration> |
| <descriptorRefs> |
| <descriptorRef>jar-with-dependencies</descriptorRef> |
| </descriptorRefs> |
| </configuration> |
| </plugin> |
| <plugin> |
| <!-- Using groovy script to set maven property ${hostname}. |
| This is a workaround to get hostname as a property inside pom file, |
| which current Maven does not provide. --> |
| <groupId>org.codehaus.gmaven</groupId> |
| <artifactId>groovy-maven-plugin</artifactId> |
| <version>2.0</version> |
| <executions> |
| <execution> |
| <phase>initialize</phase> |
| <goals> |
| <goal>execute</goal> |
| </goals> |
| <configuration> |
| <source> |
| project.properties["hostname"] = InetAddress.getLocalHost().getHostName() |
| </source> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>2.8</version> |
| <executions> |
| <execution> |
| <id>build-classpath</id> |
| <phase>compile</phase> |
| <goals> |
| <goal>build-classpath</goal> |
| </goals> |
| <configuration> |
| <outputFile>${project.basedir}/.javacp.${hostname}</outputFile> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>cobertura-maven-plugin</artifactId> |
| <version>${cobertura-maven-plugin.version}</version> |
| <configuration> |
| <instrumentation> |
| <ignores> |
| <ignore>org.slf4j.*</ignore> |
| </ignores> |
| </instrumentation> |
| <quiet>true</quiet> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>clean</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Note: the findbugs configuration is also in the reporting section --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>findbugs-maven-plugin</artifactId> |
| <version>${findbugs-plugin.version}</version> |
| <configuration> |
| <effort>${findbugs.effort}</effort> |
| <excludeFilterFile>${findbugs.excludeFilterFile}</excludeFilterFile> |
| </configuration> |
| <executions> |
| <execution> |
| <id>validate-findbugs</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>check</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-pmd-plugin</artifactId> |
| <version>3.1</version> |
| <configuration> |
| <!-- |
| Note: Exclusion definition exists in multiple places. |
| - In file ${findbugs.excludeFilterFile} defined at top of pom.xml |
| - In file conf/checkstyle/onos_suppressions.xml |
| - maven-pmd-plugin configuration in pom.xml |
| (under build and reporting) |
| --> |
| <rulesets> |
| <ruleset>${basedir}/conf/pmd/ruleset.xml</ruleset> |
| </rulesets> |
| </configuration> |
| <executions> |
| <execution> |
| <id>validate-pmd</id> |
| <phase>verify</phase> |
| <goals> |
| <!-- Uncomment this goal to make the build fail on pmd errors --> |
| <!--<goal>check</goal>--> |
| </goals> |
| </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.apache.maven.plugins |
| </groupId> |
| <artifactId> |
| maven-dependency-plugin |
| </artifactId> |
| <versionRange>[2.8,)</versionRange> |
| <goals> |
| <goal>build-classpath</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore></ignore> |
| </action> |
| </pluginExecution> |
| <pluginExecution> |
| <pluginExecutionFilter> |
| <groupId>org.codehaus.gmaven</groupId> |
| <artifactId>groovy-maven-plugin</artifactId> |
| <versionRange>[2.0,)</versionRange> |
| <goals> |
| <goal>execute</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <ignore></ignore> |
| </action> |
| </pluginExecution> |
| </pluginExecutions> |
| </lifecycleMappingMetadata> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| <!-- for getting visualization reporting --> |
| <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>2.7</version> |
| <configuration> |
| <dependencyDetailsEnabled>false</dependencyDetailsEnabled> |
| <dependencyLocationsEnabled>false</dependencyLocationsEnabled> |
| </configuration> |
| <reportSets> |
| <reportSet> |
| <reports> |
| <report>dependencies</report> |
| <report>scm</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>2.9.1</version> |
| <configuration> |
| <charset>UTF-8</charset> |
| <locale>en</locale> |
| <author>false</author> |
| <excludePackageNames>net.floodlightcontroller.*:net.onrc.onos.core.datastore.serializers</excludePackageNames> |
| </configuration> |
| </plugin> |
| <plugin> |
| <!-- Note: the checkstyle configuration is also in the build section --> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-checkstyle-plugin</artifactId> |
| <version>${checkstyle-plugin.version}</version> |
| <configuration> |
| <configLocation>conf/checkstyle/sun_checks.xml</configLocation> |
| <!-- |
| Note: Exclusion definition exists in multiple places. |
| - In file ${findbugs.excludeFilterFile} defined at top of pom.xml |
| - maven-checkstyle-plugin configuration in pom.xml |
| - maven-pmd-plugin configuration in pom.xml |
| (under build and reporting) |
| --> |
| <propertiesLocation>${basedir}/conf/checkstyle/checkstyle_maven.properties</propertiesLocation> |
| <includeTestSourceDirectory>true</includeTestSourceDirectory> |
| </configuration> |
| <reportSets> |
| <reportSet> |
| <reports> |
| <report>checkstyle</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| <!-- Note: the findbugs configuration is also in the build section --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>findbugs-maven-plugin</artifactId> |
| <version>${findbugs-plugin.version}</version> |
| <configuration> |
| <effort>${findbugs.effort}</effort> |
| <excludeFilterFile>${findbugs.excludeFilterFile}</excludeFilterFile> |
| <reportPlugins> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>findbugs-maven-plugin</artifactId> |
| </plugin> |
| </reportPlugins> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-pmd-plugin</artifactId> |
| <version>3.1</version> |
| <configuration> |
| <!-- |
| Note: Exclusion definition exists in multiple places. |
| - In file ${findbugs.excludeFilterFile} defined at top of pom.xml |
| - In file conf/checkstyle/onos_suppressions.xml |
| - maven-pmd-plugin configuration in pom.xml |
| (under build and reporting) |
| --> |
| <excludes> |
| <exclude>**/datastore/serializers/**</exclude> |
| <exclude>**/edu/stanford/**</exclude> |
| <exclude>**/net/floodlightcontroller/**</exclude> |
| </excludes> |
| <rulesets> |
| <ruleset>${basedir}/conf/pmd/onos_ruleset.xml</ruleset> |
| </rulesets> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jxr-plugin</artifactId> |
| <version>2.4</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>cobertura-maven-plugin</artifactId> |
| <version>${cobertura-maven-plugin.version}</version> |
| </plugin> |
| </plugins> |
| </reporting> |
| <dependencies> |
| <!-- ONOS's direct dependencies --> |
| <dependency> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>org.apache.felix.scr.annotations</artifactId> |
| <version>1.9.6</version> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-classic</artifactId> |
| <version>1.1.2</version> |
| </dependency> |
| <dependency> |
| <groupId>ch.qos.logback</groupId> |
| <artifactId>logback-core</artifactId> |
| <version>1.1.2</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>1.7.5</version> |
| </dependency> |
| <dependency> |
| <!-- findbugs suppression annotation and @GuardedBy, etc. --> |
| <groupId>com.google.code.findbugs</groupId> |
| <artifactId>annotations</artifactId> |
| <version>${findbugs.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.projectfloodlight</groupId> |
| <artifactId>openflowj</artifactId> |
| <version>0.3.6-SNAPSHOT</version> |
| </dependency> |
| <!-- Floodlight's dependencies --> |
| <dependency> |
| <!-- dependency to old version of netty? --> |
| <groupId>io.netty</groupId> |
| <artifactId>netty</artifactId> |
| <version>3.9.2.Final</version> |
| </dependency> |
| <!-- Dependency for libraries used for testing --> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>4.11</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.easymock</groupId> |
| <artifactId>easymock</artifactId> |
| <version>3.2</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.powermock</groupId> |
| <artifactId>powermock-module-junit4</artifactId> |
| <version>${powermock.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.powermock</groupId> |
| <artifactId>powermock-api-easymock</artifactId> |
| <version>${powermock.version}</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| <profiles> |
| <!-- Jenkins by default defines a property BUILD_NUMBER which is used to |
| enable the profile. --> |
| <profile> |
| <id>jenkins</id> |
| <activation> |
| <property> |
| <name>env.BUILD_NUMBER</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>cobertura-maven-plugin</artifactId> |
| <version>${cobertura-maven-plugin.version}</version> |
| <configuration> |
| <formats> |
| <format>xml</format> |
| </formats> |
| <quiet>true</quiet> |
| </configuration> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>cobertura</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>all-tests</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>${maven.surefire.plugin.version}</version> |
| <configuration combine.self="merge"> |
| <excludedGroups></excludedGroups> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>error-prone</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.1</version> |
| <configuration> |
| <compilerArgs combine.children="append"> |
| <!-- FIXME -Xlint:-path required when using findbugs + error-prone --> |
| <arg>-Xlint:-path</arg> |
| </compilerArgs> |
| <!-- Turn on error-prone --> |
| <compilerId>javac-with-errorprone</compilerId> |
| <forceJavacCompilerUse>true</forceJavacCompilerUse> |
| </configuration> |
| <dependencies combine.children="append"> |
| <dependency> |
| <groupId>com.google.errorprone</groupId> |
| <artifactId>error_prone_core</artifactId> |
| <version>1.1.2</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.plexus</groupId> |
| <artifactId>plexus-compiler-javac</artifactId> |
| <version>2.3</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.plexus</groupId> |
| <artifactId>plexus-compiler-javac-errorprone</artifactId> |
| <version>2.3</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |