<?xml version="1.0" encoding="UTF-8"?>
<!-- vi: set et smarttab sw=4 tabstop=4: -->
<!--
 Copyright (c) 2014 Cisco Systems, Inc. and others.  All rights reserved.

 This program and the accompanying materials are made available under the
 terms of the Eclipse Public License v1.0 which accompanies this distribution,
 and is available at http://www.eclipse.org/legal/epl-v10.html
-->
<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">

    <parent>
        <groupId>org.opendaylight.mdsal</groupId>
        <artifactId>dom-parent</artifactId>
        <version>7.0.13</version>
        <relativePath>../../dom/dom-parent</relativePath>
    </parent>

    <modelVersion>4.0.0</modelVersion>
    <artifactId>binding-parent</artifactId>
    <packaging>pom</packaging>

    <properties>
        <salGeneratorPath>${project.build.directory}/generated-sources/mdsal-binding</salGeneratorPath>
    </properties>

    <build>
        <!-- https://bugs.opendaylight.org/show_bug.cgi?id=6252 -->
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
            <resource>
                <directory>${project.build.directory}/generated-sources/spi</directory>
            </resource>
            <resource>
                <directory>${project.build.directory}/generated-sources/yang</directory>
            </resource>
        </resources>
    </build>

    <profiles>
        <profile>
            <activation>
                <file>
                    <exists>src/main/yang</exists>
                </file>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.opendaylight.mdsal</groupId>
                    <artifactId>yang-binding</artifactId>
                </dependency>
            </dependencies>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>org.opendaylight.yangtools</groupId>
                            <artifactId>yang-maven-plugin</artifactId>
                            <version>6.0.11</version>
                            <dependencies>
                                <dependency>
                                    <groupId>org.opendaylight.mdsal</groupId>
                                    <artifactId>maven-sal-api-gen-plugin</artifactId>
                                    <version>7.0.13</version>
                                    <type>jar</type>
                                </dependency>
                            </dependencies>
                            <executions>
                                <execution>
                                    <id>binding</id>
                                    <goals>
                                        <goal>generate-sources</goal>
                                    </goals>
                                    <configuration>
                                        <codeGenerators>
                                            <generator>
                                                <codeGeneratorClass>org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl</codeGeneratorClass>
                                                <outputBaseDir>${salGeneratorPath}</outputBaseDir>
                                                <resourceBaseDir>${project.build.directory}/generated-sources/spi</resourceBaseDir>
                                            </generator>
                                        </codeGenerators>
                                        <inspectDependencies>true</inspectDependencies>
                                    </configuration>
                                </execution>
                            </executions>
                        </plugin>
                        <plugin>
                            <artifactId>maven-clean-plugin</artifactId>
                            <configuration>
                                <filesets>
                                    <fileset>
                                        <directory>${salGeneratorPath}</directory>
                                        <includes>
                                            <include>**</include>
                                        </includes>
                                    </fileset>
                                </filesets>
                            </configuration>
                        </plugin>
                        <plugin>
                            <groupId>org.codehaus.mojo</groupId>
                            <artifactId>build-helper-maven-plugin</artifactId>
                            <executions>
                                <execution>
                                    <id>add-yang-sources</id>
                                    <phase>generate-sources</phase>
                                    <goals>
                                        <goal>add-source</goal>
                                    </goals>
                                    <configuration>
                                        <sources>
                                            <source>${salGeneratorPath}</source>
                                        </sources>
                                    </configuration>
                                </execution>
                            </executions>
                        </plugin>

                        <!-- This has to match the definition in odlparent and exists only
                             because for some reason PMD does not understand wildcards. -->
                        <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-pmd-plugin</artifactId>
                            <executions>
                                <execution>
                                    <id>cpd</id>
                                    <phase>process-sources</phase>
                                    <goals>
                                        <goal>cpd-check</goal>
                                    </goals>
                                    <configuration>
                                        <excludeRoots>
                                            <excludeRoot>${salGeneratorPath}</excludeRoot>
                                        </excludeRoots>
                                    </configuration>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.opendaylight.yangtools</groupId>
                        <artifactId>yang-maven-plugin</artifactId>
                    </plugin>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>build-helper-maven-plugin</artifactId>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
