Bumping versions by 0.0.1 after the Helium SR4 release
[openflowjava.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index eb5c77f55399755c5376de3f310ac332cff5c570..78f7bf774e5b2ba7cb8cdc71e5f231e9a9196181 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -1,17 +1,27 @@
-<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.openflowjava</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>
-        <module>third-party/openflow-codec</module>
-        <module>third-party/openflowj_netty</module>
-       </modules>
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.opendaylight.openflowjava</groupId>
+    <artifactId>openflow-protocol-parent</artifactId>
+    <version>0.5.5-SNAPSHOT</version>
+    <name>openflowjava</name> <!-- Used by Sonar to set project name -->
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>openflow-protocol-api</module>
+        <module>openflow-protocol-spi</module>
+        <module>util</module>
+        <module>openflow-protocol-impl</module>
+        <module>openflow-protocol-it</module>
+        <module>features</module>
+        <module>simple-client</module>
+    </modules>
+    <scm>
+        <connection>scm:git:ssh://git.opendaylight.org:29418/openflowjava.git</connection>
+        <developerConnection>scm:git:ssh://git.opendaylight.org:29418/openflowjava.git</developerConnection>
+        <url>https://wiki.opendaylight.org/view/Openflow_Protocol_Library:Main</url>
+      <tag>HEAD</tag>
+    </scm>
 
     <properties>
         <sonar.host.url>https://sonar.opendaylight.org/</sonar.host.url>
         <exam.version>3.0.0</exam.version>
         <url.version>1.5.0</url.version>
         <enunciate.version>1.26.2</enunciate.version>
+        <jmxGeneratorPath>${project.build.directory}/yang-gen-config</jmxGeneratorPath>
+        <karaf.distro.empty.version>1.4.7-SNAPSHOT</karaf.distro.empty.version>
+        <salGeneratorPath>${project.build.directory}/yang-gen-sal</salGeneratorPath>
         <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.5</slf4j.version>
-       <yang.prototype.version>1.0-SNAPSHOT</yang.prototype.version>
-       <maven.bundle.version>2.4.0</maven.bundle.version>
+        <slf4j.version>1.7.2</slf4j.version>
+        <yang.prototype.version>1.1.5-SNAPSHOT</yang.prototype.version>
+        <ietf.model.version>2010.09.24.4.5-SNAPSHOT</ietf.model.version>
+        <yang.ext.version>2013.09.07.4.5-SNAPSHOT</yang.ext.version>
+        <maven.bundle.version>2.4.0</maven.bundle.version>
+        <guava.version>14.0.1</guava.version> 
+        <netty.version>4.0.23.Final</netty.version>
+        <releaseplugin.version>2.3.2</releaseplugin.version>
+        <yangtools.version>0.6.7-SNAPSHOT</yangtools.version>
+        <yangtools.generator.version>0.6.7-SNAPSHOT</yangtools.generator.version>
+       <config.version>0.2.10-SNAPSHOT</config.version>
+
+        <!-- Sonar config -->
+        <sonar-jacoco-listeners.version>2.4</sonar-jacoco-listeners.version>
+        <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
+        <sonar.jacoco.reportPath>target/code-coverage/jacoco.exec</sonar.jacoco.reportPath>
+        <sonar.jacoco.itReportPath>target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPath>
+        <sonar.profile>Sonar way with Findbugs</sonar.profile>
     </properties>
 
     <pluginRepositories>
+        <!-- Opendaylight public group -->
         <pluginRepository>
-            <id>central2</id>
-            <name>central2</name>
-            <url>${nexusproxy}/repositories/central2/</url>
-        </pluginRepository>
-       <pluginRepository>
-            <id>opendaylight-release</id>
-            <url>${nexusproxy}/repositories/opendaylight.release/</url>
+            <id>odlPublic</id>
+            <name>odlPublic</name>
+            <url>${nexusproxy}/groups/public/</url>
+            <snapshots>
+              <enabled>false</enabled>
+            </snapshots>
+            <releases>
+              <enabled>true</enabled>
+            </releases>
         </pluginRepository>
         <!-- OpenDayLight Snapshot artifact -->
         <pluginRepository>
             <id>opendaylight-snapshot</id>
             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
+            <snapshots>
+              <enabled>true</enabled>
+            </snapshots>
+            <releases>
+              <enabled>false</enabled>
+            </releases>
         </pluginRepository>
     </pluginRepositories>
 
 
     <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 -->
+        <!-- Opendaylight public group -->
         <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>
+            <id>odlPublic</id>
+            <name>odlPublic</name>
+            <url>${nexusproxy}/groups/public/</url>
+            <snapshots>
+              <enabled>false</enabled>
+            </snapshots>
+            <releases>
+              <enabled>true</enabled>
+            </releases>
         </repository>
         <!-- OpenDayLight Snapshot artifact -->
         <repository>
             <id>opendaylight-snapshot</id>
             <name>opendaylight-snapshot</name>
             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
+            <snapshots>
+              <enabled>true</enabled>
+            </snapshots>
+            <releases>
+              <enabled>false</enabled>
+            </releases>
         </repository>
     </repositories>
     <distributionManagement>
 
     <dependencyManagement>
         <dependencies>
+            <!-- feature dependencies -->
+            <dependency>
+              <groupId>org.opendaylight.yangtools</groupId>
+              <artifactId>features-yangtools</artifactId>
+              <version>${yangtools.version}</version>
+              <classifier>features</classifier>
+              <type>xml</type>
+            </dependency>
+            <dependency>
+              <groupId>org.opendaylight.controller</groupId>
+              <artifactId>features-config</artifactId>
+              <version>${config.version}</version>
+              <classifier>features</classifier>
+              <type>xml</type>
+            </dependency>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-api</artifactId>
+                <version>${slf4j.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>io.netty</groupId>
+                <artifactId>netty-buffer</artifactId>
+                <version>${netty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>io.netty</groupId>
+                <artifactId>netty-handler</artifactId>
+                <version>${netty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>io.netty</groupId>
+                <artifactId>netty-codec</artifactId>
+                <version>${netty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>io.netty</groupId>
+                <artifactId>netty-common</artifactId>
+                <version>${netty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>io.netty</groupId>
+                <artifactId>netty-transport</artifactId>
+                <version>${netty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.google.guava</groupId>
+                <artifactId>guava</artifactId>
+                <version>${guava.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.opendaylight.yangtools.model</groupId>
+                <artifactId>ietf-inet-types</artifactId>
+                <version>${ietf.model.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.opendaylight.yangtools.model</groupId>
+                <artifactId>ietf-yang-types</artifactId>
+                <version>${ietf.model.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.opendaylight.yangtools.model</groupId>
+                <artifactId>yang-ext</artifactId>
+                <version>${yang.ext.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.osgi</groupId>
+                <artifactId>org.osgi.core</artifactId>
+                <version>5.0.0</version>
+            </dependency>
+            <dependency>
+                <groupId>org.opendaylight.controller</groupId>
+                <artifactId>config-api</artifactId>
+                <version>0.2.10-SNAPSHOT</version>
+            </dependency>
             <dependency>
                 <groupId>junit</groupId>
                 <artifactId>junit</artifactId>
                 <optional>true</optional>
             </dependency>
             <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-api</artifactId>
-                <version>${slf4j.version}</version>
+                <groupId>org.mockito</groupId>
+                <artifactId>mockito-all</artifactId>
+                <version>1.9.5</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+              <groupId>org.opendaylight.yangtools</groupId>
+              <artifactId>features-test</artifactId>
+              <version>${yangtools.version}</version>
             </dependency>
         </dependencies>
     </dependencyManagement>
+
+    <dependencies>
+        <!-- Sonar -->
+        <dependency>
+            <groupId>org.codehaus.sonar-plugins.java</groupId>
+            <artifactId>sonar-jacoco-listeners</artifactId>
+            <version>${sonar-jacoco-listeners.version}</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+
     <build>
         <plugins>
             <plugin>
                     <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>
                 </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> 
             <plugin>
               <groupId>org.apache.felix</groupId>
               <artifactId>maven-bundle-plugin</artifactId>
-              <version>${maven.bundle.version}</version>
               <extensions>true</extensions>
               <configuration>
                 <instructions>
                 <manifestLocation>${project.build.directory}/META-INF</manifestLocation>
               </configuration>
             </plugin>
+            <plugin>
+              <groupId>org.apache.maven.plugins</groupId>
+              <artifactId>maven-checkstyle-plugin</artifactId>
+              <version>2.12</version>
+              <configuration>
+                <failOnViolation>false</failOnViolation>
+                <configLocation>checkstyle-logging.xml</configLocation>
+                <consoleOutput>true</consoleOutput>
+                <includeTestSourceDirectory>true</includeTestSourceDirectory>
+                <sourceDirectory>${project.basedir}</sourceDirectory>
+                <includes>**\/*.java,**\/*.xml,**\/*.ini,**\/*.sh,**\/*.bat,**\/*.yang</includes>
+                <excludes>**\/target\/,**\/bin\/,**\/target-ide\/,**\/src/main/yang-gen-config\/,**\/src/main/yang-gen-sal\/</excludes>
+              </configuration>
+              <dependencies>
+                <dependency>
+                <groupId>org.opendaylight.yangtools</groupId>
+                <artifactId>checkstyle-logging</artifactId>
+                <version>${yangtools.version}</version>
+                </dependency>
+              </dependencies>
+              <executions>
+                <execution>
+                <goals>
+                  <goal>check</goal>
+                </goals>
+                </execution>
+              </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.jacoco</groupId>
+                <artifactId>jacoco-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>prepare-ut-agent</id>
+                        <phase>process-test-classes</phase>
+                        <goals>
+                            <goal>prepare-agent</goal>
+                        </goals>
+                        <configuration>
+                            <destFile>${sonar.jacoco.reportPath}</destFile>
+                            <propertyName>jacoco.agent.ut.arg</propertyName>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>prepare-it-agent</id>
+                        <phase>pre-integration-test</phase>
+                        <goals>
+                            <goal>prepare-agent</goal>
+                        </goals>
+                        <configuration>
+                            <destFile>${sonar.jacoco.itReportPath}</destFile>
+                            <propertyName>jacoco.agent.it.arg</propertyName>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
         <pluginManagement>
             <plugins>
                     <artifactId>maven-deploy-plugin</artifactId>
                     <version>2.7</version>
                 </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-jar-plugin</artifactId>
+                    <version>2.4</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-release-plugin</artifactId>
+                    <version>${releaseplugin.version}</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.opendaylight.yangtools</groupId>
+                    <artifactId>yang-maven-plugin</artifactId>
+                    <version>${yangtools.version}</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>maven-bundle-plugin</artifactId>
+                    <version>${maven.bundle.version}</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>build-helper-maven-plugin</artifactId>
+                    <version>1.8</version>
+                    <executions>
+                        <execution>
+                            <id>add-source</id>
+                            <goals>
+                                <goal>add-source</goal>
+                            </goals>
+                            <phase>generate-sources</phase>
+                            <configuration>
+                                <sources>
+                                    <source>src/main/yang</source>
+                                </sources>
+                            </configuration>
+                        </execution>
+                    </executions>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-failsafe-plugin</artifactId>
+                    <configuration>
+                        <!-- Specific to generate mapping between tests and covered code -->
+                        <argLine>${jacoco.agent.it.arg}</argLine>
+                        <properties>
+                            <property>
+                                <name>listener</name>
+                                <value>org.sonar.java.jacoco.JUnitListener</value>
+                            </property>
+                        </properties>
+                        <!-- Let's put failsafe reports with surefire to have access to tests failures/success reports in sonar -->
+                        <reportsDirectory>${project.build.directory}/surefire-reports</reportsDirectory>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <configuration>
+                        <!-- Specific to generate mapping between tests and covered code -->
+                        <argLine>${jacoco.agent.ut.arg}</argLine>
+                        <properties>
+                            <property>
+                                <name>listener</name>
+                                <value>org.sonar.java.jacoco.JUnitListener</value>
+                            </property>
+                        </properties>
+                    </configuration>
+                </plugin>
+                <!-- Ignore/Execute plugin execution -->
+                <plugin>
+                  <groupId>org.eclipse.m2e</groupId>
+                  <artifactId>lifecycle-mapping</artifactId>
+                  <version>1.0.0</version>
+                  <configuration>
+                    <lifecycleMappingMetadata>
+                      <pluginExecutions>
+                        <pluginExecution>
+                          <pluginExecutionFilter>
+                            <groupId>org.codehaus.mojo</groupId>
+                            <artifactId>properties-maven-plugin</artifactId>
+                            <versionRange>[0.0,)</versionRange>
+                            <goals>
+                              <goal>set-system-properties</goal>
+                            </goals>
+                          </pluginExecutionFilter>
+                          <action>
+                            <ignore></ignore>
+                          </action>
+                        </pluginExecution>
+                        <pluginExecution>
+                          <pluginExecutionFilter>
+                            <groupId>org.codehaus.enunciate</groupId>
+                            <artifactId>maven-enunciate-plugin</artifactId>
+                            <versionRange>[0.0,)</versionRange>
+                            <goals>
+                              <goal>docs</goal>
+                            </goals>
+                          </pluginExecutionFilter>
+                          <action>
+                            <ignore></ignore>
+                          </action>
+                        </pluginExecution>
+                        <pluginExecution>
+                          <pluginExecutionFilter>
+                            <groupId>org.jacoco</groupId>
+                            <artifactId>jacoco-maven-plugin</artifactId>
+                            <versionRange>[0.0,)</versionRange>
+                            <goals>
+                              <goal>prepare-agent</goal>
+                              <goal>pre-test</goal>
+                              <goal>post-test</goal>
+                            </goals>
+                          </pluginExecutionFilter>
+                          <action>
+                            <ignore></ignore>
+                          </action>
+                        </pluginExecution>
+                        <pluginExecution>
+                          <pluginExecutionFilter>
+                            <groupId>org.ops4j.pax.exam</groupId>
+                            <artifactId>maven-paxexam-plugin</artifactId>
+                            <versionRange>[1.2.4,)</versionRange>
+                            <goals>
+                              <goal>generate-depends-file</goal>
+                            </goals>
+                          </pluginExecutionFilter>
+                          <action>
+                            <execute>
+                              <runOnIncremental>false</runOnIncremental>
+                            </execute>
+                          </action>
+                        </pluginExecution>
+                        <pluginExecution>
+                          <pluginExecutionFilter>
+                            <groupId>org.apache.maven.plugins</groupId>
+                            <artifactId>maven-checkstyle-plugin</artifactId>
+                            <versionRange>[2.0,)</versionRange>
+                            <goals>
+                              <goal>check</goal>
+                            </goals>
+                          </pluginExecutionFilter>
+                          <action>
+                            <ignore></ignore>
+                          </action>
+                        </pluginExecution>
+                        <pluginExecution>
+                          <pluginExecutionFilter>
+                            <groupId>org.opendaylight.yangtools</groupId>
+                            <artifactId>yang-maven-plugin</artifactId>
+                            <versionRange>[0.5,)</versionRange>
+                            <goals>
+                              <goal>generate-sources</goal>
+                            </goals>
+                          </pluginExecutionFilter>
+                          <action>
+                            <execute></execute>
+                          </action>
+                        </pluginExecution>
+                        <pluginExecution>
+                          <pluginExecutionFilter>
+                            <groupId>org.codehaus.groovy.maven</groupId>
+                            <artifactId>gmaven-plugin</artifactId>
+                            <versionRange>1.0</versionRange>
+                            <goals>
+                              <goal>execute</goal>
+                            </goals>
+                          </pluginExecutionFilter>
+                          <action>
+                            <ignore></ignore>
+                          </action>
+                        </pluginExecution>
+                        <pluginExecution>
+                          <pluginExecutionFilter>
+                            <groupId>org.apache.maven.plugins</groupId>
+                            <artifactId>maven-enforcer-plugin</artifactId>
+                            <versionRange>${enforcer.version}</versionRange>
+                            <goals>
+                              <goal>enforce</goal>
+                            </goals>
+                          </pluginExecutionFilter>
+                          <action>
+                            <ignore></ignore>
+                          </action>
+                        </pluginExecution>
+                      </pluginExecutions>
+                    </lifecycleMappingMetadata>
+                  </configuration>
+                </plugin>
             </plugins>
         </pluginManagement>
     </build>
             <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>findbugs-maven-plugin</artifactId>
-                <version>2.4.0</version>
+                <version>2.5.2</version>
                 <configuration>
                     <effort>Max</effort>
                     <threshold>Low</threshold>
                     <goal>site</goal>
                 </configuration>
             </plugin>
+            <plugin>
+              <artifactId>maven-jxr-plugin</artifactId>
+              <version>2.3</version>
+              <configuration>
+                <aggregate>true</aggregate>
+                <linkJavadoc>true</linkJavadoc>
+              </configuration>
+            </plugin>
+
             <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>jdepend-maven-plugin</artifactId>
                 <build.suffix>${BUILDSUFFIX}</build.suffix>
             </properties>
         </profile>
+        <profile>
+            <id>repoBuild</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-javadoc-plugin</artifactId>
+                        <version>2.8.1</version>
+                        <executions>
+                            <execution>
+                                <goals>
+                                    <goal>aggregate</goal>
+                                </goals>
+                                <phase>site</phase>
+                            </execution>
+                            <execution>
+                                <id>attach-javadocs</id>
+                                <goals>
+                                    <goal>jar</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-source-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>attach-sources</id>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>jar-no-fork</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
     </profiles>
 </project>