Merge "Bug 615: Removed xtend from Topology Manager"
[controller.git] / opendaylight / northbound / java-client / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <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">
3   <modelVersion>4.0.0</modelVersion>
4   <parent>
5     <groupId>org.opendaylight.controller</groupId>
6     <artifactId>commons.opendaylight</artifactId>
7     <version>1.4.2-SNAPSHOT</version>
8     <relativePath>../../commons/opendaylight</relativePath>
9   </parent>
10   <scm>
11     <connection>scm:git:ssh://git.opendaylight.org:29418/controller.git</connection>
12     <developerConnection>scm:git:ssh://git.opendaylight.org:29418/controller.git</developerConnection>
13     <url>https://wiki.opendaylight.org/view/OpenDaylight_Controller:Main</url>
14     <tag>HEAD</tag>
15   </scm>
16
17   <artifactId>northbound.client</artifactId>
18   <version>0.0.1-SNAPSHOT</version>
19   <packaging>pom</packaging>
20
21   <properties>
22     <docs.output.dir>${project.build.directory}/rest-api-docs</docs.output.dir>
23     <java-client>${project.build.directory}/enunciate/build/java-client/full-client.jar</java-client>
24     <java-client-sources>${project.build.directory}/enunciate/build/java-client/full-client-sources.jar</java-client-sources>
25     <json-client>${project.build.directory}/enunciate/build/java-client/full-json-client.jar</json-client>
26     <json-client-sources>${project.build.directory}/enunciate/build/java-client/full-json-client-sources.jar</json-client-sources>
27   </properties>
28
29   <build>
30     <plugins>
31       <plugin>
32         <groupId>org.codehaus.enunciate</groupId>
33         <artifactId>maven-enunciate-plugin</artifactId>
34       </plugin>
35
36       <plugin>
37         <groupId>org.apache.maven.plugins</groupId>
38         <artifactId>maven-antrun-plugin</artifactId>
39         <version>1.5</version>
40         <executions>
41           <execution>
42             <phase>package</phase>
43             <goals>
44               <goal>run</goal>
45             </goals>
46           </execution>
47         </executions>
48         <configuration>
49           <target>
50             <taskdef resource="net/sf/antcontrib/antcontrib.properties"
51                      classpathref="maven.plugin.classpath" />
52             <patternset id="rest.paths">
53               <include name="**/target/site/wsdocs/**"/>
54               <exclude name="**/java-client/**"/>
55             </patternset>
56
57             <echo message="======== Assembling enunciate docs ========"/>
58             <!-- cleanup existing generated files -->
59             <delete dir="${docs.output.dir}"/>
60             <delete file="${docs.output.dir}.zip"/>
61             <mkdir dir="${docs.output.dir}"/>
62             <!-- copy enunciate docs to stage -->
63             <copy todir="${docs.output.dir}">
64               <fileset dir="${basedir}/../../..">
65                 <patternset refid="rest.paths"/>
66               </fileset>
67               <mapper type="regexp"
68                       from="^(.*)/([^/]+)/target/site/wsdocs/(.*)$$"
69                       to="\2/\3"/>
70             </copy>
71             <!-- generate index.html -->
72             <!-- append header -->
73             <echo file="${docs.output.dir}/index.html" append="true">
74               &lt;![CDATA[
75               &lt;html&gt;
76               &lt;head&gt;
77               &lt;title&gt; OpenDaylight REST API Documentation &lt;/title&gt;
78               &lt;/head&gt;
79               &lt;body&gt;
80               &lt;h2&gt;OpenDaylight REST API Documentation&lt;/h2&gt;
81               &lt;p&gt; OpenDaylight supports the following &lt;a href="http://en.wikipedia.org/wiki/Representational_State_Transfer"&gt;Representational State Transfer (REST)&lt;/a&gt; APIs: &lt;/p&gt;
82               &lt;h4&gt;
83               ]]&gt;
84             </echo>
85             <dirset id="nbset" dir="${docs.output.dir}">
86               <include name="*"/>
87             </dirset>
88             <pathconvert pathsep="&amp;#36;{line.separator}"
89                          property="nbs"
90                          refid="nbset"/>
91             <echo file="${docs.output.dir}/index.html"
92                   append="true"
93                   message="${nbs}"/>
94             <replaceregexp file="${docs.output.dir}/index.html"
95                            match="^\${docs.output.dir}/(.*)$"
96                            replace="&amp;lt;li&amp;gt;&amp;lt;a href=\1/index.html&amp;gt; \1 &amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;"
97                            byline="true"/>
98
99             <!-- append footer -->
100             <echo file="${docs.output.dir}/index.html" append="true">
101               &lt;![CDATA[
102               &lt;/h4&gt;
103               &lt;i&gt;---&lt;/i&gt;
104               &lt;/body&gt;
105               &lt;/html&gt;
106               ]]&gt;
107             </echo>
108             <!-- archive all the docs excluding whatever is not needed -->
109             <echo message="======== Archiving enunciate docs ========"/>
110             <zip destfile="${docs.output.dir}.zip">
111               <zipfileset dir="${docs.output.dir}"/>
112             </zip>
113
114             <echo message="======== Build successful ========"/>
115             <echo message="REST docs archive: ${docs.output.dir}.zip"/>
116           </target>
117         </configuration>
118         <dependencies>
119           <dependency>
120             <groupId>ant-contrib</groupId>
121             <artifactId>ant-contrib</artifactId>
122             <version>20020829</version>
123           </dependency>
124         </dependencies>
125       </plugin>
126
127       <plugin>
128         <groupId>org.codehaus.mojo</groupId>
129         <artifactId>build-helper-maven-plugin</artifactId>
130         <executions>
131           <execution>
132             <id>attach-artifacts</id>
133             <phase>package</phase>
134             <goals>
135               <goal>attach-artifact</goal>
136             </goals>
137             <configuration>
138               <artifacts>
139                 <artifact>
140                   <file>${java-client}</file>
141                   <type>jar</type>
142                   <classifier>full-java-client</classifier>
143                 </artifact>
144                 <artifact>
145                   <file>${java-client-sources}</file>
146                   <type>jar</type>
147                   <classifier>full-java-client-sources</classifier>
148                 </artifact>
149                 <artifact>
150                   <file>${json-client}</file>
151                   <type>jar</type>
152                   <classifier>full-json-client</classifier>
153                 </artifact>
154                 <artifact>
155                   <file>${json-client-sources}</file>
156                   <type>jar</type>
157                   <classifier>full-json-client-sources</classifier>
158                 </artifact>
159               </artifacts>
160             </configuration>
161           </execution>
162         </executions>
163       </plugin>
164     </plugins>
165   </build>
166   <dependencies>
167     <dependency>
168       <groupId>org.codehaus.enunciate</groupId>
169       <artifactId>enunciate-core-annotations</artifactId>
170     </dependency>
171
172     <!-- add dependency on all northbound bundles -->
173     <dependency>
174       <groupId>org.opendaylight.controller</groupId>
175       <artifactId>connectionmanager.northbound</artifactId>
176     </dependency>
177     <dependency>
178       <groupId>org.opendaylight.controller</groupId>
179       <artifactId>controllermanager.northbound</artifactId>
180     </dependency>
181     <dependency>
182       <groupId>org.opendaylight.controller</groupId>
183       <artifactId>flowprogrammer.northbound</artifactId>
184     </dependency>
185     <dependency>
186       <groupId>org.opendaylight.controller</groupId>
187       <artifactId>hosttracker.northbound</artifactId>
188     </dependency>
189     <dependency>
190       <groupId>org.opendaylight.controller</groupId>
191       <artifactId>networkconfig.bridgedomain.northbound</artifactId>
192     </dependency>
193     <dependency>
194       <groupId>org.opendaylight.controller</groupId>
195       <artifactId>networkconfig.neutron.northbound</artifactId>
196     </dependency>
197     <dependency>
198       <groupId>org.opendaylight.controller</groupId>
199       <artifactId>forwarding.staticrouting.northbound</artifactId>
200     </dependency>
201     <dependency>
202       <groupId>org.opendaylight.controller</groupId>
203       <artifactId>statistics.northbound</artifactId>
204     </dependency>
205     <dependency>
206       <groupId>org.opendaylight.controller</groupId>
207       <artifactId>subnets.northbound</artifactId>
208     </dependency>
209     <dependency>
210       <groupId>org.opendaylight.controller</groupId>
211       <artifactId>switchmanager.northbound</artifactId>
212     </dependency>
213     <dependency>
214       <groupId>org.opendaylight.controller</groupId>
215       <artifactId>topology.northbound</artifactId>
216     </dependency>
217     <dependency>
218       <groupId>org.opendaylight.controller</groupId>
219       <artifactId>usermanager.northbound</artifactId>
220     </dependency>
221   </dependencies>
222 </project>