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