<?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>

    <groupId>com.example</groupId>
    <version>1.0-SNAPSHOT</version>
    <artifactId>sales-demo</artifactId>
    <packaging>jar</packaging>

    <!-- change these to the appropriate values -->
    <name>sales-demo</name>
    <description>Applications to showcase a use case</description>

    <properties>
        <!-- change this if you desire to use a different version of Apex Core -->
        <apex.version>3.4.0</apex.version>
        <apex.apppackage.classpath>lib/*.jar</apex.apppackage.classpath>
        <malhar.version>3.4.0</malhar.version>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
                <version>2.9</version>
                <configuration>
                    <downloadSources>true</downloadSources>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <source>1.7</source>
                    <target>1.7</target>
                    <debug>true</debug>
                    <optimize>false</optimize>
                    <showDeprecation>true</showDeprecation>
                    <showWarnings>true</showWarnings>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.8</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>target/deps</outputDirectory>
                            <includeScope>runtime</includeScope>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <executions>
                    <execution>
                        <id>app-package-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <configuration>
                            <finalName>${project.artifactId}-${project.version}-apexapp</finalName>
                            <appendAssemblyId>false</appendAssemblyId>
                            <descriptors>
                                <descriptor>src/assemble/appPackage.xml</descriptor>
                            </descriptors>
                            <archiverConfig>
                                <defaultDirectoryMode>0755</defaultDirectoryMode>
                            </archiverConfig>
                            <archive>
                                <manifestEntries>
                                    <Class-Path>${apex.apppackage.classpath}</Class-Path>
                                    <DT-Engine-Version>${apex.version}</DT-Engine-Version>
                                    <DT-App-Package-Group-Id>${project.groupId}</DT-App-Package-Group-Id>
                                    <DT-App-Package-Name>${project.artifactId}</DT-App-Package-Name>
                                    <DT-App-Package-Version>${project.version}</DT-App-Package-Version>
                                    <DT-App-Package-Display-Name>${project.name}</DT-App-Package-Display-Name>
                                    <DT-App-Package-Description>${project.description}</DT-App-Package-Description>
                                </manifestEntries>
                            </archive>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.7</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <configuration>
                            <target>
                                <move file="${project.build.directory}/${project.artifactId}-${project.version}-apexapp.jar"
                                      tofile="${project.build.directory}/${project.artifactId}-${project.version}.apa" />
                            </target>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                    <execution>
                        <!-- create resource directory for xml javadoc-->
                        <id>createJavadocDirectory</id>
                        <phase>generate-resources</phase>
                        <configuration>
                            <tasks>
                                <delete dir="${project.build.directory}/generated-resources/xml-javadoc"/>
                                <mkdir dir="${project.build.directory}/generated-resources/xml-javadoc"/>
                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>1.9.1</version>
                <executions>
                    <execution>
                        <id>attach-artifacts</id>
                        <phase>package</phase>
                        <goals>
                            <goal>attach-artifact</goal>
                        </goals>
                        <configuration>
                            <artifacts>
                                <artifact>
                                    <file>target/${project.artifactId}-${project.version}.apa</file>
                                    <type>apa</type>
                                </artifact>
                            </artifacts>
                            <skipAttach>false</skipAttach>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <!-- generate javdoc -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <executions>
                    <!-- generate xml javadoc -->
                    <execution>
                        <id>xml-doclet</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>javadoc</goal>
                        </goals>
                        <configuration>
                            <doclet>com.github.markusbernhardt.xmldoclet.XmlDoclet</doclet>
                            <additionalparam>-d ${project.build.directory}/generated-resources/xml-javadoc -filename ${project.artifactId}-${project.version}-javadoc.xml</additionalparam>
                            <useStandardDocletOptions>false</useStandardDocletOptions>
                            <docletArtifact>
                                <groupId>com.github.markusbernhardt</groupId>
                                <artifactId>xml-doclet</artifactId>
                                <version>1.0.4</version>
                            </docletArtifact>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <!-- Transform xml javadoc to stripped down version containing only class/interface comments and tags-->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>xml-maven-plugin</artifactId>
                <version>1.0</version>
                <executions>
                    <execution>
                        <id>transform-xmljavadoc</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>transform</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <transformationSets>
                        <transformationSet>
                            <dir>${project.build.directory}/generated-resources/xml-javadoc</dir>
                            <includes>
                                <include>${pmalhar.versioroject.artifactId}-${project.version}-javadoc.xml</include>
                            </includes>
                            <stylesheet>XmlJavadocCommentsExtractor.xsl</stylesheet>
                            <outputDir>${project.build.directory}/generated-resources/xml-javadoc</outputDir>
                        </transformationSet>
                    </transformationSets>
                </configuration>
            </plugin>
            <!-- copy xml javadoc to class jar -->
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <phase>process-resources</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${basedir}/target/classes</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>${project.build.directory}/generated-resources/xml-javadoc</directory>
                                    <includes>
                                        <include>${project.artifactId}-${project.version}-javadoc.xml</include>
                                    </includes>
                                    <filtering>true</filtering>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

        </plugins>

    </build>

    <dependencies>
        <!-- add your dependencies here -->
        <dependency>
            <groupId>org.apache.apex</groupId>
            <artifactId>malhar-library</artifactId>
            <version>${malhar.version}</version>
            <!--
                 If you know that your application does not need transitive dependencies pulled in by malhar-library,
                 uncomment the following to reduce the size of your app package.
            -->
            <!--
            <exclusions>
              <exclusion>
                <groupId>*</groupId>
                <artifactId>*</artifactId>
              </exclusion>
            </exclusions>
            -->
        </dependency>
        <dependency>
            <groupId>org.apache.apex</groupId>
            <artifactId>malhar-contrib</artifactId>
            <version>${malhar.version}</version>
        </dependency>
        
        <dependency>
            <groupId>org.apache.apex</groupId>
            <artifactId>apex-common</artifactId>
            <version>${apex.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.apex</groupId>
            <artifactId>apex-engine</artifactId>
            <version>${apex.version}</version>
            <scope>test</scope>
        </dependency>

       
    </dependencies>

</project>
