<?xml version="1.0" encoding="UTF-8"?>
<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>
		<artifactId>appc-design-services</artifactId>
		<groupId>org.openecomp.appc</groupId>
		<version>1.3.0-SNAPSHOT</version>
	</parent>
	<artifactId>appc-design-services-model</artifactId>
	<packaging>bundle</packaging>

	<build>

		<plugins>
			<plugin>
				<groupId>org.apache.felix</groupId>
				<artifactId>maven-bundle-plugin</artifactId>
				<extensions>true</extensions>
				<configuration>
					<instructions>
						<Import-Package>*</Import-Package>
					</instructions>
				</configuration>
			</plugin>
            <plugin>
                <groupId>org.opendaylight.yangtools</groupId>
                <artifactId>yang-maven-plugin</artifactId>
                <version>${odl.yangtools.version}</version>
                <dependencies>
                    <dependency>
                        <groupId>org.opendaylight.mdsal</groupId>
                        <artifactId>maven-sal-api-gen-plugin</artifactId>
                        <version>${odl.sal.api.gen.plugin.version}</version>
                        <type>jar</type>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <goals>
                            <goal>generate-sources</goal>
                        </goals>
                        <configuration>
                            <yangFilesRootDir>${yang.file.directory}</yangFilesRootDir>
                            <codeGenerators>
                                <generator>
                                    <codeGeneratorClass>org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl</codeGeneratorClass>
                                    <outputBaseDir>${salGeneratorPath}</outputBaseDir>
                                </generator>
                            </codeGenerators>
                            <inspectDependencies>true</inspectDependencies>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>exec-maven-plugin</artifactId>
				<version>1.2.1</version>
				<executions>
					<execution>
						<configuration>
							<executable>python</executable>
							<arguments>
								<argument>scripts/python/yang2props.py</argument>
								<argument>src/main/yang/appc-design-services.yang</argument>
								<argument>target/appc-design-services.properties</argument>
							</arguments>
						</configuration>
						<id>generation</id>
						<phase>generate-resources</phase>
						<goals>
							<goal>exec</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>attach-artifacts</id>
						<goals>
							<goal>attach-artifact</goal>
						</goals>
						<phase>package</phase>
						<configuration>
							<artifacts>
								<artifact>
									<file>${project.build.directory}/appc-design-services.properties</file>
									<type>properties</type>
									<classifier>appc-design-services</classifier>
								</artifact>
							</artifacts>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<!--This plugin's configuration is used to store Eclipse m2e settings
					only. It has no influence on the Maven build itself. -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.codehaus.mojo
										</groupId>
										<artifactId>
											exec-maven-plugin
										</artifactId>
										<versionRange>
											[1.2.1,)
										</versionRange>
										<goals>
											<goal>exec</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
	<dependencies>
		<dependency>
			<groupId>org.opendaylight.mdsal</groupId>
			<artifactId>yang-binding</artifactId>
		</dependency>
		<dependency>
			<groupId>org.opendaylight.yangtools</groupId>
			<artifactId>yang-common</artifactId>
			</dependency>
		<dependency>
			<groupId>org.opendaylight.mdsal.model</groupId>
			<artifactId>ietf-inet-types</artifactId>
			</dependency>
		<dependency>
			<groupId>org.opendaylight.mdsal.model</groupId>
			<artifactId>ietf-yang-types</artifactId>
			</dependency>
	</dependencies>
</project>
