pom.xml revision 5a2a4703
1<?xml version="1.0" encoding="UTF-8"?>
2<project xmlns="http://maven.apache.org/POM/4.0.0"
3         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5    <modelVersion>4.0.0</modelVersion>
6
7    <parent>
8        <groupId>io.fd.hc2vpp.common</groupId>
9        <artifactId>hc2vpp-parent</artifactId>
10        <version>1.18.10-SNAPSHOT</version>
11        <relativePath>../hc2vpp-parent</relativePath>
12    </parent>
13
14    <groupId>io.fd.hc2vpp.common</groupId>
15    <artifactId>impl-parent</artifactId>
16    <name>${project.artifactId}</name>
17    <version>1.18.10-SNAPSHOT</version>
18    <packaging>pom</packaging>
19
20    <dependencyManagement>
21        <dependencies>
22            <!-- import dependencies from honeycomb impl-parent  -->
23            <dependency>
24                <groupId>io.fd.honeycomb.common</groupId>
25                <artifactId>impl-parent</artifactId>
26                <version>1.18.10-SNAPSHOT</version>
27                <type>pom</type>
28                <scope>import</scope>
29            </dependency>
30            <!-- honeycomb artifacts -->
31            <dependency>
32                <groupId>io.fd.honeycomb</groupId>
33                <artifactId>binding-init</artifactId>
34                <version>${honeycomb.version}</version>
35            </dependency>
36            <dependency>
37                <groupId>io.fd.honeycomb</groupId>
38                <artifactId>cfg-init</artifactId>
39                <version>${honeycomb.version}</version>
40            </dependency>
41            <dependency>
42                <groupId>io.fd.honeycomb</groupId>
43                <artifactId>notification-api</artifactId>
44                <version>${honeycomb.version}</version>
45            </dependency>
46            <dependency>
47                <groupId>io.fd.honeycomb</groupId>
48                <artifactId>rpc-api</artifactId>
49                <version>${honeycomb.version}</version>
50            </dependency>
51            <dependency>
52                <groupId>io.fd.honeycomb</groupId>
53                <artifactId>translate-api</artifactId>
54                <version>${honeycomb.version}</version>
55            </dependency>
56            <dependency>
57                <groupId>io.fd.honeycomb</groupId>
58                <artifactId>translate-spi</artifactId>
59                <version>${honeycomb.version}</version>
60            </dependency>
61            <dependency>
62                <groupId>io.fd.honeycomb</groupId>
63                <artifactId>translate-impl</artifactId>
64                <version>${honeycomb.version}</version>
65            </dependency>
66            <dependency>
67                <groupId>io.fd.honeycomb</groupId>
68                <artifactId>translate-utils</artifactId>
69                <version>${honeycomb.version}</version>
70            </dependency>
71            <dependency>
72                <groupId>io.fd.honeycomb.infra</groupId>
73                <artifactId>test-tools</artifactId>
74                <version>${honeycomb.version}</version>
75                <scope>test</scope>
76            </dependency>
77        </dependencies>
78    </dependencyManagement>
79
80    <build>
81        <pluginManagement>
82            <plugins>
83                <!-- Must be done impl parent, to unpack jars for all projects that we generate yang module index for.
84                     Extracted /lib folder is used while generating yang-module-index -->
85                <!-- Copy all dependencies -->
86                <plugin>
87                    <groupId>org.apache.maven.plugins</groupId>
88                    <artifactId>maven-dependency-plugin</artifactId>
89                    <version>2.10</version>
90                    <executions>
91                        <execution>
92                            <id>copy-dependencies</id>
93                            <phase>process-sources</phase>
94                            <goals>
95                                <goal>copy-dependencies</goal>
96                            </goals>
97                            <configuration>
98                                <outputDirectory>${project.build.directory}/lib</outputDirectory>
99                                <useBaseVersion>true</useBaseVersion>
100                                <useRepositoryLayout>true</useRepositoryLayout>
101                                <excludeArtifactIds>yang-jmx-generator,test-api</excludeArtifactIds>
102                            </configuration>
103                        </execution>
104                    </executions>
105                </plugin>
106                <!-- Generate module to yang provider index -->
107                <plugin>
108                    <groupId>org.codehaus.gmaven</groupId>
109                    <artifactId>groovy-maven-plugin</artifactId>
110                    <executions>
111                        <execution>
112                            <id>generate-yang-index</id>
113                            <phase>generate-resources</phase>
114                            <goals>
115                                <goal>execute</goal>
116                            </goals>
117                            <configuration>
118                                <source>
119                                    io.fd.honeycomb.common.scripts.ModuleYangIndexGenerator.generateIndexForPresentModules(project, log)
120                                </source>
121                            </configuration>
122                        </execution>
123                    </executions>
124                    <dependencies>
125                        <dependency>
126                            <groupId>io.fd.honeycomb.common</groupId>
127                            <artifactId>common-scripts</artifactId>
128                            <version>${honeycomb.version}</version>
129                        </dependency>
130                    </dependencies>
131                </plugin>
132            </plugins>
133        </pluginManagement>
134
135        <plugins>
136            <plugin>
137                <groupId>org.codehaus.gmaven</groupId>
138                <artifactId>groovy-maven-plugin</artifactId>
139            </plugin>
140        </plugins>
141
142        <resources>
143            <resource>
144                <directory>src/main/resources</directory>
145                <includes>
146                    <include>**/*</include>
147                </includes>
148            </resource>
149            <resource>
150                <directory>${project.build.outputDirectory}</directory>
151                <includes>
152                    <include>**/yang-modules-binding/yang-modules</include>
153                </includes>
154            </resource>
155        </resources>
156    </build>
157</project>