<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
         xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.openecomp.appc</groupId>
        <artifactId>appc-sequence-generator</artifactId>
        <version>1.1.0-SNAPSHOT</version>
    </parent>
    <artifactId>appc-sequence-generator-bundle</artifactId>
    <name>appc-sequence-generator-bundle</name>
    <packaging>bundle</packaging>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>${bundle.plugin.version}</version>
                <extensions>true</extensions>
                <configuration>
                    <instructions>
                        <Bundle-SymbolicName>appc-sequence-generator-bundle</Bundle-SymbolicName>
                        <!--                        <Bundle-Activator>org.openecomp.appc.seqgen.SequenceGeneratorActivator</Bundle-Activator>-->
                        <Export-Package>org.openecomp.appc.seqgen.*</Export-Package>
                        <Import-Package>org.openecomp.appc.domainmodel.lcm,*;resolution:=optional</Import-Package>
                        <DynamicImport-Package>*</DynamicImport-Package>
                        <Embed-Transitive>true</Embed-Transitive>
                    </instructions>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.opendaylight.yangtools</groupId>
                <artifactId>yang-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>config</id>
                        <goals>
                            <goal>generate-sources</goal>
                        </goals>
                        <configuration>
                            <codeGenerators>
                                <generator>
                                    <codeGeneratorClass>
                                        org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
                                    </codeGeneratorClass>
                                    <outputBaseDir>${jmxGeneratorPath}</outputBaseDir>
                                    <additionalConfiguration>
                                        <namespaceToPackage1>
                                            urn:opendaylight:params:xml:ns:yang:controller==org.opendaylight.controller.config.yang
                                        </namespaceToPackage1>
                                    </additionalConfiguration>
                                </generator>
                                <generator>
                                    <codeGeneratorClass>
                                        org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
                                    </codeGeneratorClass>
                                    <outputBaseDir>${salGeneratorPath}</outputBaseDir>
                                </generator>
                            </codeGenerators>
                            <inspectDependencies>true</inspectDependencies>
                        </configuration>
                    </execution>
                </executions>
                <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>
                    <dependency>
                        <groupId>org.opendaylight.controller</groupId>
                        <artifactId>yang-jmx-generator-plugin</artifactId>
                        <version>${odl.yang.jmx.generator.version}</version>
                    </dependency>
                </dependencies>
            </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}/classes/initial/appc-sequence-generator.xml</file>
                                    <type>xml</type>
                                    <classifier>config</classifier>
                                </artifact>
                            </artifacts>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.opendaylight.controller</groupId>
            <artifactId>config-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.opendaylight.controller</groupId>
            <artifactId>sal-binding-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.opendaylight.controller</groupId>
            <artifactId>sal-binding-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.opendaylight.controller</groupId>
            <artifactId>sal-common-util</artifactId>
        </dependency>
        <dependency>
            <artifactId>sal-test-model</artifactId>
            <groupId>org.opendaylight.controller</groupId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <artifactId>sal-rest-connector</artifactId>
            <groupId>org.opendaylight.netconf</groupId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.opendaylight.controller</groupId>
            <artifactId>sal-binding-broker-impl</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.opendaylight.controller</groupId>
            <artifactId>sal-binding-broker-impl</artifactId>
            <classifier>tests</classifier>
            <version>${odl.mdsal.version}</version>
            <type>test-jar</type>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.openecomp.appc</groupId>
            <artifactId>appc-dg-dependency-model</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-core</artifactId>
        </dependency>
        <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-databind</artifactId>
        </dependency>
        <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-annotations</artifactId>
        </dependency>
        <dependency>
            <groupId>org.openecomp.sdnc.core</groupId>
            <artifactId>sli-common</artifactId>
        </dependency>
        <dependency>
            <groupId>org.openecomp.sdnc.core</groupId>
            <artifactId>sli-provider</artifactId>
        </dependency>
        <dependency>
            <groupId>org.openecomp.appc</groupId>
            <artifactId>appc-dg-domain-model-lib</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openecomp.appc</groupId>
            <artifactId>domain-model-lib</artifactId>
            <version>${project.version}</version>
        </dependency>

        <dependency>
            <groupId>org.openecomp.appc</groupId>
            <artifactId>appc-sequence-generator-model</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>

</project>
