<?xml version="1.0" encoding="UTF-8"?>

<!-- This is the project descriptor for the examples of my components -->

<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>
    <artifactId>${artifactId}-examples</artifactId>
    <packaging>war</packaging>
    <name>My Components Examples</name>

    <parent>
        <groupId>${groupId}</groupId>
        <artifactId>${artifactId}-project</artifactId>
        <version>${version}</version>
    </parent>

    <properties>
        <jsf-myfaces.version>1.2.7</jsf-myfaces.version>
        <jsf-ri.version>1.2_13</jsf-ri.version>        
        <maven.jetty.plugin.version>6.1.16</maven.jetty.plugin.version>
        <log4j.version>1.2.13</log4j.version>
    </properties>
    
    <dependencies>
           <dependency>
               <groupId>${groupId}</groupId>
               <artifactId>${artifactId}-core</artifactId>
               <version>${project.version}</version>
           </dependency>
           <dependency>
               <groupId>commons-logging</groupId>
               <artifactId>commons-logging</artifactId>
               <version>1.1.1</version>
               <scope>compile</scope>
           </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jstl</artifactId>
                <version>1.2</version>
                <scope>runtime</scope>
            </dependency>           
           
       </dependencies>

    <repositories>
        <!-- Repository for jstl 1.2 -->
        <repository>
            <id>java.net</id>
            <url>http://download.java.net/maven/1</url>
            <layout>legacy</layout>
        </repository> 
    </repositories>

    <profiles>
        <!-- By default the war examples use myfaces! :) -->
        <profile>
            <id>myfaces</id>
            <activation>
                <property>
                    <name>!jsf</name>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.apache.myfaces.core</groupId>
                    <artifactId>myfaces-api</artifactId>
                    <version>${jsf-myfaces.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.myfaces.core</groupId>
                    <artifactId>myfaces-impl</artifactId>
                    <version>${jsf-myfaces.version}</version>
                    <!-- Sandbox examples must only have runtime dependency to myfaces-impl
                 so that it will be automatically added to war. But there must not be
                 any compile dependency on impl so that is is always possible to use
                 other JSF implementations. -->
                    <scope>runtime</scope>
                </dependency>
            </dependencies>

            <properties>
                <jsf_implementation>MyFaces</jsf_implementation>
            </properties>
        </profile>

        <!-- To use the examples using the Sun's JSF Reference Implementation: -Djsf=ri -->
        <profile>
            <id>jsfri</id>
            <activation>
                <property>
                    <name>jsf</name>
                    <value>ri</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>javax.faces</groupId>
                    <artifactId>jsf-api</artifactId>
                    <version>${jsf-ri.version}</version>
                </dependency>
                <dependency>
                    <groupId>javax.faces</groupId>
                    <artifactId>jsf-impl</artifactId>
                    <version>${jsf-ri.version}</version>
                    <scope>runtime</scope>
                </dependency>
            </dependencies>

            <repositories>
                <repository>
                    <id>java.net</id>
                    <name>java.net Maven 1 Repository</name>
                    <url>https://maven-repository.dev.java.net/nonav/repository</url>
                    <layout>legacy</layout>
                </repository>
            </repositories>

            <properties>
                <jsf_implementation>JSF-RI</jsf_implementation>
            </properties>
        </profile>
        <profile>
            <!-- Debug profile for myfaces and jetty.
                It allows to see debug messages using -PjettyConfig -->
            <id>jettyConfig</id>
            <build>
                <resources>
                    <resource>
                        <directory>src/main/resources</directory>
                    </resource>
                    <resource>
                        <directory>src/main/log4j</directory>
                    </resource>
                </resources>
                <plugins>
                    <plugin>
                        <!--This plugin allows to run the example using mvn jetty:run -->
                        <groupId>org.mortbay.jetty</groupId>
                        <artifactId>maven-jetty-plugin</artifactId>
                        <version>${maven.jetty.plugin.version}</version>
                        <configuration>
                            <scanIntervalSeconds>10</scanIntervalSeconds>
                            <systemProperties>
                                <systemProperty>
                                    <name>org.apache.commons.logging.Log</name>
                                    <value>org.apache.commons.logging.impl.Log4JLogger</value>
                                </systemProperty>
                            </systemProperties>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
            <dependencies>
                <dependency>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                    <version>${log4j.version}</version>
                    <type>jar</type>
                </dependency>
            </dependencies>
        </profile>
    </profiles>

    <build>
        <finalName>${artifactId}</finalName>
        <plugins>
            <plugin>
                <!--This plugin allows to run the example using mvn jetty:run -->
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>maven-jetty-plugin</artifactId>
                <version>${maven.jetty.plugin.version}</version>
                <configuration>
                    <scanIntervalSeconds>10</scanIntervalSeconds>
                </configuration>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
</project>
