Release policy/drools-pdp
[policy/drools-pdp.git] / policy-management / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ============LICENSE_START=======================================================
4   ONAP Policy Engine - Drools PDP
5   ================================================================================
6   Copyright (C) 2017-2022 AT&T Intellectual Property. All rights reserved.
7   Modifications Copyright (C) 2020,2023 Nordix Foundation.
8   ================================================================================
9   Licensed under the Apache License, Version 2.0 (the "License");
10   you may not use this file except in compliance with the License.
11   You may obtain a copy of the License at
12
13        http://www.apache.org/licenses/LICENSE-2.0
14
15   Unless required by applicable law or agreed to in writing, software
16   distributed under the License is distributed on an "AS IS" BASIS,
17   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18   See the License for the specific language governing permissions and
19   limitations under the License.
20   ============LICENSE_END=========================================================
21   -->
22
23 <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/maven-v4_0_0.xsd">
24     <modelVersion>4.0.0</modelVersion>
25
26     <parent>
27         <groupId>org.onap.policy.drools-pdp</groupId>
28         <artifactId>drools-pdp</artifactId>
29         <version>1.12.1</version>
30     </parent>
31
32     <artifactId>policy-management</artifactId>
33
34     <name>policy-management</name>
35     <description>Policy Management</description>
36
37     <build>
38         <plugins>
39             <plugin>
40                 <artifactId>maven-assembly-plugin</artifactId>
41                 <executions>
42                     <execution>
43                         <id>zipfile</id>
44                         <goals>
45                             <goal>single</goal>
46                         </goals>
47                         <phase>package</phase>
48                         <configuration>
49                             <attach>true</attach>
50                             <finalName>${project.artifactId}-${project.version}</finalName>
51                             <descriptors>
52                                 <descriptor>src/assembly/assemble_zip.xml</descriptor>
53                             </descriptors>
54                             <appendAssemblyId>false</appendAssemblyId>
55                         </configuration>
56                     </execution>
57                 </executions>
58             </plugin>
59             <plugin>
60                 <groupId>org.apache.maven.plugins</groupId>
61                 <artifactId>maven-dependency-plugin</artifactId>
62                 <executions>
63                     <execution>
64                         <id>copy-dependencies</id>
65                         <goals>
66                             <goal>copy-dependencies</goal>
67                         </goals>
68                         <phase>prepare-package</phase>
69                         <configuration>
70                             <outputDirectory>${project.build.directory}/assembly/lib</outputDirectory>
71                             <overWriteReleases>false</overWriteReleases>
72                             <overWriteSnapshots>true</overWriteSnapshots>
73                             <overWriteIfNewer>true</overWriteIfNewer>
74                             <useRepositoryLayout>false</useRepositoryLayout>
75                             <addParentPoms>false</addParentPoms>
76                             <copyPom>false</copyPom>
77                             <excludeGroupIds>javax.inject</excludeGroupIds>
78                             <includeScope>runtime</includeScope>
79                         </configuration>
80                     </execution>
81                 </executions>
82             </plugin>
83             <plugin>
84                 <artifactId>maven-resources-plugin</artifactId>
85                 <executions>
86                     <execution>
87                         <id>copy-version</id>
88                         <goals>
89                             <goal>copy-resources</goal>
90                         </goals>
91                         <phase>validate</phase>
92                         <configuration>
93                             <outputDirectory>${basedir}/target/versions</outputDirectory>
94                             <resources>
95                                 <resource>
96                                     <directory>src/main/resources/versions</directory>
97                                     <includes>
98                                         <include>version.properties</include>
99                                     </includes>
100                                     <filtering>true</filtering>
101                                 </resource>
102                             </resources>
103                         </configuration>
104                     </execution>
105                     <execution>
106                         <id>copy-resources</id>
107                         <goals>
108                             <goal>copy-resources</goal>
109                         </goals>
110                         <phase>validate</phase>
111                         <configuration>
112                             <outputDirectory>${basedir}/target/etc/bvc-extensions</outputDirectory>
113                             <resources>
114                                 <resource>
115                                     <directory>src/main/resources/etc/bvc-extensions</directory>
116                                     <includes>
117                                         <include>feature_config_template.cfg</include>
118                                         <include>feature_custom.install</include>
119                                     </includes>
120                                     <filtering>true</filtering>
121                                 </resource>
122                             </resources>
123                         </configuration>
124                     </execution>
125                     <execution>
126                         <id>copy-swagger</id>
127                         <goals>
128                             <goal>copy-resources</goal>
129                         </goals>
130                         <phase>compile</phase>
131                         <configuration>
132                             <outputDirectory>src/main/resources/swagger</outputDirectory>
133                             <resources>
134                                 <resource>
135                                     <directory>${basedir}/target/generated-sources/swagger</directory>
136                                     <includes>
137                                         <include>swagger.json</include>
138                                     </includes>
139                                     <filtering>true</filtering>
140                                 </resource>
141                             </resources>
142                         </configuration>
143                     </execution>
144                 </executions>
145             </plugin>
146             <!-- Controllers interfaces generation -->
147             <plugin>
148                 <groupId>io.swagger.codegen.v3</groupId>
149                 <artifactId>swagger-codegen-maven-plugin</artifactId>
150                 <executions>
151                     <execution>
152                         <id>code-gen</id>
153                         <goals>
154                             <goal>generate</goal>
155                         </goals>
156                         <configuration>
157                             <inputSpec>${project.basedir}/src/main/resources/openapi/openapi.yaml</inputSpec>
158                             <invokerPackage>org.onap.policy.drools.server.restful</invokerPackage>
159                             <modelPackage>org.onap.policy.drools.server.restful.model</modelPackage>
160                             <apiPackage>org.onap.policy.drools.server.restful</apiPackage>
161                             <language>jaxrs-spec</language>
162                             <generateModels>false</generateModels>
163                             <generateSupportingFiles>false</generateSupportingFiles>
164                             <importMappings>
165                                 CoderFilters=org.onap.policy.drools.protocol.coders.EventProtocolCoder.CoderFilters,
166                                 CodingResult=org.onap.policy.drools.server.restful.RestManager.CodingResult,
167                                 ControllerConfiguration=org.onap.policy.drools.protocol.configuration.ControllerConfiguration,
168                                 DroolsController=org.onap.policy.drools.controller.DroolsController,
169                                 JsonProtocolFilter=org.onap.policy.drools.protocol.coders.JsonProtocolFilter,
170                                 PdpStatistics=org.onap.policy.models.pdp.concepts.PdpStatistics,
171                                 PdpdConfiguration=org.onap.policy.drools.protocol.configuration.PdpdConfiguration,
172                                 PolicyController=org.onap.policy.drools.system.PolicyController,
173                                 PolicyControllerFeatureApi=org.onap.policy.drools.features.PolicyControllerFeatureApi,
174                                 PolicyEngine=org.onap.policy.drools.system.PolicyEngine,
175                                 PolicyEngineFeatureApi=org.onap.policy.drools.features.PolicyEngineFeatureApi,
176                                 PolicyTypeController=org.onap.policy.drools.lifecycle.PolicyTypeController,
177                                 Properties=java.util.Properties,
178                                 ProtocolCoderToolset=org.onap.policy.drools.protocol.coders.ProtocolCoderToolset,
179                                 Response=javax.ws.rs.core.Response,
180                                 TopicEndpoint=org.onap.policy.common.endpoints.event.comm.TopicEndpoint,
181                                 TopicSink=org.onap.policy.common.endpoints.event.comm.TopicSink,
182                                 TopicSource=org.onap.policy.common.endpoints.event.comm.TopicSource,
183                                 ToscaPolicy=org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy
184                             </importMappings>
185                             <typeMappings>
186                                 <typeMapping>boolean=boolean</typeMapping>
187                             </typeMappings>
188                             <configOptions>
189                                 <sourceFolder>src/gen/java</sourceFolder>
190                                 <dateLibrary>java11</dateLibrary>
191                                 <interfaceOnly>true</interfaceOnly>
192                                 <useTags>true</useTags>
193                                 <skipIfSpecIsUnchanged>false</skipIfSpecIsUnchanged>
194                             </configOptions>
195                         </configuration>
196                     </execution>
197                 </executions>
198             </plugin>
199         </plugins>
200     </build>
201
202     <dependencies>
203
204         <dependency>
205             <groupId>org.onap.policy.drools-pdp</groupId>
206             <artifactId>policy-core</artifactId>
207             <version>${project.version}</version>
208         </dependency>
209
210         <dependency>
211             <groupId>org.onap.policy.drools-pdp</groupId>
212             <artifactId>policy-domains</artifactId>
213             <version>${project.version}</version>
214         </dependency>
215
216         <dependency>
217             <groupId>org.onap.policy.common</groupId>
218             <artifactId>policy-endpoints</artifactId>
219             <version>${policy.common.version}</version>
220         </dependency>
221
222         <dependency>
223             <groupId>org.onap.policy.common</groupId>
224             <artifactId>utils</artifactId>
225             <version>${policy.common.version}</version>
226         </dependency>
227
228         <dependency>
229             <groupId>org.onap.policy.models</groupId>
230             <artifactId>policy-models-pdp</artifactId>
231             <version>${policy.models.version}</version>
232         </dependency>
233
234         <dependency>
235             <groupId>org.eclipse.jetty</groupId>
236             <artifactId>jetty-server</artifactId>
237         </dependency>
238
239         <dependency>
240             <groupId>org.eclipse.jetty</groupId>
241             <artifactId>jetty-servlet</artifactId>
242         </dependency>
243
244         <dependency>
245             <groupId>org.onap.policy.common</groupId>
246             <artifactId>gson</artifactId>
247             <version>${policy.common.version}</version>
248         </dependency>
249
250         <dependency>
251             <groupId>com.google.code.gson</groupId>
252             <artifactId>gson</artifactId>
253         </dependency>
254
255         <dependency>
256             <groupId>com.fatboyindustrial.gson-javatime-serialisers</groupId>
257             <artifactId>gson-javatime-serialisers</artifactId>
258             <version>1.1.1</version>
259         </dependency>
260
261         <dependency>
262             <groupId>com.jayway.jsonpath</groupId>
263             <artifactId>json-path</artifactId>
264         </dependency>
265
266         <dependency>
267             <groupId>org.apache.commons</groupId>
268             <artifactId>commons-collections4</artifactId>
269         </dependency>
270
271         <!-- if we don't explicitly specify the version here, we seem to end up
272         with version 1.4 (as a dependency to drools-core). This version is
273         not compatible with 'saClientLibrary' version 1.2.1-oss
274         -->
275         <dependency>
276             <groupId>commons-codec</groupId>
277             <artifactId>commons-codec</artifactId>
278         </dependency>
279
280         <dependency>
281             <groupId>ch.qos.logback</groupId>
282             <artifactId>logback-classic</artifactId>
283         </dependency>
284
285         <dependency>
286             <groupId>junit</groupId>
287             <artifactId>junit</artifactId>
288             <scope>test</scope>
289         </dependency>
290
291         <dependency>
292             <groupId>org.mockito</groupId>
293             <artifactId>mockito-core</artifactId>
294             <scope>test</scope>
295         </dependency>
296
297         <dependency>
298             <groupId>org.springframework</groupId>
299             <artifactId>spring-test</artifactId>
300             <scope>test</scope>
301         </dependency>
302
303         <dependency>
304             <groupId>org.onap.policy.common</groupId>
305             <artifactId>utils-test</artifactId>
306             <version>${policy.common.version}</version>
307             <scope>test</scope>
308         </dependency>
309
310         <!--
311         The following dependencies are for features and drools
312         applications usage
313         -->
314
315         <dependency>
316             <groupId>org.mariadb.jdbc</groupId>
317             <artifactId>mariadb-java-client</artifactId>
318         </dependency>
319
320         <dependency>
321             <groupId>org.hibernate</groupId>
322             <artifactId>hibernate-core</artifactId>
323             <!--
324             Exclude this because it's incompatible with eclipselink, which already
325             includes the same classes.
326              -->
327             <exclusions>
328                 <exclusion>
329                     <groupId>javax.persistence</groupId>
330                     <artifactId>javax.persistence-api</artifactId>
331                 </exclusion>
332             </exclusions>
333         </dependency>
334
335         <dependency>
336             <groupId>org.hibernate.common</groupId>
337             <artifactId>hibernate-commons-annotations</artifactId>
338         </dependency>
339
340         <dependency>
341             <groupId>commons-io</groupId>
342             <artifactId>commons-io</artifactId>
343         </dependency>
344
345         <dependency>
346             <groupId>io.prometheus</groupId>
347             <artifactId>simpleclient_logback</artifactId>
348         </dependency>
349
350         <dependency>
351             <groupId>org.assertj</groupId>
352             <artifactId>assertj-core</artifactId>
353             <scope>test</scope>
354         </dependency>
355
356         <dependency>
357             <groupId>org.awaitility</groupId>
358             <artifactId>awaitility</artifactId>
359             <scope>test</scope>
360         </dependency>
361
362         <!-- Swagger v3 annotations -->
363         <dependency>
364             <groupId>io.swagger.core.v3</groupId>
365             <artifactId>swagger-annotations</artifactId>
366         </dependency>
367
368     </dependencies>
369 </project>