<!--
  Copyright © 2017-2018 AT&T Intellectual Property.
  Modifications Copyright © 2018 IBM.
  
  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.
-->

<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.ccsdk.parent</groupId>
        <artifactId>odlparent-lite</artifactId>
        <version>1.1.0</version>
        <relativePath/>
    </parent>

    <version>0.3.0-SNAPSHOT</version>
    <artifactId>blueprints-processor-plugin</artifactId>
    <groupId>org.onap.ccsdk.features</groupId>
    <packaging>pom</packaging>
    <name>Blueprints Processor Plugins - POM</name>
    <description>Blueprints Processor Plugins - POM</description>
    <modules>
        <module>model-provider</module>
        <module>assignment-provider</module>
        <module>generator-provider</module>
    </modules>

</project>
