blob: 65acfef4de8a2c400d50bfaffa8755433b79526a [file] [log] [blame]
<!--
============LICENSE_START=======================================================
Copyright (C) 2018 Ericsson. All rights reserved.
================================================================================
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.0.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>
<!-- 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>
<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>
<dependency>
<groupId>org.onap.policy.apex-pdp.plugins.plugins-persistence.plugins-persistence-jpa</groupId>
<artifactId>plugins-persistence-jpa-hibernate</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>
<!-- 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>
<!-- Test Data used by examples -->
<dependency>
<groupId>org.onap.policy.apex-pdp.context</groupId>
<artifactId>context-test-utils</artifactId>
<version>${project.version}</version>
</dependency>
<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>aadm</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.onap.policy.apex-pdp.examples</groupId>
<artifactId>adaptive</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.onap.policy.apex-pdp.examples</groupId>
<artifactId>myfirstpolicy</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.onap.policy.apex-pdp.examples</groupId>
<artifactId>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>
</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.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.examples</groupId>
<artifactId>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>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>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>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}/examples/models/DecisionMaker</outputDirectory>
<includes>/DecisionMakerPolicyModel.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}/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}/examples/models/ONAPvCPE</outputDirectory>
<includes>/ONAPvCPEPolicyModel.json</includes>
</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>
</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}-tarball.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/apex-pdp/${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/apex-pdp/${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/apex-pdp/${project.artifactId}-${project.version}/etc</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/apex-pdp/${project.artifactId}-${project.version}/examples</prefix>
</mapper>
</data>
</dataSet>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>Linux</id>
<activation>
<os>
<family>Linux</family>
</os>
</activation>
<build>
<plugins>
<!-- Build the rpm distribution -->
<!-- Skiping RPM Build for now, due to rpmbuild package not available on Jenkins servers -->
<!-- <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
<version>2.2.0</version>
<extensions>true</extensions>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>rpm</goal>
</goals>
</execution>
</executions>
<configuration>
<name>${project.artifactId}</name>
<copyright>2015 Ericsson AB All rights reserved</copyright>
<distribution>${project.parent.artifactId}</distribution>
<group>ERI-APEX</group>
<packager>Ericsson</packager>
<prefix>/opt/app/policy/apex-pdp</prefix>
<changelogFile>src/rpm/changelog</changelogFile>
<needarch>noarch</needarch>
<targetVendor>redhat</targetVendor>
<targetOS>linux</targetOS>
<version>${project.version}</version>
<defineStatements>
<defineStatement>install_dir /opt/app/policy/apex-pdp</defineStatement>
</defineStatements>
<mappings>
<mapping>
<directory>/opt/app/policy/apex-pdp/${project.artifactId}-${project.version}/lib</directory>
<username>root</username>
<groupname>root</groupname>
<sources>
<source>
<location>${project.build.directory}/install_hierarchy/lib</location>
</source>
</sources>
</mapping>
<mapping>
<directory>/opt/app/policy/apex-pdp/${project.artifactId}-${project.version}/bin</directory>
<username>root</username>
<groupname>root</groupname>
<sources>
<source>
<location>${project.build.directory}/install_hierarchy/bin</location>
</source>
</sources>
</mapping>
<mapping>
<directory>/opt/app/policy/apex-pdp/${project.artifactId}-${project.version}/etc</directory>
<username>root</username>
<groupname>root</groupname>
<sources>
<source>
<location>${project.build.directory}/install_hierarchy/etc</location>
</source>
</sources>
</mapping>
<mapping>
<directory>/opt/app/policy/apex-pdp/${project.artifactId}-${project.version}/examples</directory>
<username>root</username>
<groupname>root</groupname>
<sources>
<source>
<location>${project.build.directory}/install_hierarchy/examples</location>
</source>
</sources>
</mapping>
</mappings>
<preinstallScriptlet>
<scriptFile>src/main/package/control/preinst</scriptFile>
</preinstallScriptlet>
<postinstallScriptlet>
<scriptFile>src/main/package/control/postinst</scriptFile>
</postinstallScriptlet>
<preremoveScriptlet>
<scriptFile>src/main/package/control/prerm</scriptFile>
</preremoveScriptlet>
<postremoveScriptlet>
<scriptFile>src/main/package/control/postrm</scriptFile>
</postremoveScriptlet>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>sh</executable>
<arguments>
<argument>-c</argument>
<argument>cp \
${project.build.directory}/rpm/${project.artifactId}/RPMS/noarch/${project.artifactId}-${project.version}*.noarch.rpm \
\
${project.build.directory}/${project.artifactId}-${project.version}.rpm</argument>
</arguments>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>${project.build.directory}/${project.artifactId}-${project.version}.rpm</file>
<type>rpm</type>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin> -->
</plugins>
</build>
</profile>
<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>${maven-dependency-plugin.version}</versionRange>
<goals>
<goal>unpack</goal>
<goal>copy</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
</profiles>
</project>