b894a54c264d810885f65ba4d6a8a515a2a73832
[netconf.git] / netconf / tools / netconf-testtool / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ~ Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.
4   ~
5   ~ This program and the accompanying materials are made available under the
6   ~ terms of the Eclipse Public License v1.0 which accompanies this distribution,
7   ~ and is available at http://www.eclipse.org/legal/epl-v10.html
8   -->
9
10 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
11          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
12     <modelVersion>4.0.0</modelVersion>
13
14     <parent>
15         <groupId>org.opendaylight.netconf</groupId>
16         <artifactId>netconf-parent</artifactId>
17         <version>4.0.0-SNAPSHOT</version>
18         <relativePath>../../../parent</relativePath>
19     </parent>
20
21     <artifactId>netconf-testtool</artifactId>
22     <name>${project.artifactId}</name>
23     <packaging>jar</packaging>
24
25     <properties>
26         <sonar.skip>true</sonar.skip>
27     </properties>
28
29     <dependencies>
30         <dependency>
31             <groupId>org.codehaus.janino</groupId>
32             <artifactId>janino</artifactId>
33             <version>3.1.4</version>
34         </dependency>
35         <dependency>
36             <groupId>net.sourceforge.argparse4j</groupId>
37             <artifactId>argparse4j</artifactId>
38         </dependency>
39         <dependency>
40             <groupId>ch.qos.logback</groupId>
41             <artifactId>logback-classic</artifactId>
42             <scope>compile</scope>
43         </dependency>
44         <dependency>
45             <groupId>org.bouncycastle</groupId>
46             <artifactId>bcpkix-jdk18on</artifactId>
47         </dependency>
48         <dependency>
49             <groupId>org.bouncycastle</groupId>
50             <artifactId>bcprov-jdk18on</artifactId>
51         </dependency>
52         <dependency>
53             <groupId>${project.groupId}</groupId>
54             <artifactId>netconf-netty-util</artifactId>
55         </dependency>
56         <dependency>
57             <groupId>${project.groupId}</groupId>
58             <artifactId>netconf-auth</artifactId>
59         </dependency>
60         <dependency>
61             <groupId>${project.groupId}</groupId>
62             <artifactId>sal-netconf-connector</artifactId>
63         </dependency>
64        <dependency>
65             <groupId>org.opendaylight.yangtools</groupId>
66             <artifactId>mockito-configuration</artifactId>
67         </dependency>
68         <dependency>
69             <groupId>org.slf4j</groupId>
70             <artifactId>slf4j-api</artifactId>
71         </dependency>
72         <dependency>
73             <groupId>com.google.guava</groupId>
74             <artifactId>guava</artifactId>
75         </dependency>
76         <dependency>
77             <groupId>${project.groupId}</groupId>
78             <artifactId>netconf-api</artifactId>
79         </dependency>
80         <dependency>
81             <groupId>org.opendaylight.netconf.model</groupId>
82             <artifactId>rfc6022</artifactId>
83         </dependency>
84         <dependency>
85             <groupId>${project.groupId}</groupId>
86             <artifactId>netconf-client</artifactId>
87         </dependency>
88         <dependency>
89             <groupId>com.guicedee.services</groupId>
90             <artifactId>javax.inject</artifactId>
91             <optional>true</optional>
92         </dependency>
93         <dependency>
94             <groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
95             <artifactId>rfc6991</artifactId>
96         </dependency>
97         <dependency>
98             <groupId>${project.groupId}</groupId>
99             <artifactId>netconf-impl</artifactId>
100         </dependency>
101         <dependency>
102             <groupId>${project.groupId}</groupId>
103             <artifactId>netconf-mapping-api</artifactId>
104         </dependency>
105         <dependency>
106             <groupId>org.opendaylight.netconf</groupId>
107             <artifactId>mdsal-netconf-monitoring</artifactId>
108         </dependency>
109         <dependency>
110             <groupId>org.opendaylight.mdsal</groupId>
111             <artifactId>mdsal-dom-broker</artifactId>
112         </dependency>
113         <dependency>
114             <groupId>org.opendaylight.mdsal</groupId>
115             <artifactId>mdsal-dom-inmemory-datastore</artifactId>
116         </dependency>
117         <dependency>
118             <groupId>org.opendaylight.netconf</groupId>
119             <artifactId>mdsal-netconf-connector</artifactId>
120         </dependency>
121         <dependency>
122             <groupId>${project.groupId}</groupId>
123             <artifactId>mdsal-netconf-ssh</artifactId>
124         </dependency>
125         <dependency>
126             <groupId>org.apache.karaf.features</groupId>
127             <artifactId>org.apache.karaf.features.core</artifactId>
128         </dependency>
129         <dependency>
130             <groupId>org.xmlunit</groupId>
131             <artifactId>xmlunit-core</artifactId>
132         </dependency>
133         <dependency>
134             <groupId>org.xmlunit</groupId>
135             <artifactId>xmlunit-assertj</artifactId>
136         </dependency>
137     </dependencies>
138
139     <build>
140         <plugins>
141             <plugin>
142                 <groupId>org.apache.maven.plugins</groupId>
143                 <artifactId>maven-dependency-plugin</artifactId>
144                 <executions>
145                     <execution>
146                         <id>stress-client dependency copy</id>
147                         <goals>
148                             <goal>copy</goal>
149                         </goals>
150                         <configuration>
151                             <artifactItems>
152                                 <artifactItem>
153                                     <groupId>org.bouncycastle</groupId>
154                                     <artifactId>bcpkix-jdk18on</artifactId>
155                                     <outputDirectory>${project.build.directory}/lib</outputDirectory>
156                                     <overWrite>true</overWrite>
157                                     <destFileName>bcpkix-jdk18on.jar</destFileName>
158                                 </artifactItem>
159                                 <artifactItem>
160                                     <groupId>org.bouncycastle</groupId>
161                                     <artifactId>bcprov-jdk18on</artifactId>
162                                     <outputDirectory>${project.build.directory}/lib</outputDirectory>
163                                     <overWrite>true</overWrite>
164                                     <destFileName>bcprov-jdk18on.jar</destFileName>
165                                 </artifactItem>
166                             </artifactItems>
167                         </configuration>
168                     </execution>
169                 </executions>
170             </plugin>
171             <plugin>
172                 <groupId>org.apache.maven.plugins</groupId>
173                 <artifactId>maven-shade-plugin</artifactId>
174                 <configuration>
175                     <createDependencyReducedPom>false</createDependencyReducedPom>
176                 </configuration>
177                 <executions>
178                     <execution>
179                         <goals>
180                             <goal>shade</goal>
181                         </goals>
182                         <phase>package</phase>
183                         <configuration>
184                             <!-- TODO investigate why jar fails without this filter-->
185                             <filters>
186                                 <filter>
187                                     <artifact>*:*</artifact>
188                                     <excludes>
189                                         <exclude>META-INF/*.SF</exclude>
190                                         <exclude>META-INF/*.DSA</exclude>
191                                         <exclude>META-INF/*.RSA</exclude>
192                                         <exclude>org.opendaylight.netconf.test.tool.client</exclude>
193                                     </excludes>
194                                 </filter>
195                             </filters>
196                               <transformers>
197                                   <transformer
198                                           implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
199                                       <mainClass>org.opendaylight.netconf.test.tool.Main</mainClass>
200                                   </transformer>
201                               </transformers>
202                               <shadedArtifactAttached>true</shadedArtifactAttached>
203                               <shadedClassifierName>executable</shadedClassifierName>
204                           </configuration>
205                       </execution>
206
207                       <execution>
208                           <id>stress-client</id>
209                           <goals>
210                               <goal>shade</goal>
211                           </goals>
212                           <phase>package</phase>
213                           <configuration>
214                               <shadedArtifactId>stress-client</shadedArtifactId>
215                               <filters>
216                                   <filter>
217                                       <artifact>*:*</artifact>
218                                       <excludes>
219                                           <exclude>META-INF/*.SF</exclude>
220                                           <exclude>META-INF/*.DSA</exclude>
221                                           <exclude>META-INF/*.RSA</exclude>
222                                           <exclude>org.opendaylight.netconf.test.tool.client.http</exclude>
223                                           <exclude>org.opendaylight.netconf.test.tool.rpc</exclude>
224                                           <exclude>AcceptingAuthProvider</exclude>
225                                           <exclude>org.opendaylight.netconf.test.tool.DummyMonitoringService</exclude>
226                                           <exclude>org.opendaylight.netconf.test.tool.FakeCapability</exclude>
227                                           <exclude>org.opendaylight.netconf.test.tool.Main</exclude>
228                                           <exclude>org.opendaylight.netconf.test.tool.NetconfDeviceSimulator</exclude>
229                                       </excludes>
230                                   </filter>
231                               </filters>
232                               <artifactSet>
233                                   <excludes>
234                                      <exclude>org.bouncycastle:*</exclude>
235                                   </excludes>
236                               </artifactSet>
237                               <transformers>
238                                   <transformer
239                                           implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
240                                       <manifestEntries>
241                                           <Main-Class>org.opendaylight.netconf.test.tool.client.stress.StressClient</Main-Class>
242                                           <Class-Path>. lib lib/bcprov-jdk18on.jar lib/bcpkix-jdk18on.jar</Class-Path>
243                                       </manifestEntries>
244                                   </transformer>
245                               </transformers>
246                               <shadedArtifactAttached>true</shadedArtifactAttached>
247                               <shadedClassifierName>stress-client</shadedClassifierName>
248                           </configuration>
249                       </execution>
250
251                       <execution>
252                           <id>restconf-perf-client</id>
253                           <goals>
254                               <goal>shade</goal>
255                           </goals>
256                           <phase>package</phase>
257                           <configuration>
258                               <shadedArtifactId>rest-perf-client</shadedArtifactId>
259                               <filters>
260                                   <filter>
261                                       <artifact>*:*</artifact>
262                                       <excludes>
263                                           <exclude>META-INF/*.SF</exclude>
264                                           <exclude>META-INF/*.DSA</exclude>
265                                           <exclude>META-INF/*.RSA</exclude>
266                                           <exclude>org.opendaylight.netconf.test.tool.rpc</exclude>
267                                           <exclude>AcceptingAuthProvider</exclude>
268                                           <exclude>org.opendaylight.netconf.test.tool.DummyMonitoringService</exclude>
269                                           <exclude>org.opendaylight.netconf.test.tool.FakeCapability</exclude>
270                                           <exclude>org.opendaylight.netconf.test.tool.Main</exclude>
271                                           <exclude>org.opendaylight.netconf.test.tool.NetconfDeviceSimulator</exclude>
272                                       </excludes>
273                                   </filter>
274                               </filters>
275                               <artifactSet>
276                                   <excludes>
277                                       <exclude>org.bouncycastle:*</exclude>
278                                       <exclude>com.google:*</exclude>
279                                       <exclude>org.opendaylight.yangtools</exclude>
280                                       <exclude>org.opendaylight.yang</exclude>
281                                   </excludes>
282                               </artifactSet>
283                               <transformers>
284                                   <transformer
285                                           implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
286                                       <mainClass>org.opendaylight.netconf.test.tool.client.http.perf.RestPerfClient</mainClass>
287                                   </transformer>
288                               </transformers>
289                               <shadedArtifactAttached>true</shadedArtifactAttached>
290                               <shadedClassifierName>rest-perf-client</shadedClassifierName>
291                           </configuration>
292                       </execution>
293
294                     <execution>
295                         <id>scale-util</id>
296                         <goals>
297                             <goal>shade</goal>
298                         </goals>
299                         <phase>package</phase>
300                         <configuration>
301                             <shadedArtifactId>scale-util</shadedArtifactId>
302                             <filters>
303                                 <filter>
304                                     <artifact>*:*</artifact>
305                                     <excludes>
306                                         <exclude>META-INF/*.SF</exclude>
307                                         <exclude>META-INF/*.DSA</exclude>
308                                         <exclude>META-INF/*.RSA</exclude>
309                                     </excludes>
310                                 </filter>
311                             </filters>
312                             <transformers>
313                                 <transformer
314                                         implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
315                                     <manifestEntries>
316                                         <Main-Class>org.opendaylight.netconf.test.tool.ScaleUtil</Main-Class>
317                                         <Class-Path>. lib lib/bcprov-jdk18on.jar lib/bcpkix-jdk18on.jar</Class-Path>
318                                     </manifestEntries>
319                                 </transformer>
320                             </transformers>
321                             <shadedArtifactAttached>true</shadedArtifactAttached>
322                             <shadedClassifierName>scale-util</shadedClassifierName>
323                         </configuration>
324                     </execution>
325                   </executions>
326               </plugin>
327               <plugin>
328                   <artifactId>maven-assembly-plugin</artifactId>
329                   <configuration>
330                       <descriptors>
331                           <descriptor>src/main/assembly/stress-client.xml</descriptor>
332                       </descriptors>
333                       <finalName>stress-client-${project.version}-package</finalName>
334                   </configuration>
335                   <executions>
336                       <execution>
337                           <id>make-assembly</id>
338                           <phase>package</phase>
339                           <goals>
340                               <goal>single</goal>
341                           </goals>
342                       </execution>
343                   </executions>
344               </plugin>
345               <plugin>
346                   <artifactId>maven-surefire-plugin</artifactId>
347                   <configuration>
348                       <reportFormat>plain</reportFormat>
349                   </configuration>
350               </plugin>
351           </plugins>
352       </build>
353
354   </project>