1 <?xml version="1.0" encoding="UTF-8"?>
4 Modifications copyright © 2019 AT&T Intellectual Property
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">
10 <artifactId>hc-onap</artifactId>
11 <version>1.5.0</version>
12 <groupId>org.onap.demo.vnf</groupId>
13 <relativePath>../../../honeycomb_plugin/parent-pom/pom.xml</relativePath>
16 <modelVersion>4.0.0</modelVersion>
17 <artifactId>vlb-vnf-onap-distribution</artifactId>
20 <nexusproxy>http://nexus.fd.io/content</nexusproxy>
21 <start.script.template>
24 </start.script.template>
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>
35 Defines list of specific modules provided by the distribution
36 (adds them to base modules like NetconfModule and RestconfModule).
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.
42 <distribution.modules>
43 org.onap.vnf.vlb.Module
44 org.onap.vnf.health.Module
45 </distribution.modules>
52 <groupId>org.apache.maven.plugins</groupId>
53 <artifactId>maven-jar-plugin</artifactId>
54 <version>2.6</version>
58 <mainClass>${main.class}</mainClass>
59 <addClasspath>true</addClasspath>
60 <classpathPrefix>lib/</classpathPrefix>
61 <useUniqueVersions>false</useUniqueVersions>
62 <classpathMavenRepositoryLayout>true</classpathMavenRepositoryLayout>
65 <Class-Path>config/ cert/ modules/ yang-mapping/</Class-Path>
71 <groupId>org.apache.maven.plugins</groupId>
72 <artifactId>maven-dependency-plugin</artifactId>
73 <version>2.10</version>
75 <!-- Dependencies are copied by parent project -->
77 <id>unpack-configuration</id>
78 <phase>prepare-package</phase>
80 <goal>unpack-dependencies</goal>
83 <includes>**/honeycomb-minimal-resources/</includes>
84 <outputDirectory>${project.build.outputDirectory}/</outputDirectory>
89 <!-- Generate shell script -->
90 <!-- Extract modules started by distribution -->
92 <groupId>org.codehaus.gmaven</groupId>
93 <artifactId>groovy-maven-plugin</artifactId>
96 <id>start-scripts-generation</id>
97 <phase>package</phase>
103 io.fd.honeycomb.common.scripts.StartupScriptGenerator.generate(project, properties, log)
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>
117 io.fd.honeycomb.common.scripts.ModulesListGenerator.generate(project, properties, log)
122 <id>generate-module-to-yang-index</id>
123 <phase>prepare-package</phase>
129 io.fd.honeycomb.common.scripts.ModuleYangIndexGenerator.pairDistributionModulesWithYangModules(project, log)
136 <groupId>io.fd.honeycomb.common</groupId>
137 <artifactId>common-scripts</artifactId>
138 <version>1.17.07</version>
142 <!-- Build archives -->
144 <artifactId>maven-assembly-plugin</artifactId>
145 <version>2.5.3</version>
148 <groupId>io.fd.honeycomb.common</groupId>
149 <artifactId>minimal-assembly-descriptor</artifactId>
150 <version>1.17.07</version>
155 <id>create-archive</id>
156 <phase>package</phase>
162 <descriptorRef>honeycomb-minimal</descriptorRef>
169 <artifactId>maven-surefire-plugin</artifactId>
171 <!--http://stackoverflow.com/questions/18107375/getting-skipping-jacoco-execution-due-to-missing-execution-data-file-upon-exec-->
173 ${argLine} -Djava.security.egd=file:${random.seed.file}
182 <artifactId>maven-compiler-plugin</artifactId>
185 <groupId>org.codehaus.gmaven</groupId>
186 <artifactId>groovy-maven-plugin</artifactId>
189 <groupId>org.apache.maven.plugins</groupId>
190 <artifactId>maven-jar-plugin</artifactId>
193 <groupId>org.apache.maven.plugins</groupId>
194 <artifactId>maven-dependency-plugin</artifactId>
197 <artifactId>maven-assembly-plugin</artifactId>
200 <groupId>org.apache.maven.plugins</groupId>
201 <artifactId>maven-deploy-plugin</artifactId>
207 <groupId>org.apache.maven.plugins</groupId>
208 <artifactId>maven-install-plugin</artifactId>
217 <!-- Dependency on sample plugin -->
219 <groupId>org.onap.demo.vnf.vlb</groupId>
220 <artifactId>vlb-business-vnf-onap-plugin-impl</artifactId>
221 <version>${interfaces.mapping.version}</version>
224 <groupId>org.onap.demo.vnf.health</groupId>
225 <artifactId>health-vnf-onap-plugin-impl</artifactId>
226 <version>${interfaces.mapping.version}</version>
229 <groupId>com.google.guava</groupId>
230 <artifactId>guava</artifactId>
231 <version>18.0</version>
233 <!-- Dependency on distribution base -->
235 <groupId>io.fd.honeycomb</groupId>
236 <artifactId>minimal-distribution</artifactId>
237 <version>${honeycomb.min.distro.version}</version>
240 <groupId>com.google.guava</groupId>
241 <artifactId>guava</artifactId>