40a06cb402443e907006e9e48a41d09f30422129
[mdsal.git] / binding / mdsal-binding-dom-codec / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- vi: set et smarttab sw=4 tabstop=4: -->
3 <!--
4  Copyright (c) 2013 Cisco Systems, Inc. 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     <parent>
13         <groupId>org.opendaylight.mdsal</groupId>
14         <artifactId>dom-parent</artifactId>
15         <version>4.0.15-SNAPSHOT</version>
16         <relativePath>../../dom/dom-parent</relativePath>
17     </parent>
18
19     <artifactId>mdsal-binding-dom-codec</artifactId>
20     <packaging>bundle</packaging>
21
22     <properties>
23         <shade.source>net.bytebuddy</shade.source>
24         <shade.target>org.opendaylight.mdsal.binding.dom.codec.jar.bytebuddy</shade.target>
25     </properties>
26
27     <dependencies>
28         <dependency>
29             <groupId>org.javassist</groupId>
30             <artifactId>javassist</artifactId>
31         </dependency>
32         <dependency>
33             <!-- We are going to shade this -->
34             <groupId>net.bytebuddy</groupId>
35             <artifactId>byte-buddy</artifactId>
36             <version>1.9.14</version>
37         </dependency>
38         <dependency>
39             <groupId>org.opendaylight.mdsal</groupId>
40             <artifactId>mdsal-binding-generator-impl</artifactId>
41         </dependency>
42         <dependency>
43             <groupId>org.opendaylight.yangtools</groupId>
44             <artifactId>yang-data-impl</artifactId>
45         </dependency>
46         <dependency>
47             <groupId>org.opendaylight.mdsal</groupId>
48             <artifactId>mdsal-binding-generator-api</artifactId>
49         </dependency>
50         <dependency>
51             <groupId>org.opendaylight.mdsal</groupId>
52             <artifactId>mdsal-binding-test-model</artifactId>
53         </dependency>
54
55         <dependency>
56             <groupId>com.google.guava</groupId>
57             <artifactId>guava</artifactId>
58         </dependency>
59         <dependency>
60             <groupId>org.opendaylight.yangtools</groupId>
61             <artifactId>mockito-configuration</artifactId>
62         </dependency>
63     </dependencies>
64
65     <build>
66         <plugins>
67             <plugin>
68                 <groupId>org.apache.felix</groupId>
69                 <artifactId>maven-bundle-plugin</artifactId>
70                 <extensions>true</extensions>
71                 <configuration>
72                     <instructions>
73                         <Bundle-Name>${project.groupId}.${project.artifactId}</Bundle-Name>
74                         <Export-Package>
75                             org.opendaylight.mdsal.binding.dom.codec.*,
76                             ;-split-package:=error
77                         </Export-Package>
78                         <Private-Package>
79                             org.opendaylight.mdsal.binding.dom.codec.loader,
80                         </Private-Package>
81                         <Import-Package>
82                             !net.bytebuddy.*,
83                             *
84                         </Import-Package>
85                     </instructions>
86                 </configuration>
87             </plugin>
88
89             <!-- Shade Byte-Buddy -->
90             <plugin>
91                 <groupId>org.apache.maven.plugins</groupId>
92                 <artifactId>maven-shade-plugin</artifactId>
93                 <executions>
94                     <execution>
95                         <phase>package</phase>
96                         <goals>
97                             <goal>shade</goal>
98                         </goals>
99                         <configuration>
100                             <shadedArtifactAttached>false</shadedArtifactAttached>
101                             <createDependencyReducedPom>true</createDependencyReducedPom>
102                             <createSourcesJar>true</createSourcesJar>
103                             <shadeSourcesContent>true</shadeSourcesContent>
104                             <minimizeJar>true</minimizeJar>
105                             <relocations>
106                                 <relocation>
107                                     <pattern>${shade.source}</pattern>
108                                     <shadedPattern>${shade.target}</shadedPattern>
109                                 </relocation>
110                             </relocations>
111                             <artifactSet>
112                                 <includes>
113                                     <include>net.bytebuddy:byte-buddy</include>
114                                 </includes>
115                             </artifactSet>
116                             <filters>
117                                 <filter>
118                                     <artifact>net.bytebuddy:byte-buddy</artifact>
119                                     <excludes>
120                                         <exclude>META-INF/**</exclude>
121                                     </excludes>
122                                 </filter>
123                             </filters>
124                         </configuration>
125                     </execution>
126                 </executions>
127             </plugin>
128
129             <plugin>
130                 <groupId>org.apache.maven.plugins</groupId>
131                 <artifactId>maven-checkstyle-plugin</artifactId>
132                 <configuration>
133                     <propertyExpansion>checkstyle.violationSeverity=error</propertyExpansion>
134                 </configuration>
135             </plugin>
136             <plugin>
137                 <groupId>com.github.spotbugs</groupId>
138                 <artifactId>spotbugs-maven-plugin</artifactId>
139                 <configuration>
140                     <failOnError>true</failOnError>
141                 </configuration>
142             </plugin>
143         </plugins>
144     </build>
145 </project>