Javadoc + api documentation generation
[openflowjava.git] / pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3     <modelVersion>4.0.0</modelVersion>
4     <groupId>org.opendaylight.openflowjava</groupId>
5     <artifactId>openflow-protocol-parent</artifactId>
6     <version>0.1-SNAPSHOT</version>
7     <packaging>pom</packaging>
8     <modules>
9         <module>openflow-protocol-api</module>
10         <module>openflow-protocol-spi</module>
11         <module>openflow-protocol-impl</module>
12         <module>openflow-protocol-it</module>
13         <module>simple-client</module>
14         <module>third-party/openflow-codec</module>
15         <module>third-party/openflowj_netty</module>
16     </modules>
17
18     <properties>
19         <sonar.host.url>https://sonar.opendaylight.org/</sonar.host.url>
20         <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
21         <sitedeploy>dav:http://nexus.opendaylight.org/content/sites/site</sitedeploy>
22         <siteplugin>3.2</siteplugin>
23         <projectinfo>2.6</projectinfo>
24         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
25         <compiler.version>2.3.2</compiler.version>
26         <surefire.version>2.13</surefire.version>
27         <exam.version>3.0.0</exam.version>
28         <url.version>1.5.0</url.version>
29         <enunciate.version>1.26.2</enunciate.version>
30         <sonar.branch>${user.name}-private-view</sonar.branch>
31         <sonar.skippedModules>org.openflow.openflowj,net.sf.jung2</sonar.skippedModules>
32         <logback.version>1.0.9</logback.version>
33         <slf4j.version>1.7.5</slf4j.version>
34         <yang.prototype.version>1.0-SNAPSHOT</yang.prototype.version>
35         <maven.bundle.version>2.4.0</maven.bundle.version>
36         <guava.version>14.0.1</guava.version> 
37         <netty.version>4.0.10.Final</netty.version>
38     </properties>
39
40     <pluginRepositories>
41         <pluginRepository>
42             <id>central2</id>
43             <name>central2</name>
44             <url>${nexusproxy}/repositories/central2/</url>
45         </pluginRepository>
46        <pluginRepository>
47             <id>opendaylight-release</id>
48             <url>${nexusproxy}/repositories/opendaylight.release/</url>
49         </pluginRepository>
50         <!-- OpenDayLight Snapshot artifact -->
51         <pluginRepository>
52             <id>opendaylight-snapshot</id>
53             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
54         </pluginRepository>
55     </pluginRepositories>
56
57
58     <repositories>
59         <!-- EBR release -->
60         <!-- http://repository.springsource.com/maven/bundles/release -->
61         <repository>
62             <id>ebr-bundles-release</id>
63             <name>ebr-bundles-release</name>
64             <url>${nexusproxy}/repositories/ebr-bundles-release/</url>
65         </repository>
66         <!-- EBR external -->
67         <!-- http://repository.springsource.com/maven/bundles/external -->
68         <repository>
69             <id>ebr-bundles-external</id>
70             <name>ebr-bundles-external</name>
71             <url>${nexusproxy}/repositories/ebr-bundles-external/</url>
72         </repository>
73         <!-- Maven repo2 mirror -->
74         <!-- http://repo2.maven.org/maven2 -->
75         <repository>
76             <id>central2</id>
77             <name>central2</name>
78             <url>${nexusproxy}/repositories/central2/</url>
79         </repository>
80         <!-- Maven repo1 mirror -->
81         <!-- http://repo1.maven.org/maven2 -->
82         <repository>
83             <id>central</id>
84             <name>central</name>
85             <url>${nexusproxy}/repositories/central/</url>
86         </repository>
87         <!-- Pax mirror -->
88         <!-- https://oss.sonatype.org/content/repositories/ops4j-releases -->
89         <repository>
90             <id>ops4j-releases</id>
91             <name>ops4j-releases</name>
92             <url>${nexusproxy}/repositories/ops4j-releases/</url>
93         </repository>
94         <!-- Third Packages hosted in local maven because not available in other 
95         places -->
96         <repository>
97             <id>thirdparty</id>
98             <name>thirdparty</name>
99             <url>${nexusproxy}/repositories/thirdparty/</url>
100         </repository>
101         <!-- Jboss mirror -->
102         <!-- https://repository.jboss.org/nexus/content/repositories/releases -->
103         <repository>
104             <id>jboss.releases</id>
105             <name>jboss.releases</name>
106             <url>${nexusproxy}/repositories/jboss.releases/</url>
107         </repository>
108         <!-- OpenDayLight Released artifact -->
109         <repository>
110             <id>opendaylight-release</id>
111             <name>opendaylight-release</name>
112             <url>${nexusproxy}/repositories/opendaylight.release/</url>
113         </repository>
114         <!-- OpenDayLight Snapshot artifact -->
115         <repository>
116             <id>opendaylight-snapshot</id>
117             <name>opendaylight-snapshot</name>
118             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
119         </repository>
120     </repositories>
121     <distributionManagement>
122         <!-- OpenDayLight Released artifact -->
123         <repository>
124             <id>opendaylight-release</id>
125             <url>${nexusproxy}/repositories/opendaylight.release/</url>
126         </repository>
127         <!-- OpenDayLight Snapshot artifact -->
128         <snapshotRepository>
129             <id>opendaylight-snapshot</id>
130             <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
131         </snapshotRepository>
132         <!-- Site deployment -->
133         <!-- site>
134             <id>website</id>
135             <url>${sitedeploy}</url>
136         </site -->
137     </distributionManagement>
138
139
140     <dependencyManagement>
141         <dependencies>
142             <dependency>
143                 <groupId>junit</groupId>
144                 <artifactId>junit</artifactId>
145                 <version>4.10</version>
146                 <scope>test</scope>
147                 <optional>true</optional>
148             </dependency>
149             <dependency>
150                 <groupId>org.slf4j</groupId>
151                 <artifactId>slf4j-api</artifactId>
152                 <version>${slf4j.version}</version>
153             </dependency>
154             <dependency>
155                 <groupId>io.netty</groupId>
156                 <artifactId>netty-handler</artifactId>
157                 <version>${netty.version}</version>
158             </dependency>
159             <dependency>
160             <groupId>com.google.guava</groupId>
161             <artifactId>guava</artifactId>
162             <version>${guava.version}</version>
163         </dependency>
164         </dependencies>
165     </dependencyManagement>
166     <build>
167         <plugins>
168             <plugin>
169                 <groupId>org.apache.maven.plugins</groupId>
170                 <artifactId>maven-compiler-plugin</artifactId>
171                 <version>${compiler.version}</version>
172                 <inherited>true</inherited>
173                 <configuration>
174                     <source>1.7</source>
175                     <target>1.7</target>
176                 </configuration>
177             </plugin>
178             <plugin>
179                 <groupId>org.apache.maven.plugins</groupId>
180                 <artifactId>maven-javadoc-plugin</artifactId>
181                 <version>2.8.1</version>
182                 <configuration>
183                     <stylesheetfile>stylesheet.css</stylesheetfile>
184                 </configuration>
185                 <executions>
186                     <execution>
187                         <goals>
188                             <goal>aggregate</goal>
189                         </goals>
190                         <phase>site</phase>
191                     </execution> 
192                     <execution> 
193                         <id>attach-javadocs</id>
194                         <goals>
195                             <goal>jar</goal>
196                         </goals> 
197                     </execution> 
198                 </executions> 
199             </plugin>
200             <plugin>
201                 <artifactId>maven-source-plugin</artifactId>
202                 <executions>
203                     <execution>
204                         <id>attach-sources</id>
205                         <phase>deploy</phase>
206                         <goals>
207                             <goal>jar-no-fork</goal>
208                         </goals> 
209                     </execution>
210                 </executions>
211             </plugin>
212             <plugin> 
213                 <!-- explicitly define maven-deploy-plugin after other to force exec order -->
214                 <artifactId>maven-deploy-plugin</artifactId> 
215                 <executions> 
216                     <execution> 
217                         <id>deploy</id>
218                         <phase>deploy</phase>
219                         <goals>
220                             <goal>deploy</goal>
221                         </goals> 
222                     </execution> 
223                 </executions> 
224             </plugin> 
225             <plugin>
226               <groupId>org.apache.felix</groupId>
227               <artifactId>maven-bundle-plugin</artifactId>
228               <version>${maven.bundle.version}</version>
229               <extensions>true</extensions>
230               <configuration>
231                 <instructions>
232                   <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
233                 </instructions>
234                 <manifestLocation>${project.build.directory}/META-INF</manifestLocation>
235               </configuration>
236             </plugin>
237         </plugins>
238         <pluginManagement>
239             <plugins>
240                 <plugin>
241                     <groupId>org.apache.maven.plugins</groupId>
242                     <artifactId>maven-source-plugin</artifactId>
243                     <version>2.2.1</version>
244                 </plugin>
245                 <plugin>
246                     <groupId>org.apache.maven.plugins</groupId>
247                     <artifactId>maven-deploy-plugin</artifactId>
248                     <version>2.7</version>
249                 </plugin>
250                 <plugin>
251                     <groupId>org.apache.maven.plugins</groupId>
252                     <artifactId>maven-jar-plugin</artifactId>
253                     <version>2.4</version>
254                 </plugin>
255             </plugins>
256         </pluginManagement>
257     </build>
258     <reporting>
259         <plugins>
260             <plugin>
261                 <groupId>org.codehaus.mojo</groupId>
262                 <artifactId>findbugs-maven-plugin</artifactId>
263                 <version>2.5.2</version>
264                 <configuration>
265                     <effort>Max</effort>
266                     <threshold>Low</threshold>
267                     <goal>site</goal>
268                 </configuration>
269             </plugin>
270             <plugin>
271               <artifactId>maven-jxr-plugin</artifactId>
272               <version>2.3</version>
273               <configuration>
274                 <aggregate>true</aggregate>
275                 <linkJavadoc>true</linkJavadoc>
276               </configuration>
277             </plugin>
278
279             <plugin>
280                 <groupId>org.codehaus.mojo</groupId>
281                 <artifactId>jdepend-maven-plugin</artifactId>
282                 <version>2.0-beta-2</version>
283             </plugin>
284         </plugins>
285     </reporting>
286     <profiles>
287         <profile>
288             <id>viewbuild</id>
289             <activation>
290                 <activeByDefault>true</activeByDefault>
291             </activation>
292             <properties>
293                 <build.suffix>${project.version}</build.suffix>
294             </properties>
295         </profile>
296         <profile>
297             <id>jenkins</id>
298             <activation>
299                 <property>
300                     <name>BUILDSUFFIX</name>
301                 </property>
302             </activation>
303             <properties>
304                 <build.suffix>${BUILDSUFFIX}</build.suffix>
305             </properties>
306         </profile>
307         <profile>
308             <id>repoBuild</id>
309             <activation>
310                 <property><name>repoBuild</name></property>
311             </activation>
312             <build>
313                 <plugins>
314                     <plugin>
315                         <groupId>org.apache.maven.plugins</groupId>
316                         <artifactId>maven-javadoc-plugin</artifactId>
317                         <executions>
318                             <execution>
319                                 <id>attach-javadocs</id>
320                                 <goals>
321                                     <goal>jar</goal>
322                                 </goals>
323                             </execution>
324                         </executions>
325                     </plugin>
326                     <plugin>
327                         <groupId>org.apache.maven.plugins</groupId>
328                         <artifactId>maven-source-plugin</artifactId>
329                         <executions>
330                             <execution>
331                                 <id>attach-sources</id>
332                                 <goals>
333                                     <goal>jar</goal>
334                                 </goals>
335                             </execution>
336                         </executions>
337                     </plugin>
338                 </plugins>
339             </build>
340         </profile>
341     </profiles>
342 </project>