<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/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <groupId>org.glyptodon.guacamole</groupId>
    <artifactId>guacamole</artifactId>
    <packaging>war</packaging>
    <version>0.8.3</version>
    <name>guacamole</name>
    <url>http://guac-dev.org/</url>

    <description>
        The Guacamole web application, providing authentication and an HTML5
        remote desktop client.
    </description>

    <!-- All applicable licenses -->
    <licenses>
        <license>
            <name>GNU Affero General Public License</name>
            <url>http://www.gnu.org/licenses/agpl-3.0.html</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <!-- Git repository -->
    <scm>
        <url>https://github.com/glyptodon/guacamole-client</url>
        <connection>scm:git:git://github.com/glyptodon/guacamole-client.git</connection>
    </scm>

    <!-- Developers -->
    <developers>
        <developer>
            <id>mike.jumper</id>
            <name>Michael Jumper</name>
            <email>mike.jumper@guac-dev.org</email>
        </developer>
        <developer>
            <id>james.muehlner</id>
            <name>James Muehlner</name>
            <email>james.muehlner@guac-dev.org</email>
        </developer>
    </developers>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <build>
        <plugins>

            <!-- Written for 1.6 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>

                    <!-- Filter webapp dir --> 
                    <webResources>
                        <resource>
                            <directory>src/main/webapp</directory>
                            <filtering>true</filtering>
                        </resource>
                    </webResources>
                    
                    <!-- Add files from guacamole-common-js -->
                    <overlays>
                        <overlay>
                            <groupId>org.glyptodon.guacamole</groupId>
                            <artifactId>guacamole-common-js</artifactId>
                            <type>zip</type>
                        </overlay>
                    </overlays>
                    
                </configuration>
            </plugin>

        </plugins>
    </build>

    <dependencies>

        <!-- Java servlet API -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>

        <!-- SLF4J - logging -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.6.1</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-jcl</artifactId>
            <version>1.6.1</version>
            <scope>runtime</scope>
        </dependency>

        <!-- Guacamole Java API -->
        <dependency>
            <groupId>org.glyptodon.guacamole</groupId>
            <artifactId>guacamole-common</artifactId>
            <version>0.8.0</version>
        </dependency>

        <!-- Guacamole Extension API -->
        <dependency>
            <groupId>org.glyptodon.guacamole</groupId>
            <artifactId>guacamole-ext</artifactId>
            <version>0.8.1</version>
        </dependency>

        <!-- Guacamole JavaScript API -->
        <dependency>
            <groupId>org.glyptodon.guacamole</groupId>
            <artifactId>guacamole-common-js</artifactId>
            <version>0.7.4</version>
            <type>zip</type>
            <scope>runtime</scope>
        </dependency>

    </dependencies>

</project>
