<?xml version="1.0" encoding="UTF-8"?>
<!--
  ============LICENSE_START=======================================================
  ONAP : APPC
  ================================================================================
  Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
  Copyright (C) 2017 Amdocs
  ================================================================================
  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/maven-v4_0_0.xsd">

    <parent>
        <groupId>org.onap.appc.parent</groupId>
        <artifactId>odlparent-lite</artifactId>
        <version>1.4.0</version>
        <relativePath />
    </parent>
  <groupId>org.onap.appc</groupId>
	<modelVersion>4.0.0</modelVersion>
	<packaging>pom</packaging>
	<artifactId>appc-artifact-handler</artifactId>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.onap.appc</groupId>
				<artifactId>appc-artifact-handler-features</artifactId>
				<classifier>features</classifier>
				<type>xml</type>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>org.onap.appc</groupId>
				<artifactId>appc-artifact-handler-model</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>org.onap.appc</groupId>
				<artifactId>appc-artifact-handler-provider</artifactId>
				<version>${project.version}</version>
				<classifier>config</classifier>
				<type>xml</type>
			</dependency>
			<dependency>
				<groupId>org.onap.appc</groupId>
				<artifactId>appc-artifact-handler-provider</artifactId>
				<version>${project.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<modules>
		<module>model</module>
		<module>provider</module>
		<module>features</module>
		<module>installer</module>
	</modules>
	<version>1.4.1-SNAPSHOT</version>
</project>
