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