Merge "Fixing multiple policies with optional event fields fails execution in APEX"
[policy/apex-pdp.git] / examples / examples-onap-vcpe / pom.xml
1 <!--
2   ============LICENSE_START=======================================================
3    Copyright (C) 2018 Ericsson. All rights reserved.
4    Copyright (C) 2019 Nordix Foundation.
5   ================================================================================
6   Licensed under the Apache License, Version 2.0 (the "License");
7   you may not use this file except in compliance with the License.
8   You may obtain a copy of the License at
9
10        http://www.apache.org/licenses/LICENSE-2.0
11
12   Unless required by applicable law or agreed to in writing, software
13   distributed under the License is distributed on an "AS IS" BASIS,
14   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   See the License for the specific language governing permissions and
16   limitations under the License.
17
18   SPDX-License-Identifier: Apache-2.0
19   ============LICENSE_END=========================================================
20 -->
21 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
22     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
23     <modelVersion>4.0.0</modelVersion>
24     <parent>
25         <groupId>org.onap.policy.apex-pdp.examples</groupId>
26         <artifactId>examples</artifactId>
27         <version>2.3.0-SNAPSHOT</version>
28     </parent>
29
30     <artifactId>examples-onap-vcpe</artifactId>
31     <name>${project.artifactId}</name>
32     <description>Specific code for the APEX ONAP vCPE Example</description>
33
34     <properties>
35         <policymodel.name>ONAPvCPEPolicyModel</policymodel.name>
36         <toscapolicy.name>ONAPvCPEToscaPolicy</toscapolicy.name>
37         <apex-domains-onap-vcpe-dir>${project.basedir}/src</apex-domains-onap-vcpe-dir>
38     </properties>
39
40     <dependencies>
41         <dependency>
42             <groupId>org.onap.policy.apex-pdp.auth</groupId>
43             <artifactId>cli-editor</artifactId>
44             <version>${project.version}</version>
45         </dependency>
46         <dependency>
47             <groupId>org.onap.policy.apex-pdp.services</groupId>
48             <artifactId>services-engine</artifactId>
49             <version>${project.version}</version>
50             <scope>test</scope>
51         </dependency>
52         <dependency>
53             <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-schema</groupId>
54             <artifactId>plugins-context-schema-avro</artifactId>
55             <version>${project.version}</version>
56         </dependency>
57         <dependency>
58             <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId>
59             <artifactId>plugins-executor-javascript</artifactId>
60             <version>${project.version}</version>
61         </dependency>
62         <dependency>
63             <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId>
64             <artifactId>plugins-event-carrier-restrequestor</artifactId>
65             <version>${project.version}</version>
66         </dependency>
67         <dependency>
68             <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId>
69             <artifactId>plugins-event-carrier-restclient</artifactId>
70             <version>${project.version}</version>
71         </dependency>
72         <dependency>
73             <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
74             <artifactId>aai</artifactId>
75             <version>${version.policy.models}</version>
76         </dependency>
77         <dependency>
78             <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
79             <artifactId>appclcm</artifactId>
80             <version>${version.policy.models}</version>
81         </dependency>
82         <dependency>
83             <groupId>org.onap.policy.models.policy-models-interactions.model-impl</groupId>
84             <artifactId>events</artifactId>
85             <version>${version.policy.models}</version>
86         </dependency>
87         <dependency>
88             <groupId>org.onap.policy.common</groupId>
89             <artifactId>policy-endpoints</artifactId>
90             <scope>test</scope>
91         </dependency>
92     </dependencies>
93
94     <build>
95         <plugins>
96             <!-- Generate the APEX Policy JSON from the APEX CLI command -->
97             <plugin>
98                 <groupId>org.codehaus.mojo</groupId>
99                 <artifactId>exec-maven-plugin</artifactId>
100                 <executions>
101                     <execution>
102                         <id>generate-policy</id>
103                         <phase>compile</phase>
104                         <goals>
105                             <goal>java</goal>
106                         </goals>
107                         <configuration>
108                             <mainClass>org.onap.policy.apex.auth.clieditor.ApexCommandLineEditorMain</mainClass>
109                             <classpathScope>compile</classpathScope>
110                             <arguments>
111                                 <argument>--command-file=${project.basedir}/src/main/resources/policy/${policymodel.name}.apex</argument>
112                                 <argument>--output-model-file=${project.build.directory}/classes/${policymodel.name}.json</argument>
113                                 <argument>--log-file=${project.build.directory}/${policymodel.name}_policygeneration.log</argument>
114                                 <argument>--working-dir=${project.basedir}</argument>
115                             </arguments>
116                         </configuration>
117                     </execution>
118                 </executions>
119             </plugin>
120             <!-- Generate the APEX ToscaPolicy JSON file-->
121             <plugin>
122                 <groupId>org.codehaus.mojo</groupId>
123                 <artifactId>exec-maven-plugin</artifactId>
124                 <executions>
125                     <execution>
126                         <id>generate-tosca-policy</id>
127                         <phase>compile</phase>
128                         <goals>
129                             <goal>java</goal>
130                         </goals>
131                         <configuration>
132                             <mainClass>org.onap.policy.apex.auth.clieditor.tosca.ApexCliToscaEditorMain</mainClass>
133                             <classpathScope>compile</classpathScope>
134                             <arguments>
135                                 <argument>--command-file=${project.basedir}/src/main/resources/policy/${policymodel.name}.apex</argument>
136                                 <argument>--output-tosca-file=${project.build.directory}/classes/${toscapolicy.name}.json</argument>
137                                 <argument>--log-file=${project.build.directory}/${policymodel.name}_policygeneration.log</argument>
138                                 <argument>--apex-config-file=${project.basedir}/src/main/resources/examples/config/ONAPvCPE/ApexConfig.json</argument>
139                                 <argument>--tosca-template-file=${project.basedir}/src/main/resources/tosca/ToscaTemplate.json</argument>
140                             </arguments>
141                         </configuration>
142                     </execution>
143                 </executions>
144             </plugin>
145         </plugins>
146     </build>
147
148     <profiles>
149         <profile>
150             <id>apexSite</id>
151             <activation>
152                 <property>
153                     <name>apexSite</name>
154                 </property>
155             </activation>
156             <properties>
157                 <adsite-examples-onap-vcpe-dir>${project.basedir}/src</adsite-examples-onap-vcpe-dir>
158             </properties>
159             <distributionManagement>
160                 <site>
161                     <id>${project.artifactId}-site</id>
162                     <url>${apex.adsite.prefix}/modules/${project.parent.artifactId}/${project.artifactId}/</url>
163                 </site>
164             </distributionManagement>
165         </profile>
166     </profiles>
167 </project>