<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>extscript-examples</artifactId>
    <packaging>pom</packaging>
    <name>Examples Submodule</name>
    <version>1.0.3-SNAPSHOT</version>

    <description>
        Examples Meta Project, see the subprojects
        for starting various parts of ext-scripting
    </description>

    <parent>
        <groupId>org.apache.myfaces.extensions.scripting</groupId>
        <artifactId>extscript-root</artifactId>
        <version>1.0.3-SNAPSHOT</version>
    </parent>

    <scm>
        <connection>scm:svn:http://svn.apache.org/repos/asf/myfaces/extensions/scripting/trunk/extscript-examples
        </connection>
        <developerConnection>
            scm:svn:https://svn.apache.org/repos/asf/myfaces/extensions/scripting/trunk/extscript-examples
        </developerConnection>
        <url>http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/extscript-examples</url>
    </scm>


    <build>
        <plugins>
            <plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>maven-jetty-plugin</artifactId>
                <version>6.1.12</version>
                <configuration>
                    <connectors>
                        <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                            <port>9090</port>
                            <maxIdleTime>60000</maxIdleTime>
                        </connector>
                    </connectors>
                    <scanIntervalSeconds>1</scanIntervalSeconds>

                </configuration>
            </plugin>
            <!-- tomcat plugin as alternative testing ground -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>tomcat-maven-plugin</artifactId>
                <version>1.0</version>
            </plugin>



        </plugins>
    </build>
    <modules>
        <module>myfaces12-example</module>
        <module>myfaces20-example</module>
        <module>myfaces20-extscript-helloworld</module>
        <!--
        <module>spring-example</module>
        -->
    </modules>


    <profiles>
        <!--
             This profile is started with -D development and fetches in a secondary
             web.xml which is used internally for development purposes
         -->
        <profile>
            <id>development</id>

            <properties>
                <maven.war.webxml>${basedir}/src/main/conf/dev/web.xml</maven.war.webxml>
            </properties>
        </profile>
    </profiles>

</project>
