<!-- ============LICENSE_START======================================================= Copyright (C) 2018 Ericsson. All rights reserved. Modifications Copyright (C) 2019 Nordix Foundation Modifications Copyright (C) 2019 Bell Canada. ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. SPDX-License-Identifier: Apache-2.0 ============LICENSE_END========================================================= --> <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"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.onap.policy.apex-pdp.packages</groupId> <artifactId>packages</artifactId> <version>2.3.0-SNAPSHOT</version> </parent> <artifactId>apex-pdp-package-full</artifactId> <name>${project.artifactId}</name> <description>[${project.parent.artifactId}] packaging, with all optional functionality, clients, servlets, and examples included</description> <properties> <install.package.name>${project.artifactId}</install.package.name> </properties> <dependencies> <dependency> <groupId>org.onap.policy.apex-pdp.services</groupId> <artifactId>services-engine</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.services</groupId> <artifactId>services-onappf</artifactId> <version>${project.version}</version> </dependency> <!-- Client Servlet applications --> <dependency> <groupId>org.onap.policy.apex-pdp.client</groupId> <artifactId>client-full</artifactId> <type>war</type> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.client</groupId> <artifactId>client-editor</artifactId> <type>war</type> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.client</groupId> <artifactId>client-deployment</artifactId> <type>war</type> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.client</groupId> <artifactId>client-monitoring</artifactId> <type>war</type> <version>${project.version}</version> </dependency> <!-- Plugins for Context Distribution --> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-distribution</groupId> <artifactId>plugins-context-distribution-hazelcast</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-distribution</groupId> <artifactId>plugins-context-distribution-infinispan</artifactId> <version>${project.version}</version> </dependency> <!-- Plugins for Context Locking --> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-locking</groupId> <artifactId>plugins-context-locking-hazelcast</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-locking</groupId> <artifactId>plugins-context-locking-curator</artifactId> <version>${project.version}</version> </dependency> <!-- Plugins for Context Schemas --> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-schema</groupId> <artifactId>plugins-context-schema-avro</artifactId> <version>${project.version}</version> </dependency> <!-- Plugins for Executors --> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId> <artifactId>plugins-executor-java</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId> <artifactId>plugins-executor-javascript</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId> <artifactId>plugins-executor-jruby</artifactId> <version>${project.version}</version> </dependency> <!-- Jython support disabled due to security concerns --> <!-- dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId> <artifactId>plugins-executor-jython</artifactId> <version>${project.version}</version> </dependency--> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId> <artifactId>plugins-executor-mvel</artifactId> <version>${project.version}</version> </dependency> <!-- Plugins for Persistence of Models over JPA --> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-persistence.plugins-persistence-jpa</groupId> <artifactId>plugins-persistence-jpa-eclipselink</artifactId> <version>${project.version}</version> </dependency> <!-- Plugins for event carrier technologies --> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId> <artifactId>plugins-event-carrier-kafka</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId> <artifactId>plugins-event-carrier-websocket</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId> <artifactId>plugins-event-carrier-jms</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId> <artifactId>plugins-event-carrier-restclient</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId> <artifactId>plugins-event-carrier-restserver</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId> <artifactId>plugins-event-carrier-restrequestor</artifactId> <version>${project.version}</version> </dependency> <!-- Benchmark test event generator --> <dependency> <groupId>org.onap.policy.apex-pdp.testsuites.performance</groupId> <artifactId>performance-benchmark-test</artifactId> <version>${project.version}</version> </dependency> <!-- Plugins for event protocols --> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-protocol</groupId> <artifactId>plugins-event-protocol-xml</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-protocol</groupId> <artifactId>plugins-event-protocol-jms</artifactId> <version>${project.version}</version> </dependency> <!-- Authoring and Editors --> <dependency> <groupId>org.onap.policy.apex-pdp.auth</groupId> <artifactId>cli-editor</artifactId> <version>${project.version}</version> </dependency> <!-- Tools --> <dependency> <groupId>org.onap.policy.apex-pdp.tools</groupId> <artifactId>simple-wsclient</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.tools</groupId> <artifactId>model-generator</artifactId> <version>${project.version}</version> </dependency> <!-- Test Data used by examples --> <dependency> <groupId>org.onap.policy.apex-pdp.testsuites.integration</groupId> <artifactId>integration-common</artifactId> <version>${project.version}</version> </dependency> <!-- Sample Examples --> <dependency> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-aadm</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-adaptive</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-myfirstpolicy</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-pcvs</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-decisionmaker</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-periodic</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-onap-vcpe</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-servlet</artifactId> <type>war</type> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-onap-bbs</artifactId> <version>${project.version}</version> </dependency> </dependencies> <build> <plugins> <!-- Copy required resources and examples --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>unpack-etc-examples</id> <phase>package</phase> <goals> <goal>unpack</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>org.onap.policy.apex-pdp.services</groupId> <artifactId>services-onappf</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}/etc/onappf</outputDirectory> <includes>config/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.auth</groupId> <artifactId>cli-editor</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.testsuites.integration</groupId> <artifactId>integration-common</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.testsuites.performance</groupId> <artifactId>performance-benchmark-test</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-aadm</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-adaptive</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-myfirstpolicy</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-pcvs</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-decisionmaker</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-decisionmaker</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}/examples/models/DecisionMaker</outputDirectory> <includes>*PolicyModel.json</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-periodic</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-periodic</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}/examples/models/Periodic</outputDirectory> <includes>PeriodicPolicyModel.json</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-onap-vcpe</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-onap-vcpe</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}/examples/models/ONAPvCPE</outputDirectory> <includes>ONAPvCPEPolicyModel.json</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-onap-bbs</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-onap-bbs</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}/examples/models/ONAPBBS</outputDirectory> <includes>NomadicONTPolicyModel.json</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-servlet</artifactId> <version>${project.version}</version> <type>war</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}/examples/servlet</outputDirectory> <includes>readme_examples-servlet.txt</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.tools</groupId> <artifactId>tools-common</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}/etc</outputDirectory> <includes>/app-version.txt</includes> </artifactItem> </artifactItems> <overWriteReleases>true</overWriteReleases> <overWriteSnapshots>true</overWriteSnapshots> </configuration> </execution> <execution> <id>copy-fat-jars</id> <phase>package</phase> <goals> <goal>copy</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>org.onap.policy.apex-pdp.tools</groupId> <artifactId>simple-wsclient</artifactId> <version>${project.version}</version> <type>jar</type> <classifier>jar-with-dependencies</classifier> <outputDirectory>${project.build.directory}/lib/applications</outputDirectory> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.client</groupId> <artifactId>client-monitoring</artifactId> <version>${project.version}</version> <classifier>monitoring</classifier> <outputDirectory>${project.build.directory}/lib/applications</outputDirectory> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.client</groupId> <artifactId>client-editor</artifactId> <version>${project.version}</version> <classifier>editor</classifier> <outputDirectory>${project.build.directory}/lib/applications</outputDirectory> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.client</groupId> <artifactId>client-deployment</artifactId> <version>${project.version}</version> <classifier>deployment</classifier> <outputDirectory>${project.build.directory}/lib/applications</outputDirectory> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.client</groupId> <artifactId>client-full</artifactId> <version>${project.version}</version> <classifier>full</classifier> <outputDirectory>${project.build.directory}/lib/applications</outputDirectory> </artifactItem> </artifactItems> <overWriteReleases>true</overWriteReleases> <overWriteSnapshots>true</overWriteSnapshots> </configuration> </execution> </executions> </plugin> <!-- Build the tar ball --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> <id>generate-complete-tar</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <descriptors> <descriptor>src/main/package/tarball/assembly.xml</descriptor> </descriptors> <finalName>${project.artifactId}-${project.version}</finalName> <appendAssemblyId>false</appendAssemblyId> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <phase>package</phase> <configuration> <tasks> <untar src="${project.build.directory}/${project.artifactId}-${project.version}.tar.gz" dest="${project.build.directory}/install_hierarchy" compression="gzip" /> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> <execution> <id>fix-permissions</id> <phase>package</phase> <configuration> <tasks> <chmod file="${project.build.directory}/install_hierarchy/bin/*" perm="755" /> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> <!-- Build the dpkg distribution --> <plugin> <groupId>org.vafer</groupId> <artifactId>jdeb</artifactId> <version>1.5</version> <executions> <execution> <phase>package</phase> <goals> <goal>jdeb</goal> </goals> <configuration> <deb>${project.build.directory}/${project.artifactId}-${project.version}.deb</deb> <controlDir>${basedir}/src/main/package/control</controlDir> <dataSet> <!-- Copy the Apex run time configuration --> <data> <src>${project.build.directory}/install_hierarchy/lib</src> <type>directory</type> <dst>lib</dst> <mapper> <type>perm</type> <prefix>/opt/app/policy/${project.artifactId}-${project.version}/lib</prefix> <filemode>755</filemode> </mapper> </data> <data> <src>${project.build.directory}/install_hierarchy/bin</src> <type>directory</type> <dst>etc</dst> <mapper> <type>perm</type> <prefix>/opt/app/policy/${project.artifactId}-${project.version}/bin</prefix> </mapper> </data> <data> <src>${project.build.directory}/install_hierarchy/etc</src> <type>directory</type> <dst>etc</dst> <mapper> <type>perm</type> <prefix>/opt/app/policy/${project.artifactId}-${project.version}/etc</prefix> </mapper> </data> <data> <src>${project.build.directory}/install_hierarchy/war</src> <type>directory</type> <dst>etc</dst> <mapper> <type>perm</type> <prefix>/opt/app/policy/${install.package.name}-${project.version}/war</prefix> </mapper> </data> <data> <src>${project.build.directory}/install_hierarchy/examples</src> <type>directory</type> <dst>etc</dst> <mapper> <type>perm</type> <prefix>/opt/app/policy/${project.artifactId}-${project.version}/examples</prefix> </mapper> </data> </dataSet> </configuration> </execution> </executions> </plugin> </plugins> </build> <profiles> <profile> <id>only-eclipse</id> <activation> <property> <name>m2e.version</name> </property> </activation> <build> <pluginManagement> <plugins> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <configuration> <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <versionRange>[2.0,)</versionRange> <goals> <goal>unpack</goal> <goal>copy</goal> </goals> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement> </build> </profile> <profile> <id>apexSite</id> <activation> <property> <name>apexSite</name> </property> </activation> <distributionManagement> <site> <id>${project.artifactId}-site</id> <url>${apex.adsite.prefix}/modules/${project.parent.artifactId}/${project.artifactId}/</url> </site> </distributionManagement> </profile> </profiles> </project>