Merge "Added support for asciidoctor-diagram to maven site."
[odlparent.git] / odlparent-lite / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- vi: set et smarttab sw=2 tabstop=2: -->
3 <!--
4  Copyright (c) 2015 The Linux Foundation and others.  All rights reserved.
5
6  This program and the accompanying materials are made available under the
7  terms of the Eclipse Public License v1.0 which accompanies this distribution,
8  and is available at http://www.eclipse.org/legal/epl-v10.html
9 -->
10 <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">
11   <modelVersion>4.0.0</modelVersion>
12
13   <!--
14       Note: This parent is not meant to be used by code artifacts. Please use
15             odlparent instead.
16   -->
17
18   <groupId>org.opendaylight.odlparent</groupId>
19   <artifactId>odlparent-lite</artifactId>
20   <version>1.7.0-SNAPSHOT</version>
21   <packaging>pom</packaging>
22   <name>ODL :: odlparent :: ${project.artifactId}</name>
23
24   <licenses>
25     <license>
26       <name>Eclipse Public License v1.0</name>
27       <url>https://www.eclipse.org/legal/epl-v10.html</url>
28     </license>
29   </licenses>
30
31   <organization>
32     <name>OpenDaylight</name>
33     <url>https://www.opendaylight.org</url>
34   </organization>
35
36   <issueManagement>
37     <system>Bugzilla</system>
38     <url>https://bugs.opendaylight.org/</url>
39   </issueManagement>
40
41   <ciManagement>
42     <system>Jenkins</system>
43     <url>https://jenkins.opendaylight.org/releng/</url>
44   </ciManagement>
45
46   <prerequisites>
47     <!-- This is only used to prevent building with Maven < 3 and to appease
48          maven-dependency-plugin; our real Maven requirement is enforced by
49          the enforcer plugin. -->
50     <maven>3.0.5</maven>
51   </prerequisites>
52
53   <properties>
54     <nexusproxy>https://nexus.opendaylight.org/content</nexusproxy>
55
56     <!-- Variables required for Maven Site generation -->
57     <nexus.site.url>file:${user.dir}/target/staged-site</nexus.site.url>
58     <odl.site.url>https://nexus.opendaylight.org/content/sites/site/</odl.site.url>
59     <stream>latest</stream><!-- CI should pass in -Dstream={stream} -->
60
61     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
62     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
63   </properties>
64
65   <build>
66     <pluginManagement>
67       <plugins>
68         <plugin>
69           <artifactId>maven-clean-plugin</artifactId>
70           <version>2.6.1</version>
71         </plugin>
72         <plugin>
73           <artifactId>maven-deploy-plugin</artifactId>
74           <version>2.8.2</version>
75         </plugin>
76         <plugin>
77           <artifactId>maven-install-plugin</artifactId>
78           <version>2.5.2</version>
79         </plugin>
80         <plugin>
81           <artifactId>maven-javadoc-plugin</artifactId>
82           <version>2.10.3</version>
83           <configuration>
84             <!-- Keep things quiet except for warnings/errors -->
85             <quiet>true</quiet>
86             <tags>
87               <!-- support for HelpMojo generated by the maven-plugin-plugin -->
88               <tag>
89                 <name>goal</name>
90                 <placement>t</placement>
91                 <head>Goal:</head>
92               </tag>
93               <tag>
94                 <name>requiresProject</name>
95                 <placement>t</placement>
96                 <head>Requires project:</head>
97               </tag>
98               <tag>
99                 <name>threadSafe</name>
100                 <placement>t</placement>
101                 <head>Threadsafe</head>
102               </tag>
103               <tag>
104                 <name>phase</name>
105                 <placement>t</placement>
106                 <head>Phase:</head>
107               </tag>
108               <!-- end HelpMojo support -->
109             </tags>
110           </configuration>
111           <executions>
112             <execution>
113               <id>attach-javadocs</id>
114               <goals>
115                 <goal>jar</goal>
116               </goals>
117             </execution>
118           </executions>
119         </plugin>
120         <plugin>
121           <artifactId>maven-project-info-reports-plugin</artifactId>
122           <version>2.8.1</version>
123         </plugin>
124         <plugin>
125           <artifactId>maven-site-plugin</artifactId>
126           <version>3.4</version>
127           <configuration>
128             <asciidoc>
129               <attributes>
130                 <imagesdir>./images</imagesdir>
131                 <imagesoutdir>${project.build.directory}/site/images</imagesoutdir>
132                 <icons>font</icons>
133                 <source-highlighter>coderay</source-highlighter>
134                 <coderay-css>style</coderay-css>
135               </attributes>
136               <requires>
137                 <require>asciidoctor-diagram</require>
138               </requires>
139             </asciidoc>
140           </configuration>
141           <dependencies>
142             <dependency>
143               <groupId>org.asciidoctor</groupId>
144               <artifactId>asciidoctor-maven-plugin</artifactId>
145               <version>1.5.3</version>
146             </dependency>
147             <dependency>
148               <groupId>org.asciidoctor</groupId>
149               <artifactId>asciidoctorj-diagram</artifactId>
150               <version>1.3.1</version>
151             </dependency>
152           </dependencies>
153         </plugin>
154         <plugin>
155           <groupId>org.codehaus.mojo</groupId>
156           <artifactId>jdepend-maven-plugin</artifactId>
157           <version>2.0</version>
158           <executions>
159             <execution>
160               <phase>site</phase>
161               <goals>
162                 <goal>generate-no-fork</goal>
163               </goals>
164             </execution>
165           </executions>
166         </plugin>
167       </plugins>
168     </pluginManagement>
169   </build>
170
171   <profiles>
172     <profile>
173       <!--
174           This profile is to ensure we only build javadocs reports
175           when we plan to deploy Maven site for our project.
176
177           It activates by checking for the existance of deploy-site.xml in the
178           user's current working directory. (Intent is that this is run from
179           the Project root directory)
180       -->
181       <id>maven-site</id>
182       <activation>
183         <file>
184           <exists>${user.dir}/deploy-site.xml</exists>
185         </file>
186       </activation>
187
188       <build>
189         <plugins>
190           <plugin>
191             <artifactId>maven-site-plugin</artifactId>
192
193             <executions>
194               <execution>
195                 <id>generate-site</id>
196                 <phase>install</phase>
197                 <goals>
198                   <goal>site</goal>
199                   <goal>attach-descriptor</goal>
200                 </goals>
201               </execution>
202             </executions>
203           </plugin>
204         </plugins>
205       </build>
206
207       <reporting>
208         <plugins>
209           <plugin>
210             <artifactId>maven-project-info-reports-plugin</artifactId>
211             <configuration>
212               <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
213             </configuration>
214             <reportSets>
215               <reportSet>
216                 <reports>
217                   <report>index</report>
218                 </reports>
219               </reportSet>
220             </reportSets>
221           </plugin>
222           <plugin>
223             <artifactId>maven-javadoc-plugin</artifactId>
224             <reportSets>
225               <reportSet>
226                 <reports>
227                   <report>javadoc-no-fork</report>
228                   <report>test-javadoc-no-fork</report>
229                 </reports>
230               </reportSet>
231             </reportSets>
232           </plugin>
233         </plugins>
234       </reporting>
235     </profile>
236   </profiles>
237
238
239   <url>${odl.site.url}/${project.groupId}/${stream}/${project.artifactId}/</url>
240
241   <distributionManagement>
242     <repository>
243       <id>opendaylight-release</id>
244       <url>${nexusproxy}/repositories/opendaylight.release/</url>
245     </repository>
246     <snapshotRepository>
247       <id>opendaylight-snapshot</id>
248       <url>${nexusproxy}/repositories/opendaylight.snapshot/</url>
249     </snapshotRepository>
250     <site>
251       <id>opendaylight-site</id>
252       <url>${nexus.site.url}/${project.artifactId}/</url>
253     </site>
254   </distributionManagement>
255 </project>