Release aaa
[aaa.git] / aaa-cli-jar / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3 Copyright (c) 2016 Red Hat, 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 INTERNAL
8 -->
9 <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">
10   <modelVersion>4.0.0</modelVersion>
11
12   <parent>
13     <groupId>org.opendaylight.aaa</groupId>
14     <artifactId>aaa-parent</artifactId>
15     <version>0.18.4</version>
16     <relativePath>../parent</relativePath>
17   </parent>
18
19   <artifactId>aaa-cli-jar</artifactId>
20   <name>ODL :: aaa :: ${project.artifactId}</name>
21   <packaging>jar</packaging>
22
23   <dependencies>
24     <dependency>
25       <groupId>com.google.guava</groupId>
26       <artifactId>guava</artifactId>
27     </dependency>
28     <dependency>
29       <groupId>net.sf.jopt-simple</groupId>
30       <artifactId>jopt-simple</artifactId>
31       <version>5.0.4</version>
32     </dependency>
33     <dependency>
34       <groupId>org.opendaylight.aaa</groupId>
35       <artifactId>aaa-idm-store-h2</artifactId>
36       <exclusions>
37         <exclusion>
38           <!-- Completely disable transitive dependencies -->
39           <groupId>*</groupId>
40           <artifactId>*</artifactId>
41         </exclusion>
42       </exclusions>
43     </dependency>
44     <!-- Now repeat the few really needed dependencies which we would normally get transitively -->
45     <dependency>
46       <groupId>org.opendaylight.aaa</groupId>
47       <artifactId>aaa-authn-api</artifactId>
48     </dependency>
49     <dependency>
50       <groupId>org.apache.commons</groupId>
51       <artifactId>commons-text</artifactId>
52     </dependency>
53     <dependency>
54       <groupId>com.h2database</groupId>
55       <artifactId>h2</artifactId>
56       <scope>compile</scope>
57     </dependency>
58
59     <!-- Now for the FAT JAR we need to fix up some <scope>provided to be <scope>compile -->
60     <dependency>
61       <groupId>org.slf4j</groupId>
62       <artifactId>slf4j-api</artifactId>
63       <scope>compile</scope> <!-- Not provided -->
64     </dependency>
65     <dependency>
66       <groupId>org.slf4j</groupId>
67       <artifactId>slf4j-simple</artifactId>
68       <scope>compile</scope> <!-- Not test -->
69     </dependency>
70     <!-- Testing Dependencies -->
71     <dependency>
72       <groupId>org.opendaylight.yangtools</groupId>
73       <artifactId>testutils</artifactId>
74     </dependency>
75     <dependency>
76       <groupId>org.opendaylight.aaa</groupId>
77       <artifactId>aaa-password-service-api</artifactId>
78     </dependency>
79     <dependency>
80       <groupId>org.opendaylight.aaa</groupId>
81       <artifactId>aaa-password-service-impl</artifactId>
82     </dependency>
83   </dependencies>
84
85   <build>
86     <plugins>
87       <plugin>
88         <artifactId>maven-failsafe-plugin</artifactId>
89         <!-- TODO Remove when https://git.opendaylight.org/gerrit/#/c/48400/ is merged -->
90         <executions>
91           <execution>
92             <id>integration-test</id>
93             <goals>
94               <goal>integration-test</goal>
95             </goals>
96           </execution>
97           <execution>
98             <id>verify</id>
99             <goals>
100               <goal>verify</goal>
101             </goals>
102           </execution>
103         </executions>
104       </plugin>
105       <plugin>
106         <groupId>org.apache.maven.plugins</groupId>
107         <artifactId>maven-shade-plugin</artifactId>
108         <executions>
109           <execution>
110             <id>shade</id>
111             <phase>package</phase>
112             <goals>
113               <goal>shade</goal>
114             </goals>
115             <configuration>
116               <createDependencyReducedPom>false</createDependencyReducedPom>
117               <minimizeJar>true</minimizeJar>
118               <filters>
119                   <filter>
120                     <artifact>*:*</artifact>
121                     <excludes>
122                       <exclude>META-INF/*.SF</exclude>
123                       <exclude>META-INF/*.DSA</exclude>
124                       <exclude>META-INF/*.RSA</exclude>
125                     </excludes>
126                   </filter>
127                 <filter>
128                   <artifact>org.opendaylight.aaa:aaa-shiro</artifact>
129                   <includes>
130                     <include>org/opendaylight/**</include>
131                   </includes>
132                 </filter>
133                 <filter>
134                   <artifact>com.h2database:h2</artifact>
135                   <excludes>
136                     <!-- AAA cli does not use bnf, fulltext, jdbcx, jmx, server and tools -->
137                     <exclude>org/h2/bnf/**</exclude>
138                     <exclude>org/h2/fulltext/**</exclude>
139                     <exclude>org/h2/jdbcx/**</exclude>
140                     <exclude>org/h2/jmx/**</exclude>
141                     <exclude>org/h2/server/**</exclude>
142                     <exclude>org/h2/tools/**</exclude>
143                   </excludes>
144                 </filter>
145                 <filter>
146                   <artifact>org.opendaylight.aaa:aaa-password-service-api</artifact>
147                   <includes>
148                     <include>org/opendaylight/**</include>
149                   </includes>
150                 </filter>
151                 <filter>
152                   <artifact>org.opendaylight.aaa:aaa-password-service-impl</artifact>
153                   <includes>
154                     <include>org/opendaylight/**</include>
155                   </includes>
156                 </filter>
157               </filters>
158               <transformers>
159                 <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
160                   <mainClass>org.opendaylight.aaa.cli.jar.Main</mainClass>
161                 </transformer>
162               </transformers>
163             </configuration>
164           </execution>
165         </executions>
166       </plugin>
167     </plugins>
168   </build>
169
170 </project>