<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>
    <packaging>jar</packaging>
    <artifactId>brooklyn-example-hadoop-and-whirr</artifactId>
    <name>Brooklyn Hadoop and Whirr Example</name>

    <parent>
        <groupId>io.brooklyn.example</groupId>
        <artifactId>brooklyn-examples-parent</artifactId>
        <version>0.4.0</version>   <!-- BROOKLYN_VERSION -->
        <relativePath>../pom.xml</relativePath>
    </parent>

    <dependencies>
        <dependency>
            <groupId>io.brooklyn</groupId>
            <artifactId>brooklyn-all</artifactId>
            <version>${project.version}</version>
            <classifier>with-dependencies</classifier>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-dependency-plugin</artifactId>
                <!-- copy the WAR so it is available on the classpath for programmatic deployment -->
                <executions>
                    <execution>
                        <id>copy</id>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <!-- these can fail in eclipse trying to copy _from_ target/classes.
                                         see http://jira.codehaus.org/browse/MDEP-259 -->
                                <artifactItem>
                                    <groupId>${project.groupId}</groupId>
                                    <artifactId>brooklyn-example-hello-world-hadoop-webapp</artifactId>
                                    <version>${project.version}</version>
                                    <type>war</type>
                                    <overWrite>true</overWrite>
                                    <outputDirectory>target/classes</outputDirectory>
                                    <destFileName>hello-world-hadoop-webapp.war</destFileName>
                                </artifactItem>
                            </artifactItems>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <artifactId>maven-clean-plugin</artifactId>
                <configuration>
                    <filesets>
                        <fileset>
                            <directory>${project.basedir}</directory>
							<includes>
                                <include>${project.artifactId}/</include>
                                <include>brooklyn*.log</include>
                                <include>brooklyn*.log.*</include>
                                <include>stacktrace.log</include>
                            </includes>
                        </fileset>
                    </filesets>
                </configuration>
            </plugin>            
        </plugins>
    </build>
    
</project>
