<!--
  ============LICENSE_START=======================================================
  Drools PDP Application Models
  ================================================================================
  Copyright (C) 2017, 2019 AT&T Intellectual Property. All rights reserved.
  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.
  ============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>
  <packaging>pom</packaging>
  <parent>
    <groupId>org.onap.policy.drools-applications.controlloop</groupId>
    <artifactId>controlloop</artifactId>
    <version>1.5.3-SNAPSHOT</version>
  </parent>
  <groupId>org.onap.policy.drools-applications.controlloop.packages</groupId>
  <artifactId>packages</artifactId>
  <name>PDP-D Application Installation Packages</name>
  <description>PDP-D Installation</description>
  <profiles>
    <profile>
      <id>default</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
    </profile>
    <profile>
      <id>docker</id>
      <modules>
        <module>basex-controlloop</module>
        <module>artifacts-controlloop</module>
        <module>apps-controlloop</module>
        <module>docker-controlloop</module>
      </modules>
      <properties>
        <docker.skip.push>false</docker.skip.push>
      </properties>
    </profile>
  </profiles>
</project>
