<!--
    ============LICENSE_START=======================================================
    Drools PDP Application Common Models
    ================================================================================
    Copyright (C) 2017 AT&T Intellectual Property. 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.
    ============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.3.0-SNAPSHOT</version>
  </parent>

  <groupId>org.onap.policy.drools-applications.controlloop.common</groupId>
  <artifactId>common</artifactId>

  <modules>
    <module>actors</module>
    <module>guard</module>
    <module>eventmanager</module>
    <module>model-impl</module>
    <module>policy-yaml</module>
    <module>simulators</module>
    <module>controller-casablanca</module>
    <module>feature-controlloop-utils</module>
    <module>feature-controlloop-trans</module>
    <module>feature-controlloop-amsterdam</module>
    <module>feature-controlloop-casablanca</module>
    <module>msb</module>
  </modules>


</project>
