Update pom files in master to 1.7.0-SNAPSHOT
[demo.git] / vnfs / vLBMS / apis / vlb-vnf-onap-distribution / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <!--
4     Modifications copyright © 2019 AT&T Intellectual Property
5 -->
6
7 <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">
8
9   <parent>
10     <artifactId>hc-onap</artifactId>
11     <version>1.7.0-SNAPSHOT</version>
12     <groupId>org.onap.demo.vnf</groupId>
13     <relativePath>../../../honeycomb_plugin/parent-pom/pom.xml</relativePath>
14   </parent>
15
16   <modelVersion>4.0.0</modelVersion>
17   <artifactId>vlb-vnf-onap-distribution</artifactId>
18
19     <properties>
20     <nexusproxy>http://nexus.fd.io/content</nexusproxy>
21     <start.script.template>
22 #!/bin/sh -
23 %s
24     </start.script.template>
25
26     <exec.parameters>-Xms256m -Xmx256m</exec.parameters>
27     <exec.parameters.minimal>
28       -client -Xms20m -Xmx32m -XX:MetaspaceSize=5m -XX:MaxMetaspaceSize=32m -XX:MaxMetaspaceExpansion=1m -Xss512k -XX:+UseSerialGC -Djava.compiler=NONE -Xverify:none -noverify
29     </exec.parameters.minimal>
30     <random.seed.file>/dev/./urandom</random.seed.file>
31     <main.class>io.fd.honeycomb.infra.distro.Main</main.class>
32     <interfaces.mapping.version>1.17.07</interfaces.mapping.version>
33     <honeycomb.min.distro.version>1.17.07</honeycomb.min.distro.version>
34     <!--
35        Defines list of specific modules provided by the distribution
36        (adds them to base modules like NetconfModule and RestconfModule).
37
38        Module configuration is placed in 'modules' subdir of the target distro folder.
39        Modules can be disabled by commenting them out in the pom.xml
40        or modules configuration file.
41      -->
42     <distribution.modules>
43       org.onap.vnf.vlb.Module
44       org.onap.vnf.health.Module
45     </distribution.modules>
46   </properties>
47
48     <build>
49     <pluginManagement>
50         <plugins>
51             <plugin>
52                 <groupId>org.apache.maven.plugins</groupId>
53                 <artifactId>maven-jar-plugin</artifactId>
54                 <version>2.6</version>
55                 <configuration>
56                     <archive>
57                         <manifest>
58                             <mainClass>${main.class}</mainClass>
59                             <addClasspath>true</addClasspath>
60                             <classpathPrefix>lib/</classpathPrefix>
61                             <useUniqueVersions>false</useUniqueVersions>
62                             <classpathMavenRepositoryLayout>true</classpathMavenRepositoryLayout>
63                         </manifest>
64                         <manifestEntries>
65                             <Class-Path>config/ cert/ modules/ yang-mapping/</Class-Path>
66                         </manifestEntries>
67                     </archive>
68                 </configuration>
69             </plugin>
70             <plugin>
71                 <groupId>org.apache.maven.plugins</groupId>
72                 <artifactId>maven-dependency-plugin</artifactId>
73                 <version>2.10</version>
74                 <executions>
75                     <!--  Dependencies are copied by parent project  -->
76                     <execution>
77                         <id>unpack-configuration</id>
78                         <phase>prepare-package</phase>
79                         <goals>
80                             <goal>unpack-dependencies</goal>
81                         </goals>
82                         <configuration>
83                             <includes>**/honeycomb-minimal-resources/</includes>
84                             <outputDirectory>${project.build.outputDirectory}/</outputDirectory>
85                         </configuration>
86                     </execution>
87                 </executions>
88             </plugin>
89             <!--  Generate shell script  -->
90             <!--  Extract modules started by distribution  -->
91             <plugin>
92                 <groupId>org.codehaus.gmaven</groupId>
93                 <artifactId>groovy-maven-plugin</artifactId>
94                 <executions>
95                     <!--execution>
96                         <id>start-scripts-generation</id>
97                         <phase>package</phase>
98                         <goals>
99                             <goal>execute</goal>
100                         </goals>
101                         <configuration>
102                             <source>
103                               io.fd.honeycomb.common.scripts.StartupScriptGenerator.generate(project, properties, log)
104                             </source>
105                         </configuration>
106                     </execution-->
107                     <execution>
108                         <id>distribution-module-assembly</id>
109                         <!--phase changed from package to earlier phase to generate module descriptor before distribution jar is created,
110                              to include descriptor in the jar,to be accessible to children distributions-->
111                         <phase>prepare-package</phase>
112                         <goals>
113                             <goal>execute</goal>
114                         </goals>
115                         <configuration>
116                             <source>
117                               io.fd.honeycomb.common.scripts.ModulesListGenerator.generate(project, properties, log)
118                             </source>
119                         </configuration>
120                     </execution>
121                     <execution>
122                         <id>generate-module-to-yang-index</id>
123                         <phase>prepare-package</phase>
124                         <goals>
125                             <goal>execute</goal>
126                         </goals>
127                         <configuration>
128                             <source>
129                               io.fd.honeycomb.common.scripts.ModuleYangIndexGenerator.pairDistributionModulesWithYangModules(project, log)
130                             </source>
131                         </configuration>
132                     </execution>
133                 </executions>
134                 <dependencies>
135                     <dependency>
136                         <groupId>io.fd.honeycomb.common</groupId>
137                         <artifactId>common-scripts</artifactId>
138                         <version>1.17.07</version>
139                     </dependency>
140                 </dependencies>
141             </plugin>
142             <!--  Build archives  -->
143             <plugin>
144                 <artifactId>maven-assembly-plugin</artifactId>
145                 <version>2.5.3</version>
146                 <dependencies>
147                     <dependency>
148                         <groupId>io.fd.honeycomb.common</groupId>
149                         <artifactId>minimal-assembly-descriptor</artifactId>
150                         <version>1.17.07</version>
151                     </dependency>
152                 </dependencies>
153                 <executions>
154                     <execution>
155                         <id>create-archive</id>
156                         <phase>package</phase>
157                         <goals>
158                             <goal>single</goal>
159                         </goals>
160                         <configuration>
161                             <descriptorRefs>
162                                 <descriptorRef>honeycomb-minimal</descriptorRef>
163                             </descriptorRefs>
164                         </configuration>
165                     </execution>
166                 </executions>
167             </plugin>
168             <plugin>
169                 <artifactId>maven-surefire-plugin</artifactId>
170                 <configuration>
171                     <!--http://stackoverflow.com/questions/18107375/getting-skipping-jacoco-execution-due-to-missing-execution-data-file-upon-exec-->
172                     <argLine>
173                       ${argLine} -Djava.security.egd=file:${random.seed.file}
174                     </argLine>
175                 </configuration>
176             </plugin>
177         </plugins>
178     </pluginManagement>
179
180     <plugins>
181       <plugin>
182         <artifactId>maven-compiler-plugin</artifactId>
183       </plugin>
184       <plugin>
185         <groupId>org.codehaus.gmaven</groupId>
186         <artifactId>groovy-maven-plugin</artifactId>
187       </plugin>
188       <plugin>
189         <groupId>org.apache.maven.plugins</groupId>
190         <artifactId>maven-jar-plugin</artifactId>
191       </plugin>
192       <plugin>
193         <groupId>org.apache.maven.plugins</groupId>
194         <artifactId>maven-dependency-plugin</artifactId>
195       </plugin>
196       <plugin>
197         <artifactId>maven-assembly-plugin</artifactId>
198       </plugin>
199       <plugin>
200         <groupId>org.apache.maven.plugins</groupId>
201         <artifactId>maven-deploy-plugin</artifactId>
202         <configuration>
203           <skip>false</skip>
204         </configuration>
205       </plugin>
206       <plugin>
207         <groupId>org.apache.maven.plugins</groupId>
208         <artifactId>maven-install-plugin</artifactId>
209         <configuration>
210           <skip>false</skip>
211         </configuration>
212       </plugin>
213     </plugins>
214   </build>
215
216   <dependencies>
217     <!-- Dependency on sample plugin -->
218     <dependency>
219       <groupId>org.onap.demo.vnf.vlb</groupId>
220       <artifactId>vlb-business-vnf-onap-plugin-impl</artifactId>
221       <version>${interfaces.mapping.version}</version>
222     </dependency>
223     <dependency>
224       <groupId>org.onap.demo.vnf.health</groupId>
225       <artifactId>health-vnf-onap-plugin-impl</artifactId>
226       <version>${interfaces.mapping.version}</version>
227     </dependency>
228     <dependency>
229           <groupId>com.google.guava</groupId>
230           <artifactId>guava</artifactId>
231           <version>18.0</version>
232     </dependency>
233     <!-- Dependency on distribution base -->
234     <dependency>
235       <groupId>io.fd.honeycomb</groupId>
236       <artifactId>minimal-distribution</artifactId>
237       <version>${honeycomb.min.distro.version}</version>
238       <exclusions>
239         <exclusion>
240           <groupId>com.google.guava</groupId>
241           <artifactId>guava</artifactId>
242         </exclusion>
243       </exclusions>
244     </dependency>
245   </dependencies>
246 </project>